whatwho
驱动牛犊
驱动牛犊
  • 注册日期2004-12-26
  • 最后登录2005-04-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:3138回复:18

如何hook住CreateRemoteThread的调用?

楼主#
更多 发布于:2005-03-15 20:39
如果我想保护自己的进程不被他人的远端线程注入,是否可以通过hook CreateRemoteThread的方式来做?
哪位大侠有这方面经验的,若能指点一二,深为感谢。如果能提供简单的例程的话最好不过,呵呵

另外, IceSword中如何做到监控远程线程创建的情况的?是通过hook api的方式实现的吗?要是能向作者pjf大侠请教就好了,可惜找不到他

最新喜欢:

aasa2aasa2
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
沙发#
发布于:2005-03-15 21:33
 一般我们CreateRemoteThread需要先提升我们的权限,然后打开目标进程,在里面分配空间,然后把我们的代码写进去,最后CreateRemoteThread,执行.
你可以针对其中的任何一步拦截处理,从而使其失败....
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
板凳#
发布于:2005-03-15 21:41
当然如果你只是保护你自己的进程还是很简单的,一般我们菜鸟使用的API最后都会到KeStackAttachProcess ,切换到目标进程地址空间,然后就可以,VIRTUALALLOCEX,READPROCESSMEMORY,WRITEPROCESSMEMORY
你可以挂接这个函数,来检测是否允许挂接到你的进程,当然如果不允许的话,就返回失败,这样别人就无法进入你的进程地址空间了,当然你的程序也就无法被调试了...
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
whatwho
驱动牛犊
驱动牛犊
  • 注册日期2004-12-26
  • 最后登录2005-04-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-03-15 23:06
喔喔公鸡大侠英明!:)))
请教大侠,一般打开目标进程时都需用OpenProcess,我拦截Native API:ZwOpenProcess,在此判断进程ID是否需要保护的ID来做处理,可否算是较好的方法?所谓较好就是简单可行:P

对于这种拦截ZwOpenProcess的驱动设计我参考了现成的代码,算是有了初步了解。如果要破解这类保护,该如何做?
whatwho
驱动牛犊
驱动牛犊
  • 注册日期2004-12-26
  • 最后登录2005-04-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2005-03-15 23:15
呵呵,终于学会给分了
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
5楼#
发布于:2005-03-16 17:51
喔喔公鸡大侠英明!:)))
请教大侠,一般打开目标进程时都需用OpenProcess,我拦截Native API:ZwOpenProcess,在此判断进程ID是否需要保护的ID来做处理,可否算是较好的方法?所谓较好就是简单可行:P

对于这种拦截ZwOpenProcess的驱动设计我参考了现成的代码,算是有了初步了解。如果要破解这类保护,该如何做?

可以,我认为这个是比较简单实用的方法....
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
6楼#
发布于:2005-03-16 17:53
要破解这类保护,除非对方自己来实现该函数,或者对方可以直接跳过你的检测,直接调用原来的函数....
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
whatwho
驱动牛犊
驱动牛犊
  • 注册日期2004-12-26
  • 最后登录2005-04-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2005-03-16 22:43
要破解这类保护,除非对方自己来实现该函数,或者对方可以直接跳过你的检测,直接调用原来的函数....


谢谢大侠指点。我还是希望能具体地多请教一些,万望不要嫌罗嗦:)

如果我hook了ZwOpenProcess,在此判断其参数中ClientID是我要保护的某进程XX.EXE,于是我直接返回无效。这样一来,一般性的OpenProcess操作是获得不到Handle的了,也就无法进一步动作。

假如是大侠你要对付我的这种小伎俩,你会怎么来做?呵呵,这是我很想了解的:)
bmyyyud
驱动老牛
驱动老牛
  • 注册日期2002-02-22
  • 最后登录2010-01-21
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望130点
  • 贡献值0点
  • 好评度106点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2005-03-17 08:48
[quote]要破解这类保护,除非对方自己来实现该函数,或者对方可以直接跳过你的检测,直接调用原来的函数....


谢谢大侠指点。我还是希望能具体地多请教一些,万望不要嫌罗嗦:)

如果我hook了ZwOpenProcess,在此判断其参数中ClientID是我要保护的某进程XX.EXE,于是我直接返回无效。这样一来,一般性的OpenProcess操作是获得不到Handle的了,也就无法进一步动作。

