首页
社区
课程
招聘
[求助]为什么非要在call里面修改寄存器eax的值
发表于: 2012-10-2 13:23 5491

[求助]为什么非要在call里面修改寄存器eax的值

2012-10-2 13:23
5491
swrecorder_ent.part1.rar

swrecorder_ent.part2.rar

swrecorder_ent.part3.rar



005A10D2  |.  E8 CDB9FFFF   call recorder.0059CAA4  //这里是关键call,进到这个call里面就可以MOV eax,1爆破程序,
005A10D7  |.  84C0          test al,al
005A10D9  |.  0F84 BD000000 je recorder.005A119C//但是把这个je改成jnz就不可以爆破,我想知道是为什么,还有直接把005A10D2 这一句改成MOV eax,1也不可以,请高手告诉我进call里爆破的原理
005A10DF  |.  A1 14DA6100   mov eax,dword ptr ds:[0x61DA14]
005A10E4  |.  8B00          mov eax,dword ptr ds:[eax]
005A10E6  |.  8B88 90030000 mov ecx,dword ptr ds:[eax+0x390]
005A10EC  |.  B2 01         mov dl,0x1
005A10EE  |.  A1 F0DF4400   mov eax,dword ptr ds:[0x44DFF0]
005A10F3  |.  E8 ACD2EAFF   call recorder.0044E3A4
005A10F8  |.  8BD8          mov ebx,eax
005A10FA  |.  8B45 F8       mov eax,[local.2]
005A10FD  |.  50            push eax
005A10FE  |.  B9 EC135A00   mov ecx,recorder.005A13EC                ;  UNICODE "username"
005A1103  |.  BA 0C145A00   mov edx,recorder.005A140C                ;  UNICODE "user_info"
005A1108  |.  8BC3          mov eax,ebx

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 1632
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
因为0059CAA4被多次调用。
2012-10-2 13:30
0
雪    币: 468
活跃值: (52)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
使用IDA,xref to查看59caa4,可以看到很多的call 59caa4,所以很多地方的call都需要修改,不如直接修改59caa4子程序。
2012-10-2 14:16
0
雪    币: 59
活跃值: (1486)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
楼上和楼上的楼上 正解。0059CAA4是个函数,这个函数可能会被调用多次,为了防止暗桩,或者多次校验,自然最优的修改方法是在0059CAA4里面修改
2012-10-2 14:20
0
雪    币: 468
活跃值: (52)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
.text:0059B56F                 mov     eax, [ebp+var_1C]
.text:0059B572                 push    eax
.text:0059B573                 lea     eax, [ebp+var_20]
.text:0059B576                 mov     edx, [ebp+var_8]
.text:0059B579                 mov     ecx, 0
.text:0059B57E                 call    sub_406F48
.text:0059B583                 mov     edx, [ebp+var_20]
.text:0059B586                 mov     eax, off_61DA14
.text:0059B58B                 mov     eax, [eax]
.text:0059B58D                 pop     ecx

//你看这个地方也有59caa4
.text:0059B58E                 call    sub_59CAA4
.text:0059B593                 test    al, al
.text:0059B595                 jz      loc_59B64C

.text:0059B59B                 mov     eax, off_61DA14
.text:0059B5A0                 mov     eax, [eax]
.text:0059B5A2                 mov     ecx, [eax+390h]
.text:0059B5A8                 mov     dl, 1
.text:0059B5AA                 mov     eax, ds:off_44DFF0
..........

.text:0059D1D9                 push    eax
.text:0059D1DA                 lea     eax, [ebp+var_20]
.text:0059D1DD                 mov     edx, [ebp+var_4]
.text:0059D1E0                 mov     ecx, 0
.text:0059D1E5                 call    sub_406F48
.text:0059D1EA                 mov     edx, [ebp+var_20]
.text:0059D1ED                 mov     eax, esi
.text:0059D1EF                 pop     ecx
//此处地址,call 59CAA4
.text:0059D1F0                 call    sub_59CAA4
.text:0059D1F5                 test    al, al
.text:0059D1F7                 jz      short loc_59D1FD

.text:0059D1F9                 mov     bl, 1
.text:0059D1FB                 jmp     short loc_59D271

加上楼主找到的一处,总共有3处call 59caa4
2012-10-2 15:03
0
雪    币: 468
活跃值: (52)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
5a10d9写入6个90h(nop),59b595写入6个90h(nop),59d1f7写入2个90h(nop),已经爆破,可以录制超过2分钟的声音。
2012-10-2 15:33
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
哇塞,终于搞明白其中的道理了,原来有3个call调用这句啊!
谢谢大家了,祝大家国庆节快乐
2012-10-2 21:42
0
游客
登录 | 注册 方可回帖
返回
//