从0手工构造64位PE并手工进行加壳

💡 原文中文,约12200字,阅读约需30分钟。
📝

内容提要

本文介绍如何手工构造64位PE文件并手工加壳,加深对PE文件的理解,为深入研究Windows安全打基础。提供构造好的PE文件的github链接,参考资料包括《逆向工程核心原理》、https://bbs.kanxue.com/thread-226033.htm、https://learn.microsoft.com/zh-cn/windows/win32/debug/pe-format。

🎯

关键要点

  • 本文介绍如何手工构造64位PE文件并手工加壳,旨在加深对PE文件的理解。
  • 使用的工具为010Editor,操作系统为Windows10 20H2 19045。
  • PE文件格式是可移植性可执行文件,主要用于Windows操作系统的可执行文件、目标文件和动态链接库。
  • PE文件的主要结构包括DosHeader、NtHeader、SectionHeaders等。
  • 手工构造的PE文件包含两个Section:.text和.rdata,分别用于存放可执行代码和导入表。
  • 通过手工构造的PE文件可以调用MessageBoxA函数弹框并使用ExitProcess函数退出进程。
  • 手工加壳的过程是添加一个新区段并将PE文件的OEP改为新区段,以实现解密和跳转。
  • 构造的PE文件已上传至GitHub,供需要的用户下载。
  • PE文件格式是学习Windows安全技术的基础,涉及Shellcode、免杀、脱壳等多个方面。
  • 参考资料包括《逆向工程核心原理》和相关网站链接。
➡️

继续阅读