35. 脱壳篇-UPX和WinUpack压缩壳的使用和脱法

时间:2024-04-11 22:11:28

UPX官网:http;//upx.sourceforge.net

UPX加壳

35. 脱壳篇-UPX和WinUpack压缩壳的使用和脱法

通过cmd窗口执行,进入upx目录,执行:

upx.exe fishc.exe

35. 脱壳篇-UPX和WinUpack压缩壳的使用和脱法

35. 脱壳篇-UPX和WinUpack压缩壳的使用和脱法

或者直接将exe拖至upx.exe上即可

UPX脱壳

upx -d abc.exe

如果作者在导入表等地方修改的话,这种方式就不可以脱壳了,因为他自己都不认识自己了

一般情况下,加壳的程序均为 pushad

35. 脱壳篇-UPX和WinUpack压缩壳的使用和脱法

应用堆栈平衡法(ESP改变)找到

35. 脱壳篇-UPX和WinUpack压缩壳的使用和脱法

最好我们脱壳不要用OD的重建导入表,失败率很高,最好用ImportREC来重建

35. 脱壳篇-UPX和WinUpack压缩壳的使用和脱法

保存修正的OEP地址,dump

35. 脱壳篇-UPX和WinUpack压缩壳的使用和脱法

打开ImportREC,替换OEP地址

35. 脱壳篇-UPX和WinUpack压缩壳的使用和脱法

查看RVA和Size的正确

复制RVA地址+基址4=46B128,最后Set Imports

35. 脱壳篇-UPX和WinUpack压缩壳的使用和脱法

fix dump

记住保存选择OD生成的dump.exe,会新生成已个dump_.exe

35. 脱壳篇-UPX和WinUpack压缩壳的使用和脱法

 

 

 

WinUpack加壳

选择选项后将文件拖进来点击压缩即可加壳

35. 脱壳篇-UPX和WinUpack压缩壳的使用和脱法

他还会生成已个备份bak,以防我们做了错误事情 

35. 脱壳篇-UPX和WinUpack压缩壳的使用和脱法

35. 脱壳篇-UPX和WinUpack压缩壳的使用和脱法

WinUpack脱壳

35. 脱壳篇-UPX和WinUpack压缩壳的使用和脱法

35. 脱壳篇-UPX和WinUpack压缩壳的使用和脱法

35. 脱壳篇-UPX和WinUpack压缩壳的使用和脱法

35. 脱壳篇-UPX和WinUpack压缩壳的使用和脱法

C界面寻找401018,应用堆栈平衡法找到OEP

不要选中重建表,保存OEP地址

35. 脱壳篇-UPX和WinUpack压缩壳的使用和脱法

打开ImportREC,修正基址,修正KVA,修正Size,然后SetImport,最后查看有没有错误信息Show Invalid,Fix dump。

还原后如果嫌弃太大呢,最后也可以LordPE压缩一下

PE Edit,Rebuil PE

35. 脱壳篇-UPX和WinUpack压缩壳的使用和脱法

35. 脱壳篇-UPX和WinUpack压缩壳的使用和脱法