假如是大侠你要对付我的这种小伎俩,你会怎么来做?呵呵,这是我很想了解的:) [/quote]
方法多多,看看wowocock以前的帖子
http://www.driverdevelop.com/forum/viewthread.php?tid=86521
另外,由于进程的PCB是从固定地址开始向上的类似堆栈一样堆起来的,它才是最根本的数据结构,枚举它也可破你的东东
滚滚长江东逝水 浪花淘尽英雄 是非成败转头空 青山依旧在 几度夕阳红 白发渔樵江渚上 惯看秋月春风 一壶浊酒喜相逢 古今多少事 尽付笑谈中
whatwho
驱动牛犊
驱动牛犊
  • 注册日期2004-12-26
  • 最后登录2005-04-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2005-03-17 19:40
[quote方法多多,看看wowocock以前的帖子
http://www.driverdevelop.com/forum/viewthread.php?tid=86521
另外,由于进程的PCB是从固定地址开始向上的类似堆栈一样堆起来的,它才是最根本的数据结构,枚举它也可破你的东东 [/quote]

好啊好啊,又来了一位大侠。多谢指点,很到位啊。。。让我这初入门者在无穷的迷惑中看到了一线方向:)
这次没拿出多少分来,也给光了,下回再谢:)



znsoft
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2023-10-25
  • 粉丝300
  • 关注6
  • 积分910分
  • 威望14796点
  • 贡献值7点
  • 好评度2410点
  • 原创分5分
  • 专家分100分
  • 社区居民
  • 最爱沙发
  • 社区明星
10楼#
发布于:2005-03-17 23:51
感谢 bmyyyud  最近在论坛的贡献,赠予高级会员,以示感谢!!
http://www.zndev.com 免费源码交换网 ----------------------------- 软件创造价值,驱动提供力量! 淡泊以明志,宁静以致远。 ---------------------------------- 勤用搜索,多查资料,先搜再问。
bmyyyud
驱动老牛
驱动老牛
  • 注册日期2002-02-22
  • 最后登录2010-01-21
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望130点
  • 贡献值0点
  • 好评度106点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2005-03-18 08:52
感谢 bmyyyud  最近在论坛的贡献,赠予高级会员,以示感谢!!

今天看到居然成了高级会员,还以为自己眼花了,看到斑竹的帖子,顿时老泪纵横。。。其实我觉得我是没有资格做高级会员的,我觉得象tiamo是当之无愧的,虽然,小家伙年级不大,但知识远在我之上,尤其探讨DLL注入问题上,让我豁然开朗,应该是我感谢斑竹,感谢论坛里的各位大侠,各位好兄弟!!!
滚滚长江东逝水 浪花淘尽英雄 是非成败转头空 青山依旧在 几度夕阳红 白发渔樵江渚上 惯看秋月春风 一壶浊酒喜相逢 古今多少事 尽付笑谈中
wywwwl
驱动大牛
驱动大牛
  • 注册日期2002-08-16
  • 最后登录2018-04-07
  • 粉丝1
  • 关注0
  • 积分-10分
  • 威望135点
  • 贡献值6点
  • 好评度76点
  • 原创分0分
  • 专家分0分
  • 社区居民
12楼#
发布于:2005-03-18 11:19
羡慕中ing :cool:
琢磨悟真知
whatwho
驱动牛犊
驱动牛犊
  • 注册日期2004-12-26
  • 最后登录2005-04-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2005-03-18 20:22
[quote]感谢 bmyyyud  最近在论坛的贡献,赠予高级会员,以示感谢!!

今天看到居然成了高级会员,还以为自己眼花了,看到斑竹的帖子,顿时老泪纵横。。。其实我觉得我是没有资格做高级会员的,我觉得象tiamo是当之无愧的,虽然,小家伙年级不大,但知识远在我之上,尤其探讨DLL注入问题上,让我豁然开朗,应该是我感谢斑竹,感谢论坛里的各位大侠,各位好兄弟!!! [/quote]

恭喜恭喜,bmyyyud不仅知识方面的资格足够,而且在助人方面的资格也完全足够。。。

另外,关于进程的PCB等结构方面的内容,哪些书上有详细论述,能否请bmyyyud大侠指点一下?
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
14楼#
发布于:2005-03-19 10:47
羡慕中ing :cool:
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
15楼#
发布于:2005-03-19 10:49
[quote]感谢 bmyyyud  最近在论坛的贡献,赠予高级会员,以示感谢!!

今天看到居然成了高级会员,还以为自己眼花了,看到斑竹的帖子,顿时老泪纵横。。。其实我觉得我是没有资格做高级会员的,我觉得象tiamo是当之无愧的,虽然,小家伙年级不大,但知识远在我之上,尤其探讨DLL注入问题上,让我豁然开朗,应该是我感谢斑竹,感谢论坛里的各位大侠,各位好兄弟!!! [/quote]

