手脱64位UPX壳

手脱64位UPX壳

背景

近期舍友不知道为啥忽然要汉化一个GTA的外挂,第一次听说他要汉化,问了我一堆关于逆向的东西。由于外挂加了upx的壳(也是peid说的,我感觉是一个很奇怪的壳),他搞不定于是发来给我。

我平时也是逆向linux的elf文件多一些,windows的而且还是64位的几乎没搞过,平时也没脱过什么壳,也就是听说过原理而已(感觉不难),再加上我之前的电脑坏掉了返厂修了,新电脑刚到手,什么环境都没有,需要现搭建,虽然比较麻烦,不过毕竟就是脱个壳而已,原理啥的我也听说过,正好到了周末也可以试试。

分析软件

拿到程序之后我下了个52破解的虚拟机,发现是32位的,由于程序是64位的,导致里面的工具都用不了…哭。不过也没事,就是脱个壳,直接下一个动态调试的工具就行,属实没弄过64位的windows程序,下了个x64dbg,之前没用过,打开之后发现界面还有快捷键和od几乎一样,小开心一波。

看了下程序,打开直接就弹窗,说我没有打开GTA5游戏…不过也不是破解软件,就没必要下载GTA了,直接开始脱壳吧:

脱壳过程

脱壳过程有点容易…我先一直单步执行,执行到一个向上跳转的地方,按照单步执行的原则,我需要直接执行到它的下一句,于是我在下一句下断点然后点运行:

这说明我OEP找错了,这么好看的地方都不是OEP,那我只能继续向后找。因为这是第一次跳到这里,在这之前一直都在ntdll的地方执行,OEP肯定不会只在那里,所以我只能向后找。我知道这个程序刚打开由于我没有GTA进程,他会弹窗告诉我没有找到GTA,所以我一句一句执行到弹窗的代码,那么者之间就会存在OEP,而且说不定OEP也很明显就会被发现:

感触

也没啥感触,感觉脱个64位壳也不过如此嘛。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年7月2日
下一篇 2019年7月2日

相关推荐