精易论坛

标题: 手游安全之U3D游戏某雪传奇的逆向分析 [打印本页]

作者: weiqijie66    时间: 2021-1-10 20:16
标题: 手游安全之U3D游戏某雪传奇的逆向分析
本帖最后由 weiqijie66 于 2021-1-10 20:42 编辑

最近比较火的一个游戏,闲来无事就对它进行了逆向分析,记录一下分析过程准备工具   IDA  010 dnSpy

拿到安装包直接用360压缩打开 在lib目录下可以看到两个关键SO libunity.so 和 libmonobdwgc-2.0.so,在assets\bin\Data\Managed目录下能看到 Assembly-CSharp.dll

这里就可以基本断定这是一个C#写的游戏,一般这类游戏核心逻辑在Assembly-CSharp.dll里
直接用dnSpy打开 Assembly-CSharp.dll 发现无法正常浏览。再用010打开,发现文件头不是MZ。说明游戏对这个DLL进行了加密

既然有加密,那么肯定要解密才能让游戏正常运行


将libmonobdwgc-2.0.so拖入IDA 找到函数mono_image_open_from_data_internal 通过查看伪代码



可以找到这个DLL解密的地方 关键代码已经在图中标出 通过伪代码可以大致猜出他是删除DLL的前4个字节,然后每个字节与0x87进行异或
这里用易语言来写解密代码

解密完成后用010打开

出现MZ说明解密成功 用dnSpy也能正常浏览


到这里,这个游戏的核心逻辑已经被我们弄出来了!对这个游戏的逆向也到此结束

总结:
1.手游逆向的核心就是获得游戏源代码,所以对源代码的保护是手游安全的重中之重,可以对源代码进行适当混淆,以及对SO进行加固来提高安全性
2.由于mono框架是一个开源框架,所以可以直接修改运行流程,在别的地方加载DLL,以提高安全性(某易盾就是以这种方式进行提高安全性)











QQ截图20210110194653.png (73.8 KB, 下载次数: 0)

QQ截图20210110194653.png

作者: xiaoxiao2    时间: 2021-1-14 03:30
牛人!!!
作者: 3567113    时间: 2021-1-20 21:27

好厉害啊
作者: mjyun716    时间: 2021-3-21 13:29
大神 ,看了你传奇的帖子,一起研究研究可好,我的v15823290588
作者: qxuem    时间: 2021-4-4 20:58
看的.一脸懵逼
作者: shenjianga    时间: 2021-4-9 22:40
大佬 你说的010是什么工具
作者: 3359485426    时间: 2021-6-22 16:46
66666666666666666
作者: 花颜宝儿    时间: 2023-8-27 16:06
这头像 一看就是 脱机大佬
作者: wanlig34    时间: 2023-11-24 16:52
大佬不愧是大佬~




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4