QQ登录

只需一步,快速开始

搜索
查看: 5532|回复: 19

[C/C++] 硬件断点 VEH hook code

[复制链接]

59

积分

5

主题

0

精华

正式会员

Rank: 1

违规
0 点
JmPoint
681 点
声望
10 点
赏金币
0 枚
发单信誉
0
接单信誉
0
注册时间
2015-7-26
最后登录
2019-1-23
在线时间
132 小时
发表于 2015-9-6 18:22:30 | 显示全部楼层 |阅读模式
游客,如果您要查看本帖隐藏内容请回复


头文件:

[C++] 纯文本查看 复制代码
#include "Main.h"
//随意发挥。  可用在不检测硬件断点的程序上。
//大概可hook任意地址。
PVOID ExceptionHandle;
PVOID T_OrgProc[4];
PVOID T_NewProc[4];

void Start()
{
	CONTEXT Context;
	Context.ContextFlags = CONTEXT_FULL | CONTEXT_DEBUG_REGISTERS;;
	GetThreadContext(GetCurrentThread(), &Context);
	Context.Dr0 = (DWORD)T_OrgProc[1];
	Context.Dr1 = (DWORD)T_OrgProc[2];
	Context.Dr2 = (DWORD)T_OrgProc[3];
	Context.Dr3 = (DWORD)T_OrgProc[4];
	Context.Dr7 = 0x405;
	SetThreadContext(GetCurrentThread(), &Context);

}

void Stop()
{
	CONTEXT Context;
	Context.ContextFlags = CONTEXT_FULL | CONTEXT_DEBUG_REGISTERS;;
	GetThreadContext(GetCurrentThread(), &Context);
	Context.Dr0 = NULL;
	Context.Dr1 = NULL;
	Context.Dr2 = NULL;
	Context.Dr3 = NULL;
	Context.Dr7 = NULL;
	SetThreadContext(GetCurrentThread(), &Context);
}

BOOL Initialize()
{
	BOOL Jud;
	ExceptionHandle = AddVectoredExceptionHandler(1, (PVECTORED_EXCEPTION_HANDLER)ExceptionHandler);
	Jud = (BOOL)ExceptionHandle;
	return Jud;

}

DWORD SetHOOK(PVOID OrgProc, PVOID NewProc)
{
	for (size_t i = 0; i < 4; i++)
	{
		if (!T_OrgProc[i + 1])
		{
			T_OrgProc[i + 1] = OrgProc;
			T_NewProc[i + 1] = NewProc;
			return i + 1;
		}

	}

	return 0;
}

BOOL UnHOOK(INT Count)
{
	if (Count >= 0 && Count < 5)
	{
		if (!Count)
		{
			Stop();
			return (BOOL)RemoveVectoredExceptionHandler(ExceptionHandle);
		}
		else
		{
			T_OrgProc[Count] = 0;
			T_NewProc[Count] = 0;
			Start();
			return TRUE;
		}

	}
	return FALSE;
}

DWORD NTAPI ExceptionHandler(EXCEPTION_POINTERS * ExceptionInfo)
{
	for (size_t i = 0; i < 4; i++)
	{
		if (ExceptionInfo->ExceptionRecord->ExceptionAddress == T_OrgProc[i + 1])
		{
			ExceptionInfo->ContextRecord->Eip = (DWORD)T_NewProc[i + 1];
			return EXCEPTION_CONTINUE_EXECUTION;
		}
	}

	return EXCEPTION_CONTINUE_SEARCH;

}

void test1()
{
	printf("test1");
}

void test2()
{
	printf("test2"); 
}

int main()
{
	if (Initialize())
	{
		SetHOOK(test1, test2);
		Start();
	}
	test1();
	getchar();
	return true;
}

评分

参与人数 5JmPoint +60 +10 收起 理由
zaas + 4 + 2 很给力!
Ylca + 10 + 2 非常不错!!
Stg + 16 + 2 不错 不错
sunflover + 20 + 2 很给力!
BambooQJ + 10 + 2 不错 不错.

