首页
社区
课程
招聘
[原创]SSDT Hook 详细过程
发表于: 2013-12-29 14:33 14241

[原创]SSDT Hook 详细过程

2013-12-29 14:33
14241

一。目标程序***********

//target.exe

int x=5;
int main()  
{  
 	while(1)
 	{
 		printf("%p %d",&x,x);
 		Sleep(20000);
 	}
}
int main()  
{  
	int pid=0;
	PROCESSENTRY32 pe32;
	pe32.dwSize = sizeof(pe32);
	HANDLE hProcessSnap =   
       ::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
	if (hProcessSnap == INVALID_HANDLE_VALUE)
	{
		printf("CreateToolhelp32Snapshot 调用失败.\n");
		return -1;
	}
	BOOL bMore = ::Process32First(hProcessSnap,&pe32);
	while (bMore)
	{
		if(strcmp(pe32.szExeFile,"target.exe")==0)
		{
			pid=pe32.th32ProcessID;
			break;
		}
		bMore = ::Process32Next(hProcessSnap,&pe32);
	}
	::CloseHandle(hProcessSnap);
	HANDLE hOpen=OpenProcess(PROCESS_VM_READ, 0, pid);
	PVOID pbaseaddr=(PVOID)0x40bdc0;
	DWORD data=0;
	DWORD readlen=0;
	printf("%x",hOpen);
	ReadProcessMemory(hOpen,pbaseaddr,&data,4,&readlen);
	printf("%d",data);
	system("pause");
	return 0;  
}  

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

上传的附件:
收藏
免费 5
支持
分享
最新回复 (17)
雪    币: 645
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
沙发我来做 好文章 多谢楼主
2013-12-29 20:19
0
雪    币: 185
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
"这里用直接Hook SSDT",                 为何截图成了inline了。 是截图 单独放的?
2013-12-30 11:21
0
雪    币: 72
活跃值: (74)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
ztj
4
oh,截图弄错了,截图是后来弄的,后来是用inline hook的。
就假装截图上写的是ssdt hook吧
2013-12-30 12:10
0
雪    币: 239
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
简单明了,好文章。
2013-12-30 13:59
0
雪    币: 185
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
那还是稍微注明一下。 对于新手,或者说没有接触过的人来说,分不清SSDT 和inline 的。

2013-12-30 16:03
0
雪    币: 47
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
mark
2013-12-30 16:18
0
雪    币: 217
活跃值: (86)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
8
给个优秀也算是给初学点一点鼓励吧
2013-12-30 16:21
0
雪    币: 77
活跃值: (48)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
不错 ,辛苦了
2013-12-30 16:34
0
雪    币: 882
活跃值: (350)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
思路很明确
2013-12-30 19:42
0
雪    币: 42
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
mark
2013-12-31 12:29
0
雪    币: 44
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
FindAPIRVAByName呢?
2014-1-3 10:59
0
雪    币: 190
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
前面还能看懂,从第三部分编程实现就看不懂了,基础差啊!
kd> dt _EProcess是什么意思,后面就不知道在干什么了
2014-1-3 11:09
0
雪    币: 37
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
好文,强人
2014-1-3 13:31
0
雪    币: 563
活跃值: (95)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
学习 !
2014-1-4 00:36
0
雪    币: 193
活跃值: (857)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
16
系统内核都被玩成这样了,只能膜拜了。
2014-1-4 17:32
0
雪    币: 110
活跃值: (308)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
mark一下
2014-1-4 19:24
0
雪    币: 28
活跃值: (42)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
18
截图中的那个工具蛮好用的!
2014-2-18 18:26
0
游客
登录 | 注册 方可回帖
返回
//