首页
社区
课程
招聘
[原创] 椎名里緒(RioShiina)2.50 脱壳教程
发表于: 2023-8-3 21:56 4572

[原创] 椎名里緒(RioShiina)2.50 脱壳教程

2023-8-3 21:56
4572

本文章由AyamiKaze首发在看雪平台,转载请标明出处
最近拆一个椎名里緒(以下称RioShiina)的游戏。众所周知RioShiina是出了名的难拆,不仅有垃圾代码和硬编码数据来反IDA的还原伪代码的功能,加密也是不常见的浮点数加密。不过今天不说这些,今天主要讲在2.50版本下出现的一个RioShiina自己写的壳。

一、初探启动点。

我手上这个样本的入口点事这样的
1

可以看到,他压了一堆寄存器入栈,来保护现场,随后传入了text段的开始以及一些参数到一个函数里。然后把rdata段也传了进去。基本可以猜测,0x00EF2450是重要函数。

二、解密text段

基本上我们可以猜测,text段的解密就在0x00EF2450这里面。为了验证这一点,我们在text段下内存写入断点。

2

可以看到,这一段对dl做了一部分操作,再塞回去,应该是解密了。jne是循环解密。我们可以直接跳出。

3

这时候我们看text段,就是解密好的代码段了。

三、定位OEP

其实到这一步已经很简单了,再对text段下F2断点,跑起来就能执行。但你仔细分析下面的代码依然可以发现,他直接硬编码了jmp到oep。

4

下面指的那个就是硬跳转

5

之后直接dump即可。

四、总结

这是一个十分典型的加密壳,没有代码混淆,也没有复杂的算法,非常适合新手来练手来熟悉壳的操作和调试器的操作。


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

最后于 2023-8-3 21:59 被AyamiKaze编辑 ,原因:
收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//