首页
论坛
专栏
课程

[商业保护] [原创]win7 x64位通过修改ImagePathName绕过HS部分kernel Hook

2012-9-27 14:43 16808

[商业保护] [原创]win7 x64位通过修改ImagePathName绕过HS部分kernel Hook

2012-9-27 14:43
16808
前阵子很流行用这个绕hs的inline hook,但是发现都是32位的,大家又都不肯自己动手,64位下一直没有可用的代码,其实也很简单。改改就好了。直接上代码很短,大牛莫笑....

//For x64****************************************************
wchar_t* x64_ImagePath = L"C:\\Windows\\system32\\winlogon.exe";  //利用伪装成winlogon.exe躲避HS Inline hook的拦截过滤。
int _tmain(int argc, _TCHAR* argv[])
{
	int a = NULL;
	__asm{
		mov eax,dword ptr fs:[0x30] 
		add eax,0x1000 //x64
		mov eax,[eax+0x020]  
		add eax,0x060 
		add eax,0x8 //x64下对_UNICODE_STRING进行了拓展,+0x002 MaximumLength    : Uint2B后仍有4个字节的空白
		mov ebx,[x64_ImagePath] 
		mov [eax],ebx //fake
		mov [a],eax 
	}
	getchar();
	return 0;
}

下面是32位下使用的Delphi代码:

//For x86****************************************************
unit bypass_HS;

interface
    procedure Killfor32(name : widestring);
implementation
    procedure Killfor32(name : widestring);
    begin
      asm
      mov eax,dword ptr fs:[$30]
      mov eax,[eax+$10]
      add eax,$38
      add eax,$4
      mov ebx,name
      mov [eax],ebx
      //mov name,eax
      end;
    end;
end.

使用完以上代码后,对HackShield保护的进程你的EXE可以随意调用OpenProcess、WriteProcessMemory\ReadProcessMemory等api对受保护目标进程进行ring3下的操作。。。有说没有效果的朋友这个路径名必须是全局变量,不能是栈变量。。都有点不好意思发出来了...太没技术含量- -

[公告]安全服务和外包项目请将项目需求发到看雪企服平台:https://qifu.kanxue.com

最新回复 (24)
靴子 2012-9-27 15:16
2
0
谢谢分享 !
高级小白 2012-9-27 19:05
3
0
支持一下,学习了
mccoysc 2012-9-27 21:16
4
0
你这个的话,只对那些用时从PEB取img路径的弱智hips有效。。。。但实际上。。。很多hips包括杀软,是在你的进程正式运行前,就获取到了路径并保存下来,以后仅仅根据pid查路径

你这样做就没用了
ruoko 2012-9-27 21:39
5
0
PID也可以伪装。
mccoysc 2012-9-28 07:16
6
0
不许上驱动你伪装给我看看……楼主的例子是不需要驱动的……你都有驱动了……还用得着伪装吗……直接干掉杀软什么的,还有啥是不可以的?
mccoysc 2012-9-28 07:19
7
0
还有,我说楼主,能不能不搞那么高深啊?简单几句c代码就能搞定的,还非得n行asm……貌似大家都觉得asm更高深些似的……
wjuid 2012-9-28 11:11
8
0
嵌入汇编还不如直接汇编,要不C也成,不过还是ASM好理解点。
ruoko 2012-9-28 11:42
9
0
我这个帖子只是针对HS保护有效。不提到其它的。
ruoko 2012-9-28 11:43
10
0
难道还要贴出整个PEB结构,这样的写法已经很简单了。大家都看得懂。
tydef 2012-9-28 12:01
11
0
现在的观众火气何必这么大呢
反正是个技术共享 有兴趣就讨论下 没兴趣就算了么 你不喜欢别人未必无用
总不至于说这地盘是你的 发些有点小瑕疵的帖子就要打压?
泰国老大 2012-9-28 13:01
12
0
不带换行的简单的一句代码搞定,为什么要搞N行C的?别人只是发个例子,非要符合你味口才点头啊。
guxinyi 5 2012-9-28 14:54
13
0
哈哈,用汇编感觉是要良好些。
至少可以促使不懂汇编的去学习。
cvcvxk 10 2012-9-28 15:38
14
0
Win7 x64 HS内核无hook吧~最多就几个callback...
mccoysc 2012-9-28 17:03
15
0
只是看到太多人连
a=123;

b=456;

x=a+b;

这样的代码都得搞asm秀一下。。。。而且又不全是汇编。。仅仅对一小段类似这样的代码asm一下而已

这个看到我就想打人
ruoko 2012-9-28 17:10
16
0
V大。。。。膜拜,win7 64我用不了Xuetr
showhuman 2012-9-28 23:34
17
0
代码是用来bypass游戏保护的,不是用来Anti杀软的.想怎么写是每个人的权利,你JJYY半天,是想告诉别人你的眼光高人一等?
NB的话,你也放代码就行了,何必言语措辞间藐视他人?
你看不惯,你可以不看,看与不看也是每个人的权利.“你看到就想打人”这句话,可见你之素质.
yaneng 2012-9-29 17:45
18
0
支持共享,别人辛苦弄出来的东西,免费给你看,你还挑三拣四的,爱看不看没有要你看的啊!~
蓝色妖女 2012-9-30 05:33
19
0
人家是过保护,跟pass杀软件有毛关系啊
Winker 8 2012-10-17 11:48
20
0
又是这样的评论,以为加载了驱动就万能无敌啊???

“还用得着伪装吗……直接干掉杀软什么的"

肯定没有写过实战类的XXXXXXXX。
gamefox 2012-10-30 08:26
21
0
只有你才认为他在秀ASM,ASM是一种语言,为什么不能用?  你的回复让人火大
Reversal 2012-10-30 23:59
22
0
只能说7楼是个2B,人家爱用啥语言就用啥语言

谢谢楼主分享
AASSMM 2012-10-31 01:07
23
0
7楼不止是2B,还带**,估计连楼主的内容都没看完就开喷,楼主明明说的HS。
hrpirip 1 2012-11-3 12:09
24
0
ruoko不是我的号码么..
GameSafe 2012-11-3 12:26
25
0
不会asm,没多大造诣,没文化,要学会谦虚,自大很简单,并没多少技术含量
程序员到csdn,看雪是搞底层的,请先理清你的思路
按理说,某人不爱asm,那你怎么知道hs的,hs难道是开源的?笑话,挫B一个,找喷。
游客
登录 | 注册 方可回帖
返回