查看全部评分

回复

使用道具 举报

149

积分

28

主题

0

精华

版主

Rank: 7Rank: 7Rank: 7

违规
0 点
JmPoint
2699 点
声望
12 点
赏金币
0 枚
发单信誉
0
接单信誉
0
注册时间
2015-7-27
最后登录
2019-4-17
在线时间
391 小时
发表于 2015-9-6 18:37:19 | 显示全部楼层
请问这个是干什么用的呢???
回复 支持 反对

使用道具 举报

10

积分

1

主题

0

精华

临时会员

违规
0 点
JmPoint
1364 点
声望
0 点
赏金币
0 枚
发单信誉
0
接单信誉
0
注册时间
2015-7-27
最后登录
2018-6-1
在线时间
260 小时
发表于 2015-9-6 19:29:07 | 显示全部楼层
不错不错的资料,谢谢。
回复 支持 反对

使用道具 举报

333

积分

19

主题

4

精华

专家团

Rank: 7Rank: 7Rank: 7

违规
0 点
JmPoint
3250 点
声望
36 点
赏金币
0 枚
发单信誉
0
接单信誉
0
注册时间
2015-8-16
最后登录
2019-4-8
在线时间
389 小时
发表于 2015-9-6 19:52:47 | 显示全部楼层
硬断,用处很大的。可以过CRC的
回复 支持 反对

使用道具 举报

206

积分

6

主题

1

精华

专家团

Rank: 7Rank: 7Rank: 7

违规
0 点
JmPoint
652 点
声望
38 点
赏金币
0 枚
发单信誉
0
接单信誉
0
注册时间
2015-7-28
最后登录
2019-5-26
在线时间
267 小时
发表于 2015-9-7 09:23:55 | 显示全部楼层
感谢分享
回复

使用道具 举报

196

积分

37

主题

0

精华

版主

Rank: 7Rank: 7Rank: 7

违规
0 点
JmPoint
1125 点
声望
20 点
赏金币
0 枚
发单信誉
0
接单信誉
0
注册时间
2015-7-26
最后登录
2019-5-25
在线时间
72 小时

优秀版主勋章

发表于 2015-9-7 12:35:42 | 显示全部楼层
支持一下了
回复 支持 反对

使用道具 举报

254

积分

26

主题

1

精华

专家团

Rank: 7Rank: 7Rank: 7

违规
0 点
JmPoint
2814 点
声望
34 点
赏金币
0 枚
发单信誉
0
接单信誉
6
注册时间
2015-7-30
最后登录
2019-6-23
在线时间
434 小时
发表于 2015-9-10 09:11:07 | 显示全部楼层
感谢分享
回复

使用道具 举报

5

积分

1

主题

0

精华

临时会员

违规
0 点
JmPoint
122 点
声望
0 点
赏金币
0 枚
发单信誉
0
接单信誉
0
注册时间
2015-10-31
最后登录
2018-1-8
在线时间
37 小时
发表于 2015-11-2 19:50:34 | 显示全部楼层
谢谢了我喜欢啊啊
回复 支持 反对

使用道具 举报

hkzjms 该用户已被删除
发表于 2015-12-15 06:03:29 | 显示全部楼层
硬件断点 VEH hook code
回复 支持 反对

使用道具 举报

43

积分

1

主题

0

精华

正式会员

Rank: 1

违规
0 点
JmPoint
51 点
声望
10 点
赏金币
0 枚
发单信誉
0
接单信誉
0
注册时间
2015-12-22
最后登录
2015-12-23
在线时间
0 小时
发表于 2015-12-22 01:11:58 | 显示全部楼层
看看啊
回复

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即加入

本版积分规则

关闭

站长推荐上一条 /2 下一条

QQ|Archiver|手机版|小黑屋|零日安全论坛 点击这里给我发消息

GMT+8, 2019-6-25 02:12 , Processed in 0.104128 second(s), 37 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表