PE文件格式分析(实验篇)

两周软件安全实验进行了PE文件格式分析,把自己实验报告部分copy过来当作记录。这里没有阐述过多理论部分,相关内容在网上和书本上可查阅,第一部分的打印稿图中也标注了部分字段结构。将来若有时间再作系统整理。以下仅为实验操作部分的内容摘取。(课后思考部分只给出了理论方法,实际待以后填坑)

1. PE文件格式分析

①使用UltraEdit观察PE文件例子程序hello-2.5.exe的16进制数据,在打印稿中画出该PE文件基本结构。

分析完毕最终打印稿基本结构示意图如图。

②使用UltraEdit修改程序,使得程序仅弹出第二个对话框。

先使用ollydbg找到文件在内存中实现第二个弹框的位置:00401016(VA)--1016(RVA)

使用PEView查看PE文件可选文件头,找到对应入口点地址文件偏移为0D8,使用UltraEdit修改对应位置的值为1016。

查看修改结果,实际只显示第二个对话框。

2. 熟悉并分析PE文件的引出表

①找到系统System32目录下的user32.dll文件,用UltraEdit打开并分析该文件引出表,找出函数MessageBoxA的地址,并验证该地址是否正确。

使用PEview本质和UltraEdit打开一样,因其有内容解析,这里使用PEview进行操作查找地址。

先查看可选文件头的imagebase。

再查看引出表的RVA。

再找到引入名字表的RVA。

在引入名字表中找到函数名字在表中的序号。

再在序号表中由序号查得函数在引入地址表的序号01DC。

最后在引入地址表找到01DD位置(因起始从0数),存储数据即为函数的RVA,即407EA。

再加上imagebase得到真实地址VA=77D507EA。

再在ollydbg打开使用该函数的exe文件可得结果正确。

3. 熟悉并修改PE文件的引入表结构以及代码段和数据段

①手工修改hello-2.5.exe程序,使得其可以弹出第三个对话框(提示框标题为“武汉大学信安病毒实验”,内容为:你的姓名+学号)

在Ollydbg中打开PE文件,先修改.data段。

记下title和text的RVA分别为00403059和0040306A。再修改.text段。

修改完毕保存后,打开可执行文件,发现可弹出第三个对话框,实验成功。(注意:.text和.data节表中,表示节实际大小的字段“Virtual Size”应该做出修改,但不修改文件依然能正常运行,这里未作修改仍成功弹出)

②用UltraEdit修改hello-2.5.exe程序的引入表,使该程序仅可以从kernel32.dll中引入LoadLibrary和GetProcAddress函数,而不从user32.dll导入任何函数。在代码节中写入部分代码利用这两个函数获取MessageBoxA的函数地址,使hello-2.5.exe程序原有功能正常。

修改引入函数节的IMPORT Hints/Names&DLL Names,以及INT、IAT和IDT表。可能还需修改与这些表相关的结构,包括可选文件头中IDT和IAT表的RVA和Size字段等。

分别修改后如图所示。

修改PE头部和节表中的相关结构。分别修改IMAGE_OPTIONAL_HEADER中的IMPORT Table和IMPORT Address Table中的RVA和Size,修改.rdata节表中的Virtual Size。

通过Stud_PE打开查看可选文件头,找到对应IT和IAT的RVA和Size,如图所示。

修改对应位置,这里只有IT的size发生变动,故只修改此字段。而.rdata节表中的Virtual Size也不必修改,因大小变小不需要用到之后的部分。

修改完毕后,在代码节中写入部分代码利用这两个函数获取MessageBoxA的函数地址,使hello-2.5.exe程序原有功能正常。

修改.data段,添加代码段中要用到的字符串“user32.dll”和“MessageBoxA”,记下两个字符串的RVA分别为00403059和00403064。

修改.text段。

修改完毕保存文件,打开可执行文件,正常弹出对话框,实验成功。

4. 熟悉并修改PE文件的资源表

①用UltraEdit修改PEview.exe,使得该文件的图标变成csWhu.ico。

观察PEview复件的原有图标和替换图标的大小,发现原有图标大小大于替换图标,故可直接替换。(若替换图标比原有图标大,则可考虑将资源节移至文件最后)

用cswhu.ico文件的图像数据(28开始至最后全部内容),替换PE文件的icon0001结构。(从D4C0到D7A8)

将icon文件的icondir字段(20字节)复制到pe文件相应位置,将dwImageOffset修改为nID(1),即将16改为01。

保存文件,发现图标已改变且可以正常使用。

②熟悉eXeScope工具的实用,并利用该工具汉化PEview.exe程序。

打开文件菜单栏,将“open”改为“打开”。

发现成功汉化一处,以此类推即可完成所有汉化。(这里就比较坑,并没有手动全部汉化的方法,只能一项一项改)

5. 课后思考

①如何打造最小的PE文件:修改WHU_PE-2.5.exe文件,保持该文件的功能不变,使得该文件大小尽可能小。

将文件和内存对其粒度调整至最小(0004);可选文件头中只保留引入目录表项;节表也可删除;引入函数直接通过序号引入无需储存函数名字符串。

②替换程序的图标时,如果新图标比原有图标大,应该如何解决?

将资源节移至文件最后进行修改,保证数据多出部分不会影响到其他部分的数据。

③如何给一个没有图标的程序(如hello-2.5.exe),添加一个图标?

首先添加一个资源节表,需修改相应的数据(如节的数目、所占内存大小、节的大小等)。

再添加资源节,资源节的结构要一个一个进行添加,因为每个结构都包含相邻结构的起始位置等信息,是紧密相连的。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,463评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,868评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,213评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,666评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,759评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,725评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,716评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,484评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,928评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,233评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,393评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,073评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,718评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,308评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,538评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,338评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,260评论 2 352

推荐阅读更多精彩内容