首页
社区
课程
招聘
[求助]修改代码跳转到我的函数,但是怎么跳转回去呢?
发表于: 2007-6-23 22:17 4630

[求助]修改代码跳转到我的函数,但是怎么跳转回去呢?

2007-6-23 22:17
4630
DLL已经注入,并且能够成功跳转到我的函数,但怎么从我的函数再跳转回去呢?

004023EB   .  894424 04     mov     [esp+4], eax                     ;  改这里
004023EF   .  C70424 70C341>mov     dword ptr [esp], 0041C370
004023F6   .  E8 751A0000   call    00403E70

上面是程序原来的执行顺序,经过注入修改代码,变成了
004023EB    90                nop
004023EC    90                nop
004023ED    90                nop
004023EE    90                nop
004023EF    90                nop
004023F0    90                nop
004023F1  - E9 0FECBF0F       jmp     StarterD.getIP                 ; 跳转
004023F6    E8 751A0000       call    00403E70

getIP是DLL里的函数,

EXPORT void getIP(){
//        mbox("getIP called"); //如果去掉注释,会弹出这个框

        __asm{
                add esp, 40h
                mov     [esp+4], eax                         //加上jump跳过的004023EB出代码
                mov     dword ptr [esp], 0x0041C370        //同上
                sub esp, 40h
               
        }

        然后这里怎么让他跳转到004023F6呢?
}

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 189
活跃值: (56)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
2
注入的地方用CALL替代JMP
这样返回的时候就能在堆建里找到跳过来的地址了
2007-6-24 19:50
0
游客
登录 | 注册 方可回帖
返回
//