吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 28369|回复: 69
收起左侧

[Android 原创] 记一次FGO逆向过程 chapter1

  [复制链接]
ss22219 发表于 2018-2-9 09:23
本帖最后由 ss22219 于 2018-3-5 16:44 编辑

首先百度搜索fgo,发现是bilibili代{过}{滤}理的一款游戏,直接下载apk包,版本是1.17.1

安装jdk 1.8,mumu模拟器,NET.Reflector, IDA pro

改变格式为zip,查看到lib目录内有libmono,旧版unity3d无误
直接解压Assembly-CSharp.dll出来,用Reflector打开不了,估计是加密过了
1.png





解压libmono出来,用ida打开,发现是加了壳
2.png

为了验证是不是所有so都加壳了,并由某个so来解壳,打开看上去名字很叼的libfunnykey
打开来看没加壳,里面有一个有深意的函数,先记下来:

3.png

int GetFunnyKey()
{
return (int)"loe7vGe2wMU/h8Ik/XdS86QHavZ75uiqI6skBH3mo0KeOim6GbMbFQ==";
}

对于libmono解密dll,这篇文章说得比较详细,介绍了好几种思路
https://www.52pojie.cn/thread-401702-1-1.html
里面提到几种libmono脱壳方法,打算选用动态调试来解析



打开libunity,在libunity中找到了mono_image_open_from_data_with_name方法的导入
4.png

猜想是libmono自己脱壳

调试环境选的是mumu模拟器,模拟器附带有adb工具,地址是
C:\Program Files (x86)\Nemu\vmonitor\bin\adb_server.exe


把C:\Program Files (x86)\Nemu\vmonitor\bin添加到Path环境变量中,并复制adb_server.exe到adb.exe
adb connect 127.0.0.1:7555

Ida调试服务端
C:\Program Files (x86)\IDA 6.6\dbgsrv\linux_server
adb push "C:\Program Files (x86)\IDA 6.6\dbgsrv\linux_server" /data/data/linux_server
adb shell
chmod 755 /data/data/linux_server
/data/data/linux_server
结果运行不了
换了android_server和linux_serverx64都不行
5.png




猜想是ida版本的问题,换了IDA Pro v7.0
打开目录IDA_Pro_v7.0_Portable\dbgsrv
发现里面有一个叫android_x86_server,这个是6.6里面没有的
adb push android_x86_server /data/data/
adb shell
chmod 755 /data/data/android_x86_server
/data/data/android_x86_server
成功运行起来了
6.png


新打开一个cmd窗口
adb forward tcp:23946 tcp:23946
把端口暴露出来

直接打开ida7.0,打开libmono,神奇的发现居然解析出来了,不过是加过壳的,看不出来内容
7.png

选择remote linux调试器,设置ip地址为127.0.0.1
选择attach,发现找不到程序,原来游戏我还打开。。。
打开后cancel重新attach,选择 com.bilibili.fatego 这个进程
提示你找到libmono,与本地的相同不相同,我直接点same
然后一直抛异常,直接设置不处理,然后就卡死了,关掉ida,重新打开,不打开文件直接附加
直接就退出来了,应该是有反调试处理,这。。。这就涉及到我的知识盲区了,这个系列就到此为止吧!

怎么能就这样放弃!
https://github.com/iSECPartners/Android-OpenDebug
下载Android-OpenDebug,让模拟器直接打开所有程序的debug开关,无需改apk即可调试
安装好后重启模拟器

然后看看手头要准备的工具:android sdk

以前下载好的一个旧版本r24.3.4,解压出来打开tools\ddms.bat

发现能用,恩。。还行,打开游戏,然后在ddms窗口中选中进程

ddms没有任何数据,嗯。。重新运行下adb connect 127.0.0.1:7555
8.png


运行一条指令以debug模式启动游戏:

adb shell am start -D  com.bilibili.fatego/jp.delightworks.Fgo.player.AndroidPlugin

后面的包名是用apktool解包出来看到的

运行一条调试器附加命令

jdb -connect com.sun.jdi.SocketAttach:hostname=localhost,port=8700

提示jdb找不到,垃圾java!

设置Path C:\Program Files\Java\jdk1.8.0_131\bin

重新打开cmd窗口,运行,成功附加进去了,游戏运行成功,目测没有java层反调试

总算有点希望了,先休息一下

下一章:
https://www.52pojie.cn/thread-697414-1-1.html

免费评分

参与人数 29吾爱币 +28 热心值 +30 收起 理由
雪域魔皇 + 1 + 1 谢谢@Thanks!
906790185 + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
Xer0 + 1 + 1 我很赞同!
STSnaive + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
fengyuan2019 + 1 用心讨论,共获提升!
Aurorae + 1 + 1 谢谢@Thanks!
麦米尔加弗德 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
Sayuki1025 + 1 + 1 谢谢@Thanks!
HeisenbergSong + 2 + 2 感谢发布原创作品,吾爱破解论坛因你更精彩!
zamliage + 1 + 1 果然是技术流!
dibh10 + 1 + 1 用心讨论,共获提升!
Vs.Kendo + 1 + 1 向dalao低头
zbyzbyzby2 + 1 + 1 谢谢@Thanks!
qwertvgty + 1 + 1 用心讨论,共获提升!
malno + 1 + 1 我很赞同!
hang333 + 1 + 1 fgo万岁
youcaihua + 1 + 1 很棒谢谢
chang1321 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
dwq308 + 1 + 1 谢谢@Thanks!
qzr + 1 + 1 用心讨论,共获提升!
寒蝉鸣泣之时 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
小神喏喏 + 1 + 1 谢谢@Thanks!
Excalibursx + 1 + 1 谢谢@Thanks!
niconico128 + 1 + 1 卧槽 举报了举报了
akria00 + 1 + 1 谢谢@Thanks!
csl2438883838 + 1 + 1 楼主我的圣晶石全靠你了
jacyfan046 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
mincai + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
夏雨微凉 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!

查看全部评分

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

toshman 发表于 2018-2-9 11:15
1.17.1版本以前mono是不加壳的,52也有很多修改,听说有人用ILSPY直接引出三个类CryptData、ResponseData、NetworkManager的IL替换掉之前的修改版就成功了。不过动态调试脱壳就不清楚了,祝楼主玩的开心。
夏雨微凉 发表于 2018-2-9 09:36
z529943198 发表于 2018-2-9 09:48
本帖最后由 z529943198 于 2018-2-9 10:58 编辑

支持下楼主 !!
狼来了呀 发表于 2018-2-9 09:54 来自手机
加油加油^0^~
梦他梦她 发表于 2018-2-9 10:00

加油楼主
LightingZero 发表于 2018-2-9 10:20
前排加油!期待下面的过程!
一喵惊人 发表于 2018-2-9 10:44
mark,学习学习
akria00 发表于 2018-2-9 11:11
然而楼主so解密出来了吗?期待你的更新 ~
热乎雪糕 发表于 2018-2-9 17:20
求楼主py码
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-15 13:46

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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