CrackMe07

CrackMe07

 

 常规分析  用户名不能小于4

CrackMe07

 

 CrackMe07

 

 

计算的是用户名的第一位和最后一位的乘积,然后再乘以一个固定的 值。外层循环变换用户名最后一位,每次往前移动一位。内层循环变换用户名第一位,每次往后移动一位。接着将结 果保存到eax。

CrackMe07

 

 CrackMe07

 

密码换成16进制储存

接着将eax对0xA2C2A取模,记为结果1,然后将输入的密码除以0x59加上密码模以0x50再加1的值,记为结果2。然 后比较结果1和结果2是否相等。相等则返回1,消失按钮。不相等则返回0。 这里发现在输入错误得不是数字得密码 会返回那个固定得值 CrackMe07

 

 长度不能小于5

CrackMe07

 

这里如果是17倍数 累加值就是 37b+x*5 x=输入值

CrackMe07

 0x579

核心就是算法逆向 ebx = (0x50 - ((eax - 1) * 0x59 % 0x50)) + (eax - 1) * 0x59;   就是输入结果  
上一篇:创建型模式之工厂方法模式实例及代码操作


下一篇:inversify 强大&&轻量级的基于typescript 的ioc 框架