首页
社区
课程
招聘
嵌入式汇编出错。请指教
2006-11-8 11:47 3224

嵌入式汇编出错。请指教

2006-11-8 11:47
3224
各位大大,我通过调试一使用物品的函数,当使用一个物品(ID为000006C8)
在跟踪发现有2个函数可疑。
1.
00452E5A  |.  50      push  eax     ; /Arg1= 000006C8
00452E5B  |.  8BCB    mov     ecx, ebx      ; |
00452E5D  |.  E8 EE3D0200   call   00476C50  ;
我嵌入汇编写的
    {
      DWORD _dwFunAddr=0x00476C50;
        _asm
        {
                    push 0x000006C8  //小蓝
                        mov eax ,_dwFunAddr
                        call eax
        }
    }
但出错。
对第2个可以函数
00476C6B  |.  52          push  edx     ; /Arg3 = 0860FE24
00476C6C  |.  6A 00         push    0         ; |Arg2 = 00000000
00476C6E  |.  50            push    eax      ; |Arg1 = 000006C8
00476C6F  |.  E8 0C801700   call    005EEC80       ;

我写的汇编:
{
        DWORD _dwFunAddr=0x005EEC80;
        _asm
        {
                    push 0x0860FE24
                        push 0x00000000
                        push 0x000006C8
                        mov eax ,_dwFunAddr
                        call eax

        }
}
但2个都出错。请指点一下

[培训]二进制漏洞攻防(第3期);满10人开班;模糊测试与工具使用二次开发;网络协议漏洞挖掘;Linux内核漏洞挖掘与利用;AOSP漏洞挖掘与利用;代码审计。

收藏
点赞0
打赏
分享
最新回复 (1)
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
skyhits 2006-11-9 13:16
2
0
最初由 mikydoll 发布
1.
00452E5A |. 50 push eax ; /Arg1= 000006C8
00452E5B |. 8BCB mov ecx, ebx ; |
00452E5D |. E8 EE3D0200 call 00476C50 ;


看到没有,00452E5B  |.  8BCB    mov     ecx, ebx  
这个ecx应该是这个类成员函数的this指针,你没有注意吧,这里下断,看看ecx是什么

你把这考虑进去(使用成员函数前,赋正确值给ecx)就不会出错了

第二个问题就这么一点信息 看不出来是哪里错了,可能是id会变的吧,而且
00476C6B  |.  52          push  edx     ; /Arg3 = 0860FE24
这个比较可疑,正常使用物品,这里下断,看看 0860FE24指向的是什么,比较下,不是 单纯的push 0860FE24就好的

顺便鄙视下一个潜规则:外挂问题不回答
游客
登录 | 注册 方可回帖
返回