upx
我们于Reverse中常见的一种壳,这里介绍两种方式的脱壳
使用工具脱壳
链接
根据自己电脑的配置进行下载,我这里是win64,所以我下载的是win64
下载好后,解压出来
真正有用的就upx.exe,将他复制到一个文件夹中(这个文件夹可以新建,也可以放到一个专门存放工具的文件夹中方便以后我们的使用)
在红框中输入cmd,回车,就会跳转到该文件的终端目录下
测试upx是否能够正常运行,如图即为正常:
脱壳命令
upx -d <filename>
如buu上的新年快乐这道题
命令就是upx -d 新年快乐
注意,在没有配置环境变量前,必须将附件复制到upx.exe所在的目录下才能使用,否则会出现找不到文件的情况
成功脱壳
比较一下:
没脱壳之前ida的界面如下:
脱壳之后:
环境变量
每次都需将附件复制到upx.exe文件夹的目录下,不仅费时也费力,这样很影响我们比赛的时候的争分夺秒,这就需要我们通过配置环境变量来实现upx.exe在任意目录下都可以使用,来看看怎么操作吧
在这里搜索环境变量或者编辑系统环境变量
将upx.exe所在的路径复制下来,输入即可
我的是D:\CTF\Reverse\Tool,就直接输入即可,然后一路确定,最后重启终端
没有添加环境变量的情况:
添加之后
手动脱壳
需要工具dbg调试器,吾爱破解网盘上有,大家自行下载
dbg载入新年快乐
稍微解释一下,pushad是汇编的指令(有兴趣的可以去了解一下汇编我这里不做详细的介绍)
pushad:将所有寄存器的值压入栈中
在这两条红线中任选一个值,右键
依次点击,后摁下f9
f8,执行到红框所在的地址
打开插件,选择scylla
- 转储
- IAT自动搜索(有信息窗口弹出,选择yes/是)
- 获取导入
- 修复转储,会弹出一个选择,选择我们转储出来的文件也就是newstar_dump.exe(这是我的哈,你们根据你们的文件名选择),打开
有这个即为成功,在同目录下,我们能找到newstar_dump_SCY.exe文件,这个文件就是我们脱壳后的文件