本文介绍: ​某讯的手游保护系统用的都是一套,在其官宣的手游加固功能中有一项宣传是对比较热门的Unity3d引擎手游保护方案,其中对Dll文件保护介绍如下, “Dll加固混淆针对Unity游戏,对Dll模块变量名函数名、类名进行加密混淆处理,有效提高静态分析门槛”。通过动态分析了它的保护方法通过源码刷机方法绕过了它的保护方案(也可通过hook libc.so中的execve函数绕过保护),接下来可以直接使用GameGuardain这个神奇附加上去进行各种骚操作了。

 某讯的手游保护系统用的都是一套,在其官宣的手游加固功能中有一项宣传是对比较热门的Unity3d引擎手游保护方案,其中对Dll文件的保护介绍如下, “Dll加固混淆针对Unity游戏,对Dll模块变量名函数名、类名进行加密混淆处理,有效提高静态分析门槛”。

通过动态分析了它的保护方法通过源码刷机方法绕过了它的保护方案(也可通过hook libc.so中的execve函数绕过保护),接下来就可以直接使用GameGuardain这个神奇附加上去进行各种骚操作了。这里主要讲一下如何去从内存获取Assembly-CSharp.dll 和 Assembly-CSharpfristpass.dll文件

绕过保护后,先启动GameGuardian,再启动相关游戏,在某讯的Logo刚好出现时附加到游戏上,待游戏进入登录页面时,通过内存搜索值的方式搜索9460301(0x4D 5A 90 00)的十进制表示方式。这也是PE文件Dos头的特征码。搜索步骤结果如下

记录第一个值和最后一个的值,接下来的dump步骤需要(dump时,开始地址尽量比第一个值小,结束地址尽量比最后一个地址大,上下浮动大小尽量大于游戏中最大的Dll文件所占内存大小)。

等待保存完毕以后就可以手机拉取本地了。获取文件结果如下

接下来可直接使用get_dll_from_bin.exe这个工具直接从所有的bin文件dump出所有的dll文件操作后可用dnSpy直接打开所有的dll文件查看是否存在Assembly-CSharp.dll和Assembly-CSharpfristpass.dll两个文件。结果下图(本次获取到12个dll 文件):

 工具获取dll后直接使用数字命名,直接通过dnspy打开看看是否有最终的目标dll。

获取dll如下

并不存在需要获取dll文件。后面经过分析可知这套保护方案把Dos头的前128字节清空了。接下来就需要单个文件进行操作和修复了,使用010editor打开文件,搜索PE头的文件特征(50 45 00 00 4c 01 03 00)。然后通过搜索到的位置往前查看128字节是否被清零,如果是先把正常的pe文件的前128个字节复制,再往搜索到的位置的往前128字节进行粘贴修复即可如图

经过反复操作和修复后,再通过get_dll_from_bin.exe操作修复bin文件即可

经过操作后获取如下的Dll:

通过与解包后的资源文件大小比较,3.dll大小和Assembly-CSharp.dll相同

12.dll大小和Assembly-CSharpfirstpass.dll相同

分别将3.dll 和12.dll文件拖入dnspy中,如图所示3.dll是目标文件Assembly-CSharp.dll:

12.dll是Assembly-CSharp-fristpass.dll:

到此,所有目标文件已经获取完毕。

排版有点渣,将就看吧。主要是思路。望大牛轻喷。

最后 我们分享好用的工具。

 使用ipaguard来对程序进行加固

代码加固是进一步保护应用的一种方式,通常通过特定平台对应用进行加固处理。

这边以ipaguard为例,目前还在免费阶段,想薅羊毛的快快试试。

Ipa Guard是一款功能强大的ipa混淆工具,不需要ios app源码,直接对ipa文件进行混淆加密。可对IOS ipa 文件的代码,代码库,资源文件等进行混淆保护。 可以根据设置函数名、变量名类名等关键代码进行重命名混淆处理,降低代码的可读性,增加ipa破解反编译难度。可以对图片资源配置等进行修改名称,修改md5。只要是ipa都可以,不限制OC,Swift,Flutter,React Native,H5类app

所以就要使用混淆器,混淆器是把里面的代码变量信息进行重命名,这样可读性会变得非常差,接着,

这里我们完成了对代码的混淆,但是还没有进行加固,防止反编译,所以,请往下看

然后导入自己的包就可以了,这里是流水式的走下来,所以只需要导入导出就可以了,

添加单个文件,选择好刚刚混淆后的包,然后你做的事情就是等,等待上传完–加固完–下载完–已完成,当到已完成时候说明这里已经可以导出了,导出需要前面提到的自己创建签名,这里可是会用到的,如果不用,则包安装包可能出现问题

选择导出签名包,选择签名文件输入密码然后点击开始导出

导出的包是经过混淆,经过加固比较安全的包了

原文地址:https://blog.csdn.net/m0_74760716/article/details/134718100

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_34386.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注