吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 21559|回复: 60
收起左侧

[Android 原创] 【新手】dump出u3d游戏《彩虹岛W》中加密dll

  [复制链接]
hyc199844 发表于 2017-9-19 23:36
本帖最后由 hyc199844 于 2017-9-19 23:44 编辑

作为一个彩虹岛老玩家听说《彩虹岛》手游终于出了,心情顿时激动不已,然而当下载APK之后才发现刚刚过了二测截止时间。。。于是我就把它拖进androidkiller,发现它是用unity3d引擎开发的,且assembly-CSharp.dll已被加密。而之前没有接触过这类游戏的逆向,所以在网上找了大量的资料,也调试了很多次(甚至换手机调试。。终于dump成功了,写下此贴以记录这段过程,并将自己的所得分享给大家。。

首先给大家分享几个帖子作为参考:
帖子一:http://blog.csdn.net/feibabeibei_beibei/article/details/52740212
帖子二:http://blog.csdn.net/huutu/article/details/51902940


将原始APK解压并将assets\bin\Data\Managed中的assembly-CSharp.dll拖进.net reflector后,出现了
修改前1.PNG

说明该dll已被加密。根据网上查到的资料,加密代码应该是在lib/armeabi-v7a中的libmono.so中。根据上面“帖子一”第三点中的反调试步骤,成功将APP置于IDA中调试
(我使用的是ida6.8,用我现在的android6.0手机调试时,将ida附加进程后,android_server这边一直显示Failed to find r_debug in /system/bin/linker,在网上查过之后也没有找到解决方案,因此换了一部Android4.1的旧手机调试,于是没再出现这个问题)
由于“帖子一”中已经很详细的介绍了反调试的步骤,这里就直接上图

QQ图片20170919205632.png
QQ图片20170919205159.png
QQ图片20170919205209.png
QQ图片20170919205204.png
QQ图片20170919205249.jpg
QQ图片20170919205255_LI.jpg
QQ图片20170919205218.jpg

这时,按照“帖子二”的方法,按F9运行,直到Modules中出现libmono.so
QQ图片20170919205300.jpg

双击libmono.so,进入mono_image_open_from_data_with_name函数,按F5查看C代码
QQ图片20170919205303.jpg

与“帖子二”对比猜测v15和v7是与DLL数据有关的两个值
QQ图片20170919205313.png

将鼠标放在v15和v7上,发现v15对应寄存器r10的值,v7对应寄存器r6的值
QQ图片20170919205317.png

QQ图片20170919205322.png

在mono_image_open_from_data_with_name函数下找r6和r10出现频繁的地方,发现
QQ图片20170919205327.png

在“ADD R6,R10,R6"和”STR R10,[R4,#0]两处F2下断,当程序运行到这两处时它们的值如下
QQ图片20170919205336_LI.jpg
QQ图片20170919205340_LI.jpg

而0x692DA628 - 0x67C22008 = 0x016B8620,于是推测第二个断点处R6和R10分别存储了DLL数据的首末地址,16B8620是数据的长度
于是shift+F2输入IDC脚本

QQ图片20170919205346.jpg

运行后成功输出lataleDump.dll文件,将其放入原目录后,拖进.net reflector,成功载入
QQ图片20170919211222.jpg

于是可以开始修改啦~开心 第一次逆向u3d游戏,如果有什么不正确或不恰当的地方还请指正。。

免费评分

参与人数 21威望 +2 吾爱币 +37 热心值 +20 收起 理由
wsygodpplike + 1 我很赞同!
醉生梦死ソ + 1 + 1 热心回复!
leroyking + 1 + 1 想玩,有app链接吗
gunxsword + 1 + 1 热心回复!
gongjiankk + 1 用心讨论,共获提升!
calmest + 1 + 1 我很赞同!
Three_fish + 1 + 1 谢谢@Thanks!
arryboom + 2 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
snccwt + 1 + 1 热心回复!
95535916 + 1 + 1 我很赞同!
一步梦想 + 1 + 1 谢谢@Thanks!
letgone + 1 + 1 已答复!
qtfreet00 + 2 + 12 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
899200 + 1 + 1 已答复!
卖血上网 + 1 + 1 我很赞同!
Sound + 6 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
不懂破解 + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
h080294 + 1 + 1 热心回复!
693613898 + 1 + 1 我很赞同!
fengzhi-1 + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
秋人 + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

二鹿丶 发表于 2017-9-20 09:07
LZ弄成功能不能分享一下。,我也是彩虹老玩家了,想玩ing........
skfxzxc 发表于 2017-9-20 09:19
达子 发表于 2017-9-20 00:01
头像被屏蔽
卧龙传说 发表于 2017-9-20 00:34
提示: 作者被禁止或删除 内容自动屏蔽
艾莉希雅 发表于 2017-9-20 01:10
不过现在的游戏要么用il2cpp要么libmono搞鬼……opcode换掉什么的
asd9988 发表于 2017-9-20 02:20
感谢大哥的分析,不过对于ANDROID 不太明确的能够展示是我的问题。。
秋人 发表于 2017-9-20 03:08
留下脚印,学习了。
fengzhi-1 发表于 2017-9-20 05:38
学习了 感谢分享
caddy 发表于 2017-9-20 08:12
谢谢分享
846530637 发表于 2017-9-20 09:00
楼主技术不错,算是高手
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-22 22:30

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表