如何第一时间把DLL插件注入到目标进程

       在windows下,把DLL插件注入到一个进程的方法有很多,比较常用的比如用远程线程(CreateRemoteThread)注入,或者用windows的API:SetWindowsHookEx来注入,如下图,可以用RemoteDll这个注入工具进行注入操作:
 

        当然常规的注入方法存在着注入的时间延后性,即程序已经运行一段时间后才进行后续的注入操作,如果注入的dll需要对目标进程进行hook操作,而目标进程调用的api就在程序刚刚启动的时候进行调用的,这个时候再进行注入和hook就无效了,因为目标进程已经完成了对目标api的调用,后续再进行拦截已经没意义了,下面笔者介绍一种利用修改目标进程导入表的方法来对目标进程的注入,从而达到目标程序启动的时候就能第一时间加载到目标插件从而达到第一时间注入目标进程的目的。

        这里就介绍一款软件:CFF Explorer:

下面介绍如何利用这款来修改目标程序的导入表:

  1. 菜单File->Open打开目标程序(我这里目标程序是WebSocket.exe):

  2. 选中左边的Import Adder菜单项,然后点击右边的Add按钮,选中目标需要注入的DLL插件,注意这个DLL必须包含至少一个导出函数:

    怎么导出DLL的函数,可以用如下代码:

  3. 选中DLL的一个导出函数,然后点击上面的“Import By Name”或者“Imprt By Ordinal“按钮,即完成将DLL的导出函数导入到了目标进程的导入表中了,然后点击“Rebuild Import Table”按钮,最后保存或者另存到一个目录下既可以:

  4. 怎么验证修改导入表成功了呢,打开目标进程,选择左边的“Import Directory”菜单,就可以发现目标进程依赖我们的DLL插件了,当启动目标进程的时候,就会第一时间加载我们的DLL:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值