脱壳

参考链接:https://blog.csdn.net/qq_45323960/article/details/127883048?

ops_request_misc=&request_id=de0809d69d604e6ea51b6725ce365671&biz_id=&utm_medium=di

stribute.pc_search_result.none-task-blog-2blogkoosearch~default-2-127883048-null

null.268^v1^control&utm_term=2022CTF%E5%9F%B9%E8%AE%AD&spm=1018.2226.3001.4450

https://blog.csdn.net/weixin_45986910/article/details/107993680

背景

壳实质上是⼀个⼦程序,在程序运⾏时⾸先取得控制权并对程序进⾏压缩,同时隐藏程序真正的OEP。

脱壳的⽬的就是找到真正的OEP。

OEP:程序的⼊⼝点,软件加壳就是隐藏了OEP(或者⽤了假的OEP), 只要我们找到程序真正的

OEP,就可以脱壳。 PUSHAD (所有寄存器压栈) 代表程序的⼊⼝点,POPAD (出栈) 代表程序的

出⼝点。

DLL(Dynamic Link Library)⽂件为动态链接库⽂件,很多Windows可执⾏⽂件并不是⼀个可以完整执⾏

的⽂件,⽽是被分割成了多个DLL⽂件。当我们执⾏⼀个⽂件的时候,对应的DLL⽂件就会被调⽤。

1ITA(Import Address Table):导⼊地址表。在不同版本的Windows系统中DLL的版本不同,那么我们需

要借助ITA,获取函数的真实地址。

分为压缩壳与加密壳

UPX壳

文件特征

4D 5A 90 00开头

1722397048051-ab8719f5-61b4-4079-bcd8-53fd7726d4db.jpeg

自动脱壳

upx -d

常规

1717925027521-60d94ae0-5574-4c90-871c-5560b37e8c8d.png

发现有个upx壳,

./upx.exe -d attachment-15.attachment-15

1717925197043-63f8fb4c-372a-49ca-835b-1e5341b320c3.png

即可完成脱壳

手动脱壳

打开发现有UPX壳

1721461309345-00b8f316-2ad4-4dca-a9fa-0d0e8fd30179.png1721461329304-9cab47c2-36be-4905-b848-07da03efeda1.png

放入x64dbg,打开选项勾选入口断点

1721461390116-527415e4-6bff-4682-8d66-591e781c3e48.jpeg

F9 运行程序

F7 单点过完push

1721461502318-df6429cd-c5bd-47d9-8c04-542daeea7141.jpeg

到 push 的下一个指令,右键右边寄存器 RSP 选在内存窗口中转到

1721461688508-423f6a99-51fe-423b-bfd1-dafc3611abec.jpeg

在左下内存窗口的阴影处右键选断点 硬件,读取 2字节

1721461751384-f2d17d2c-591d-4107-ae44-333bee788fbd.jpeg

再 F9 运行程序

F7 单点执行到 jmp

1721461791740-4ef68d2c-c364-4676-a6cf-e5c96a6b3db3.jpeg

要多步过几次才能跳出循环,

然后跳转到这

1721462778032-481f1f2f-c5a9-474b-9d6c-02ae7c3d6fbe.jpeg

ctrl+i使用插件

1721462802787-eec10436-a97a-40a5-8e23-248675eebeee.jpeg

自动寻找IAT,然后dump下来

1721462819438-e6cfbfbc-e7ed-4ad6-9352-e22463100816.jpeg

将 × 的删掉, fix dump 一下

1721462879486-1b695a19-6253-4a45-bca6-fcf1661b9705.jpeg

1721463089860-6dde9b59-d182-4b86-9afb-22c93f5741f0.jpeg

然后用IDA打开就行

1721463162459-dfbf1f30-0fd4-4780-891f-1c9c0b6ea522.png

1721463182729-ee0b5d34-89ec-4552-9cf0-83905cfdf15f.png

1721463208740-c8802f77-02e3-45f5-88ac-7938a8c2dde9.png

1721463245110-0638e5ee-763c-4281-8224-266c7015efdf.png

更新: 2024-11-13 10:36:58
原文: https://www.yuque.com/chaye-apqbl/vsc85q/ic770vecloxmi8yz


http://example.com/2026/01/19/RE/基础/脱壳/
Author
chaye
Posted on
January 19, 2026
Licensed under