先找到对狗进行操作的CALL,相关方法请看我原来写在坛子里的东西
CALL 0040B9E0
到0040B9E0看看,有点晕,74次调用
看来还是想办法软复制它吧
看来看去,静态找不到功能号为1的CALL,即找狗的CALL,因为我想得到它的口令,去读原狗的数据:) 怎么办呢?
想到它要操作狗,第一个CALL一定是找狗,那么我就先在0040B9E0下断,第一次中断后F8单步至返回,来到这里
004047AE |> 66:8B15 FE1741>MOV DX,WORD PTR DS:[4117FE]
004047B5 |. 8B0D 04184100 MOV ECX,DWORD PTR DS:[411804]
004047BB |. 66:895424 14 MOV WORD PTR SS:[ESP+14],DX
004047C0 |. 8B15 10184100 MOV EDX,DWORD PTR DS:[411810]
004047C6 |. 894C24 1C MOV DWORD PTR SS:[ESP+1C],ECX
004047CA |. 66:8B0D 261841>MOV CX,WORD PTR DS:[411826]
004047D1 |. 895424 24 MOV DWORD PTR SS:[ESP+24],EDX
004047D5 |. 8D9424 D400000>LEA EDX,DWORD PTR SS:[ESP+D4]
004047DC |. 66:894C24 12 MOV WORD PTR SS:[ESP+12],CX
004047E1 |. 52 PUSH EDX buff
004047E2 |. 8D4C24 16 LEA ECX,DWORD PTR SS:[ESP+16]
004047E6 |. 8D5424 28 LEA EDX,DWORD PTR SS:[ESP+28]
004047EA |. 51 PUSH ECX pass4
004047EB |. 52 PUSH EDX pass3
004047EC |. 8D4C24 28 LEA ECX,DWORD PTR SS:[ESP+28]
004047F0 |. 8D5424 20 LEA EDX,DWORD PTR SS:[ESP+20]
004047F4 |. 51 PUSH ECX pass2
004047F5 |. 52 PUSH EDX pass1
004047F6 |. 8D4C24 34 LEA ECX,DWORD PTR SS:[ESP+34]
004047FA |. 8D5424 3C LEA EDX,DWORD PTR SS:[ESP+3C]
004047FE |. 51 PUSH ECX lp2
004047FF |. 52 PUSH EDX lp1
00404800 |. 53 PUSH EBX handle
00404801 |. 50 PUSH EAX Function
00404802 |. E8 D9710000 CALL Hard.0040B9E0 这就是找狗的CALL
在004047E1处中断(原因是,ROCKEY()的参数为9个,而这个地方就是第9个参数,即buff,那么004047EA,004047EB,004047F4,004047F5,004047FE,004047FF,00404800,00404801就分别是口令4,口令3,口令2,口令1,LP2,LP1,句柄,功能号了:)
通过静态分别其它功能号知道海地在运行时还会写狗,那么,全部口令就可跟踪得到了:) 分别如下:80EF 43B3 8038 437C
腿上打石膏,呆在床上一个月实在是无聊,哪位朋友介绍一本比较好的DELPHI学习的书(我可是完全不懂),最好给出完整的书名和出版社名称,感谢[CODE]
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)