tiamo的水平确实很高,也不知道他是如何学的,感慨自己早生了几年,不然也有可能象他一样年轻有为了......
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
bmyyyud
驱动老牛
驱动老牛
  • 注册日期2002-02-22
  • 最后登录2010-01-21
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望130点
  • 贡献值0点
  • 好评度106点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2005-03-19 11:33
[quote][quote]感谢 bmyyyud  最近在论坛的贡献,赠予高级会员,以示感谢!!

今天看到居然成了高级会员,还以为自己眼花了,看到斑竹的帖子,顿时老泪纵横。。。其实我觉得我是没有资格做高级会员的,我觉得象tiamo是当之无愧的,虽然,小家伙年级不大,但知识远在我之上,尤其探讨DLL注入问题上,让我豁然开朗,应该是我感谢斑竹,感谢论坛里的各位大侠,各位好兄弟!!! [/quote]

tiamo的水平确实很高,也不知道他是如何学的,感慨自己早生了几年,不然也有可能象他一样年轻有为了...... [/quote]
是啊,咱们那年头只有DOS,那年头说实在的,对它是如数家珍。我还在学校中,记得做的最有挑战性的程序,就是DOS下的多进程,Undocumented的DOS秘密是我最喜欢的一本书,主要解决DOS重入,PSP的结构。而且为了使我的TSR能够激活,我截获了各种中断,int 8时钟,int 9,int 13h,int 21h,全是汇编,只要发现我的任何中断上的hook(现在非常时髦,那年代还没有这个词呢)被抢了,我的程序就可以全部抢回来,当年有名的内存驻留软件SideKick都不如我的东东激活能力强,它都被我踢出去了。后来,92年开始研究286的保护模式,感觉等于开了一个全新的领域,但286切换到保护模式没法切换会实模式,切换到实模式只能完全等同于RESET,但直到386才实现完全的保护模式,能来回切换了,我后来为了加载更多的进程,用了EMS,EMM,最后干脆在保护模式和实模式之间切换,当前进程不用的东东,就把它搬倒1M以上内存中,而且模拟了个在1M以上的内存硬盘来方便实现。但当时做个真正的保护模式操作系统还是觉得无法完成,那时没有网络呀。。。可是linus却是与我同龄的,他却敢做,现在人家怎样了,所以linus一直是我的偶像,太高太高的偶像。。。
后来又研究各种加密和反跟踪技术,如CPU预取指令栈,逆指令流,非法指令,大循环多出口,堆栈回绕等算是比较好的反跟踪技术。。。
说了这么多,大家肯定嫌我烦了,往事不堪回首。。。黯然泪下。。。后来迫于生计,技术降到了最低点
我估计wowocock老大看到,估计也是泪满巾了。看到以前wowocock老大的帖子,自觉倍感亲切
廉颇老矣,尚能饭否
滚滚长江东逝水 浪花淘尽英雄 是非成败转头空 青山依旧在 几度夕阳红 白发渔樵江渚上 惯看秋月春风 一壶浊酒喜相逢 古今多少事 尽付笑谈中
bmyyyud
驱动老牛
驱动老牛
  • 注册日期2002-02-22
  • 最后登录2010-01-21
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望130点
  • 贡献值0点
  • 好评度106点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2005-03-19 11:38
[quote][quote]感谢 bmyyyud  最近在论坛的贡献,赠予高级会员,以示感谢!!

今天看到居然成了高级会员,还以为自己眼花了,看到斑竹的帖子,顿时老泪纵横。。。其实我觉得我是没有资格做高级会员的,我觉得象tiamo是当之无愧的,虽然,小家伙年级不大,但知识远在我之上,尤其探讨DLL注入问题上,让我豁然开朗,应该是我感谢斑竹,感谢论坛里的各位大侠,各位好兄弟!!! [/quote]

恭喜恭喜,bmyyyud不仅知识方面的资格足够,而且在助人方面的资格也完全足够。。。

另外,关于进程的PCB等结构方面的内容,哪些书上有详细论述,能否请bmyyyud大侠指点一下?
 [/quote]
看本站的未公开的Win2k的秘密,还有znsoft辛苦成全的Windows Internals,前面版本为Inside win2000第三版,其实Softice中的帮助,Using Softice中exploring Windows NT都是很好的教材。剩下的就靠自己努力了,自己反汇编与跟踪及做实验是最好的手段
滚滚长江东逝水 浪花淘尽英雄 是非成败转头空 青山依旧在 几度夕阳红 白发渔樵江渚上 惯看秋月春风 一壶浊酒喜相逢 古今多少事 尽付笑谈中
whatwho
驱动牛犊
驱动牛犊
  • 注册日期2004-12-26
  • 最后登录2005-04-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
18楼#
发布于:2005-03-20 01:16
非常感谢bmyyyud的指点!!
这就找那几本书去。。。
游客

返回顶部