软件名:开心一起上
壳:UPX 0.89.6 - 1.02 / 1.05 - 1.24 (Delphi) stub -> Markus & Laszlo
用esp定律,脱壳后查出。软件用 Borland Delphi 6.0 - 7.0 写的
然后用DEDE查按钮事件。
查出“登录”按钮事件是从
004C2BD8 . 53 push ebx
004C2BD9 . 8BD8 mov ebx,eax
004C2BDB . 33D2 xor edx,edx
004C2BDD . 8B83 50030000 mov eax,dword ptr ds:[ebx+350]
004C2BE3 . 8B08 mov ecx,dword ptr ds:[eax]
004C2BE5 . FF51 64 call dword ptr ds:[ecx+64]
004C2BE8 . BA 0C2C4C00 mov edx,1.004C2C0C ; ASCII "blacknull"
004C2BED . 8BC3 mov eax,ebx
004C2BEF . E8 A4B0FFFF call 1.004BDC98 ; (出现错误提示,F7跟进)
004C2BF4 . B2 01 mov dl,1
开始的。F7跟进 004C2BEF 以后。在F8跟着,来到
004BE040 . 85DB test ebx,ebx
004BE042 . 7C 57 jl short 1.004BE09B (可以跳过下面的错误提示,但没有用,不是关键跳。)
004BE044 . 43 inc ebx
004BE045 . 33F6 xor esi,esi
004BE047 > 8B45 FC mov eax,dword ptr ss:[ebp-4]
004BE04A . 8B80 BC050000 mov eax,dword ptr ds:[eax+5BC]
004BE050 . 48 dec eax
004BE051 . 3BF0 cmp esi,eax
004BE053 . 75 0A jnz short 1.004BE05F
004BE055 . 8B45 FC mov eax,dword ptr ss:[ebp-4]
004BE058 . C680 1C060000>mov byte ptr ds:[eax+61C],1
004BE05F > 8B55 F8 mov edx,dword ptr ss:[ebp-8]
004BE062 . 8B45 FC mov eax,dword ptr ss:[ebp-4]
004BE065 . E8 FA090000 call 1.004BEA64 ; (又出现错误提示。F7跟进)
004BE06A . 83F8 03 cmp eax,3
跟进以后,就来到一个 两JMP循环的地方。我在第二个JMP下F2断点。按了F9快10分钟了。都没有跳过循环(郁闷)…………
004BE7B2 . 033424 add esi,dword ptr ss:[esp]
004BE7B5 > 8A16 mov dl,byte ptr ds:[esi] (前面的几个JMP都跳到这。)
004BE7B7 . 28DA sub dl,bl
004BE7B9 . 80F2 47 xor dl,47
004BE7BC . C0C2 06 rol dl,6
004BE7BF . F6DA neg dl
004BE7C1 . F6D2 not dl
004BE7C3 . 83C6 01 add esi,1
004BE7C6 . 28D3 sub bl,dl
004BE7C8 . 0FB6C2 movzx eax,dl
004BE7CB . 8D0C85 9CEA4B>lea ecx,dword ptr ds:[eax*4+4BEA9C]
004BE7D2 . FF21 jmp dword ptr ds:[ecx] ; 关键跳(这个跳又跳到前面去了。。)
004BE7D4 . 66:5A pop dx
这个循环我跟了快10分钟,还没有跳出。我郁闷了………………
到底怎么跟下去??谢谢
软件下载地址
http://www.ipk.cn/soft/16879.htm
http://dx1.ipk.cn//2009/06/20/kx173V1.20.exe
大家瞅瞅吧。一个1点多M的东西。
没有游戏的朋友们,
可以把
004BDE13 > \0F84 86000000 je 1.004BDE9F ; tiao
的je改成JMP。。
这样就方便调试了。
没有游戏的也可以调试了。
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)