[求助]我想试着破解个Borland Delphi 6.0 - 7.0写的程序,有些问题请教各位朋友。
已经解决了。通过查找函数的messagesboxA的所有调用,都下断点。
然后在弹出试用到时间的提示的时候,中断到od里面。
再一步步向上查找,最终找到了。
0054C4D5 |. E8 AEB0EBFF call <jmp.&kernel32.GetTickCount> ; [GetTickCount
0054C4DA |. 2B83 909C0000 sub eax, dword ptr [ebx+9C90]
0054C4E0 |. 0305 B8615600 add eax, dword ptr [5661B8]
0054C4E6 |. 3B83 149D0100 cmp eax, dword ptr [ebx+19D14]
0054C4EC 7F 07 jg short 0054C4F5 //这里不能跳
0054C4EE |. 3D 009F2400 cmp eax, 249F00
0054C4F3 7E 1D jle short 0054C512 //这里必须跳
0054C4F5 |> E8 66A5FEFF call 00536A60
0054C4FA |. 8BF0 mov esi, eax
0054C4FC |. 85F6 test esi, esi
0054C4FE |. 7E 12 jle short 0054C512
0054C500 |. E8 83B0EBFF call <jmp.&kernel32.GetTickCount> ; [GetTickCount
0054C505 |. 8983 909C0000 mov dword ptr [ebx+9C90], eax
0054C50B |. 33C0 xor eax, eax
0054C50D |. A3 B8615600 mov dword ptr [5661B8], eax
0054C512 |> 8BC6 mov eax, esi
0054C514 |. 5E pop esi
0054C515 |. 5B pop ebx
0054C516 \. C3 retn
最后暴力破解了。
什么时候能通过汇编看懂程序的算法就牛了。。。目前还只能暴力。。