欢迎来到 嗅灵易学

零基础也能上手的脚本技术课,一对一答疑带你入门

答复

答复

引用:
最初由 InNULL发布
貌似有道理,那些制造最小字节PE的程序,不是都用32字节文件对齐吗!
制造最小PE文件,貌似跟文件对齐属性关系不大,文件对齐属性主要用来决定怎么load文件的,刚来修正了下文章,加入了对SizeOfImage的向上取整,也搞了一个小错误,目前这小段程序应该经历了近400个小版本壳的考验,潜在的错误还有待发掘(水平有限,没逆过windows的loader,基本上都是总结的,错误在所难免),目前工作良好,当然这都是在xp sp2上的测试结果,在其它平台上怎么样,没有测试过,尤其是2000系统

下面对4楼给出的文字进行评论下,测试平台xp sp2,其它平台不清楚,没测试
以下引用大牛的话------------------------------
1. 如果 FileAlignment 小于 200h,则要求 FileAlignment == SectionAlignment >= 2
2. 如果 FileAlignment 小于 200h,则要求 VirtualAddress == PointerToRawData
满足以上两个条件,在xp sp2上程序无法运行,提示不是有效win32应用程序
3. VirtualSize <= SizeOfRawData
第三个条件不满足,在xp sp2上程序可以正常运行
4. SizeOfHeaders < SizeOfImage
5. NumberOfRvaAndSizes >= 2 数据目录结构的数量要求不小于 2
6. 节表和输入表都要求有一个结束的全 0 成员
第6个条件,在xp sp2平台上,节表和输入表都可以不以全0成员结束,程序可以正常运行

再次声明,以上只是盗版xp sp2的测试结果,其它平台没有测试过

注意:上传附件及图片大小不得大于30M。

⚠️ 版权声明:
本博客所有内容(含教程、源码、工具)仅供个人技术学习与研究交流使用,严禁商用、倒卖、二次分发及非法用途
未经作者书面授权,任何组织或个人不得转载、复制或用于其他平台,违者将追究相关责任。

0 0 0 举报
复制成功