手动构建PE文件

手工用16进制编辑器编一个PE,做到弹出一个MessageBox并且尽量缩小大小。


1. 可以缩减的地方


PE头可以缩减,因为是重新构建的关系,所以可以把3C处偏移到Nt头的节对齐大小位置,然后后面内容就按照这个节大小值去设置就行了,偏移位置有0x02、0x04,0x02的0x3C处在值的中间,导致对齐大小太大,所以选择0x04,这是节对齐正好就是4。设置可选头大小和数据目录大小,这样也可以缩减,但是缩减后OD调试会有问题,所以还是保留原来大小。去掉重定位,如果有间隙就在间隙里写导入表的一些东西,代码也写在间隙里。对于需要的字符串,看看有什么不用的或者保留字段,放进去就行了。


2. 开始编辑


对齐大小写的是4,不用重定位,先写到节表,导入表没写,代码没写,入口点写了0x04用来调试,先用0xEE填充可以乱填的部分(那几个地方太短了 基本上什么都不能存),一会往里面塞东西。对话框显示的标题和内容和导入的dll名称我已经先放进去了(都是可以乱改的字段)。节大小不要超过文件大小,不然会出错。
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值