首页
社区
课程
招聘
[求助]请教高手HookAPI Lib 0.4要怎么使用?
发表于: 2008-3-25 17:21 4777

[求助]请教高手HookAPI Lib 0.4要怎么使用?

2008-3-25 17:21
4777
比如我要HOOK “GetSystemTime”要怎么操作?能不能针对某个进程进行HOOK?

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 7309
活跃值: (3778)
能力值: (RANK:1130 )
在线值:
发帖
回帖
粉丝
2
如果要在GetSystemTime之前执行自己的函数,那么自己的函数写成
DWORD __stdcall My_GetSystemTime(BYTE *IsCallApi ,DWORD RetAddr ,LPSYSTEMTIME lpSystemTime );

RetAddr:调用该Api函数的返回地址
IsCallApi:是否需要继续调用真实API
			TRUE表示需要继续调用API
			FALSE表示直接返回
			当*IsCallApi==FALSE的时候,整个函数的返回值会返回给调用的地方
			当*IsCallApi==TRUE的时候,整个函数的返回值会忽略掉

用 *IsCallApi = TRUE; 这样的语句



然后用 SetOnBefore("Kernel32.dll","GetSystemTime",My_GetSystemTime);
就可以了

如果要在GetSystemTime之后执行自己的函数,那么函数写成
DWORD __stdcall My_GetSystemTime(DWORD Eax ,DWORD RetAddr ,LPSYSTEMTIME lpSystemTime );

Eax		:调用该Api后的返回值
RetAddr	:调用该Api函数的返回地址
返回值:返回给调用该api后的返回值
一般情况下可以这样返回:
	return Eax;


只能针对本进程

如果要针对其他进程,可以写一个dll注入进去
2008-3-25 17:41
0
雪    币: 287
活跃值: (102)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
3
有几个小地方要修改修改
(*^__^*) 嘻嘻……
2008-3-25 18:00
0
雪    币: 217
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
还是不太明白,能给个C++的完整的例子吗?
2008-3-26 16:43
0
雪    币: 7309
活跃值: (3778)
能力值: (RANK:1130 )
在线值:
发帖
回帖
粉丝
5
源代码里面就有Hook WriteProcessMemory和LoadLibraryA的例子

如果还要完整例子,就等于我给你写了
2008-3-26 16:44
0
雪    币: 216
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
如何针对某个进程进行dll注入啊?
2008-3-26 18:49
0
游客
登录 | 注册 方可回帖
返回
//