• 抬起头,继续前进吧,去把这个不完美的故事,变成你成所期望的样子
  • 登山路上我们会放弃很多东西,但这些被我们丢掉在我们登上山顶之际,都会一一回来
  • 不论开发还是逆向,数学水平的高低直接决定了”你的饭碗里有没有肉”
  • 万丈高楼平地起,勿在浮沙筑高台

Windows PE文件学习-手工操作添加新的节

windows 菜鸟 10个月前 (11-09) 6324次浏览 已收录 0个评论
[隐藏]

一、前言

        菜鸟前段时间在学习 Windows PE 文件的知识,这也可以算是 Windows 逆向工程的基础知识之一了。但节表结构的这部分知识,网上已经有很多介绍了,
所以本篇只对新增节的操作做说明,对于还不了解 PE 整体结构的朋友,可以先去搜索下相关知识,然后再回来阅读本篇文章。
废话不多说了,让我们开始吧。

二、操作环境说明

目标 PE 文件:notepad.exe
十六进制编辑器:WinHex
PE 工具:Lord PE

三、开始操作

先用 Lord PE 看下原始的节区信息。
Windows PE 文件学习-手工操作添加新的节
我们用看下节表部分,貌似没有空间来给我们增加新的一个节表项了。
Windows PE 文件学习-手工操作添加新的节
那我们将整个 NT 头和节表上移,把 DOS 存根的部分给覆盖掉,这样就可以空出新的空间了。
Windows PE 文件学习-手工操作添加新的节
在文件末尾增加个 0x1000 个字节,开始编写节表项。
Windows PE 文件学习-手工操作添加新的节
Windows PE 文件学习-手工操作添加新的节
最后一步,修改 NT 头中的节数量和 SzieOfImage
Windows PE 文件学习-手工操作添加新的节
保存后再次运行 PE 文件,运行正常,然后用 Lord PE 工具看下我们刚才新加的节。
Windows PE 文件学习-手工操作添加新的节
Windows PE 文件学习-手工操作添加新的节

四、小结

        手工进行节操作主要是为了更好的熟悉 PE 结构相关的知识,有些问题不实际动手做是暴露不出来的。当这些知识了然于胸后我们自然可以编写程序来代替手工操作(也有现成的工具可以用),到那时剩下的就是体力活儿啦。

五、PE 学习相关项目

PE Operator


学习心得 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明Windows PE 文件学习-手工操作添加新的节
喜欢 (0)
[]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址