向PE头的缝隙中插入代码

有些人感觉pe文件很复杂,其实呢只要学懂了你就会觉得pe还是很简单的。上次写过一个往pe的第一个节里面写代码的东西,其实跟这个差不多,换汤不换药。这个可能会更简单,HOHO,废话不说了,直接进入正题。

先说一下往pe头缝隙里面写代码的原理

我们这次说的是windows平台下的感染(姑且成为感染吧),pe文件有一个dos头,其实说实话是几乎没什么用,就是用来跳到真正的pe头,里面的一部分代码是可以覆盖的。但是为了简单我们今天就不用这一部分空间了。其实还有一个更好的空隙就是解表到第一个节直接的空隙。大家都知道可执行文件在磁盘中是按照特定方式对齐的。比如文件对齐粒是1000的话,第一节开始的位置就是1000,应为所有pe头加起来不可能超过1000,而且远小于这个值,约为250.所以还有一大片空间来写我们的代码。

在代码的最后加一个跳转语句到原来的入口点,就可以执行他应该坐的事了。

步骤

1。写需要被执行的代码,可以用od写汇编然后用c32提取机器码。

2.跳到节表的后面,看看有没有足够的空间来写代码。要是有的话就写下去

3.最后添加e9(jmp),找到远入口点,计算出需要跳转的距离,写入

4。修改原入口点

5.大功告成


有时间我会把代码贴出来

文章来自: 本站原创
Tags:
评论: 0 | 查看次数: 7612