最小的PE文件

最小的PE文件入门

因为做的比较仓促,有些部分尤其是标色部分可能不太完整具体结构内容请参照文中链接或其他文章。
在这里插入图片描述

工具用的是winhex

在这里插入图片描述
工具用的是IDApro6.6

汇编代码找的方法是在000000E8的位置有四个字节20020000表示汇编代码在00000220位置,或者直接在IDA中找
根据最开始的PE结构我们一步步分析
在这里插入图片描述
这里要提一点,在存每个结构的时候字节间按照低位在前高位在后,也就是说,以最后的c0 00 00 00为例,我们读的地址应该为00 00 00 c0。

具体的结构定义(只给出DOS头的为例,其他部分不详细给出,参考其他大神的详细文章。
点这里查看其他部分的结构定义
或者这里
在这里插入图片描述
在这里插入图片描述

PE文件头和节表(目录表)
在这里插入图片描述

在这里插入图片描述

剩下的部分就不详细介绍了,要写最小的PE文件的话都是不需要的,是块的部分
在这里插入图片描述
这个IAT和INT表就是存当前程序运行需要的其他函数和程序,我们可以看到messageBoxA,一个弹框的系统调用,和他所在的USER32.dll

我们要打造最小的PE,就是要将有用的东西(程序代码等)塞进这些结构中一些修改后不影响运行的部分

源文件,每次修改后的程序,修改过程已经打包了需要自取,在XP下运行
在这里插入图片描述
下载程序

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值