感染可执行文件加载Dll

本文介绍了如何在可执行文件的代码节中找到剩余空间,插入Dll启动代码,并修改入口点,以实现感染文件并加载Dll。通过汇编语言和PE文件结构,文章详细阐述了定位代码节、修改文件头、插入和跳转指令的过程,以及如何避免杀毒软件的检测。
摘要由CSDN通过智能技术生成

 

       以前看过一篇文章《捆绑任意可执行文件做木马》深感作者对汇编运用之熟练。但经过实际练习感觉到办法还有些欠缺,比如说修改文件头AddressOfEntryPoint域的RVA这一招连360都盯上了。另外创建一个节来写入数据使程序变得臃肿。实际上每一个可执行文件的代码节都有很大的剩余空间没利用,我们只要在剩余空间里写入不到200个字节的Dll启动代码就行了。

本文假设读者已经具备了汇编语言pe结构体和使用msdn的能力

       本文的主要思路是:

找出目标文件剩余空间

将开始的代码修改为跳转指令跳转到指定的代码处

在剩余空间里写入启动代码

在剩余空间里写入被修改的代码和回跳代码

被感染后的文件执行流程如图一所示:



 

还是看看具体的实现代码吧:


 


 

对一个pe文件修改最方便的还是用CreateFile()CreateFileMapping()之类的api函数来创建一个文件映像。这些就不多说了不懂的可以看msdn

假设我们得到的文件映像基地址是pFileImage首先定位文件的代码段(这里需要用到pe文件的知识)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值