本帖最后由 ximo 于 2014-10-25 23:21 编辑
(⊙o⊙)…,这个cm说难不难,说易不易。
算法用的都是公开的大型密码学算法,懂的人是可以非常快的keygen出来的。
于是,我非常机智的进行爆破了。
软件启动需要命令行参数 CrackMe.exe,否则调试起来有点难的。
软件启动时从外部读入一个key,然后对key进行判断。可以使用GetPrivateProfile断点进行切入。
具体的算法就是对Name加密,然后利用DES一类的算法解码加密结果,最终解码到Name的话就是成功了,比较的关键是一个E_strcmp
[Asm] 纯文本查看 复制代码 004017FE |. 50 PUSH EAX
004017FF |. FF75 F0 PUSH [LOCAL.4]
00401802 |. E8 4BFAFFFF CALL <CrackMe.E_strcmp> ; 与名字比较
00401807 |. 83C4 08 ADD ESP, 0x8
0040180A 83F8 00 CMP EAX, 0x0
0040180D |. B8 00000000 MOV EAX, 0x0
00401812 |. 0F94C0 SETE AL
修改为:
[Asm] 纯文本查看 复制代码 004017FE |. 50 PUSH EAX
004017FF |. FF75 F0 PUSH [LOCAL.4]
00401802 |. E8 4BFAFFFF CALL <CrackMe.E_strcmp> ; 与名字比较
00401807 |. 83C4 08 ADD ESP, 0x8
0040180A 33C0 XOR EAX, EAX
0040180C 90 NOP
0040180D |. B8 00000000 MOV EAX, 0x0
00401812 |. 0F94C0 SETE AL
00401815 |. 8945 E8 MOV [LOCAL.6], EAX
这样就成功了。。。
|