1 文章简介
- 本文主要介绍了如何使用远程线程注入技术和API拦截技术,将代码注入到指定进程中,并修改进程中原API的逻辑,实现对文件的选择拦截。实际效果为,如果注入谷歌浏览器或者微信,当用谷歌浏览器上传文件或者用微信外发文件时,将被拦截。这对于防止机密文件的泄漏是非常有实用价值的。
- 当然可以实现的功能远不只此,本文只是介绍了较为常用的一种使用场景。
2 实现原理
- Windows平台几乎所有进程(包括Chrome浏览器、Edge浏览器、微信、记事本、飞秋、Foxmail)选择文件都是通过调用文件资源管理器(explorer.exe)来实现,而文件资源管理器选择文件时,会调用Windows API CreateFileW读写文件。
因此只需要拦截CreateFileW接口,在此接口中对选择的文件进行判断,就可以实现文件管控的功能。 - 要实现此功能,需要使用远程线程注入和API拦截技术。
3 远程线程注入
- 远程线程注入(Remote Thread injection)是一种能够将自身的代码注入到目标进程中的技术手段,目的是将自身代码注入到目标进程中的技术,做到能够改变目标程序的执行流程,或者为该程序添加额外功能。
3.1 远程线程注入步骤
- 获取目标进程句柄
OpenProcess() - 在目标进程中分配内存
Virt
订阅专栏 解锁全文

348

被折叠的 条评论
为什么被折叠?



