零基础逆向工程20_PE结构04_任意节空白区_新增节_扩大节添加代码

向代码节添加代码实现

作者经过一周不断的失败,再思考以及无数次调试终于实现。

思路:八个步骤

1. 文件拷到文件缓冲区(FileBuffer)  //图示见(零基础逆向工程18之PE加载过程)
2. 文件缓冲区扩展到内存映像缓冲区(ImageBuffer)
3. 判断代码空闲区是否有足够空间存储ShellCode代码
4. 将代码复制到空闲区
5. 修正E8
6. 修正E9
7. 修改OEP
8. 内存映像缓冲区到新文件缓冲区(NewBuffer)
9. 新文件缓冲区到文件

向其他节(如数据段)空闲区添加代码

与向代码节的不同是需要修改数据区的属性(Characteristics)为可执行

新增节添加代码

零基础逆向工程20_PE结构04_任意节空白区_新增节_扩大节添加代码_第1张图片

扩大节

零基础逆向工程20_PE结构04_任意节空白区_新增节_扩大节添加代码_第2张图片

合并节

零基础逆向工程20_PE结构04_任意节空白区_新增节_扩大节添加代码_第3张图片

转载于:https://www.cnblogs.com/flatcc/p/7594611.html

你可能感兴趣的:(零基础逆向工程20_PE结构04_任意节空白区_新增节_扩大节添加代码)