常规分析 用户名不能小于4
计算的是用户名的第一位和最后一位的乘积,然后再乘以一个固定的 值。外层循环变换用户名最后一位,每次往前移动一位。内层循环变换用户名第一位,每次往后移动一位。接着将结 果保存到eax。
密码换成16进制储存
接着将eax对0xA2C2A取模,记为结果1,然后将输入的密码除以0x59加上密码模以0x50再加1的值,记为结果2。然 后比较结果1和结果2是否相等。相等则返回1,消失按钮。不相等则返回0。 这里发现在输入错误得不是数字得密码 会返回那个固定得值
长度不能小于5
这里如果是17倍数 累加值就是 37b+x*5 x=输入值
0x579
核心就是算法逆向 ebx = (0x50 - ((eax - 1) * 0x59 % 0x50)) + (eax - 1) * 0x59; 就是输入结果