首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

怎么拦截函数的入口参数

2012-03-14 
如何拦截函数的入口参数?我想将DLL注入到某进程中然后拦截进程里某个函数的入口参数,通过OD已经找到该函数

如何拦截函数的入口参数?
我想将DLL注入到某进程中然后拦截进程里某个函数的入口参数,通过OD已经找到该函数的地址,其汇编原型如下:

005A318B |. 6A 0A push 0A ; /Arg2 = 0000000A
005A318D |. 56 push esi ; |Arg1
005A318E |. 8B49 20 mov ecx, dword ptr [ecx+20] ; |
005A3191 |. E8 5ABCFDFF call 0057EDF0 ; \main.0057EDF0

我要将ESI的值传给我DLL里的一个过程等我处理完数据后再跳回来继续执行,请问我该怎么做?

[解决办法]
把 call 0057EDF0 中的 0057EDF0 改为你的函数指针地址,同时你的函数参数要一致啊,等你调用完成后,在你的函数中重新把参数压栈然后调用 call 0057EDF0 即可。
[解决办法]
这样做有难度吧, 函数指针地址不是固定的. 看能不能从Hook方面入手.

热点排行