这个CALL得到了我们要的注册码的十六进制
00575F82位置上的CALL xnview.005A2DF3则是将填入的注册码换算成十六进制。
最后
00575F87 . 8B4C24 14 MOV ECX,DWORD PTR SS:[ESP+14]
00575F8B . 83C4 0C ADD ESP,0C
00575F8E . 3BC8 CMP ECX,EAX ; 这里是真假码的十六
进制形式的对比。
00575F90 74 5D JE SHORT xnview.00575FEF ; 关键跳, 一跳就死!
------------------------------------------------------------------------
【破解总结】将你填入的姓名与一组数作一定的运算得到的结果再转化为十进制就是正确的注册码。
具体算法:
固定数值:AA 89 C4 FE 46 78 F0 D0 03 E7 F7 FD F4 E7 B9 B5 1B C9 50 73 平均分为五组。
取姓名的每一个字符的ASCII码与上面的第一组作异或运算, 结果为int1(a)
将int1(a)倒序与第二组数作异或运算, 结果为int1(a), 同样的方法再运算四次。
将int1(a)合并为四个数, 超过的依次加到前面。
……