查看: 2045|回复: 2
收起左侧

[分享] API拦截应用,改变一个进程的父进程

[复制链接]
hai198771
发表于 2016-12-24 22:11:37 | 显示全部楼层 |阅读模式
上一篇介绍了,使用API拦截劫持网址,这篇介绍如何在创建进程时指定其父进程。

我们使用PCHunter工具可以看到,大多数的进程都是由explorer.exe进程创建的,也就是桌面进程。

实际上explorer是由登录进程创建的。

从下面这张图中我们可以看出,explorer创建了KuGou等进程。

那我们要做的一件事情就是,我们的进程A创建一个进程B,然后A在创建B的时候,指定其父进程是C。

看看如何实现吧,在Xp下只要拦截NtCreateProcess就搞定了,NtCreateProcess的第四个参数就是父进程的句柄,改这个就可以了。

至于win7下是有API支持的,就是UpdateProcThreadAttribute,大家可以自己去MSDN上查看用法。

但是我们这里讲的是使用API拦截技术,所以在Win7下我们依然拦截API实现,Win7下需要拦截NtCreateUserProcess实现,

但是NtCreateUserProcess并没有一个参数对应其父进程的句柄,而是在最后一个参数AttributeList中包含那个父进程的句柄。

UpdateProcThreadAttribute这个API也是修改AttributeList来实现的,我是通过查看内存而找到的。
下面看下我实现后工具的截图,我创建notepad程序,并指定为explorer创建的。

也有人会说这个可以通过远程线程注入,向explorer注入一个dll来实现,这个方法确实可以,我只是提供一个方案。

你可以去这里下载这个小工具测试。http://download.csdn.net/detail/qq112358hai198771/9720400

进程树

进程树

实现工具

实现工具
hai198771
 楼主| 发表于 2016-12-25 20:24:07 | 显示全部楼层
原来没人懂啊
vm001
发表于 2016-12-25 21:34:01 | 显示全部楼层

这东西你分享错地方了。。这类的去看雪论坛吧
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2024-11-24 07:25 , Processed in 0.122372 second(s), 19 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

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