S
springkang
Unregistered / Unconfirmed
GUEST, unregistred user!
最近跟了一个Crackme,算法基本搞懂了,在写注册机的时候,遇到一个问题,如下:
假设伪码为a,长度为j,crackme的算法为:
m:=0;
for i:=1 to jdo
begin
m:= m + m*4;
//也就是m:=m*5
m:= Ord(a)-$30 + m*2;
end;
得出的m如果等于$DDBEE106(假设是该值,其实是因机器不同而不同),则注册成功。现在的问题是,我现在已知$DDBEE106,如何逆运算得出伪码?
请高手指点,偶算法超菜。
假设伪码为a,长度为j,crackme的算法为:
m:=0;
for i:=1 to jdo
begin
m:= m + m*4;
//也就是m:=m*5
m:= Ord(a)-$30 + m*2;
end;
得出的m如果等于$DDBEE106(假设是该值,其实是因机器不同而不同),则注册成功。现在的问题是,我现在已知$DDBEE106,如何逆运算得出伪码?
请高手指点,偶算法超菜。