1.Unity3D 导出的源码apk进行混淆加固、保护与优化原理(防止反编译)
Unity3D 导出的源码apk进行混淆加固、保护与优化原理(防止反编译)
某讯手游保护系统采用了一套方法,源码其中包括对Unity3D引擎手游的源码保护方案。该方案对Dll文件的源码保护措施包括对变量名、函数名、源码好客的软件源码类名进行加密混淆处理,源码以提升静态分析的源码难度。
尽管可以通过动态分析改源码刷机或hook libc.so中的源码execve函数来绕过该保护方案,但本文主要讲解如何从内存中获取Assembly-CSharp.dll和Assembly-CSharp-firstpass.dll文件。源码绕过保护后,源码启动GameGuardian,源码在游戏Logo出现时附加到游戏上,源码opendpi源码并在登录页面通过内存搜索值的源码方式搜索PE文件Dos头的特征码。记录下第一个值和最后一个的源码值,然后进行dump操作。
保存完毕后,可以从手机上拉取文件到本地。使用get_dll_from_bin.exe工具从bin文件中dump出所有的message 源码dll文件,并用dnSpy打开查看是否存在目标dll文件。如果不存在,可能需要使用editor打开文件,修复被清零的PE头前字节,然后通过get_dll_from_bin.exe操作修复的bin文件。
经过操作后,wekan 源码可以获取到与Assembly-CSharp.dll和Assembly-CSharp-firstpass.dll大小相同的文件。将这两个文件拖入dnspy中,可以看到3.dll是目标文件Assembly-CSharp.dll,而.dll是Assembly-CSharp-fristpass.dll。至此,所有目标文件已获取完毕。渔夫源码
最后,分享一款好用的工具——ipaguard,用于对程序进行加固。Ipa Guard是一款功能强大的ipa混淆工具,可以直接对ipa文件进行混淆加密,保护代码、代码库、资源文件等。通过设置,可以对函数名、变量名、类名等关键代码进行重命名和混淆处理,降低代码的可读性,增加破解反编译难度。此外,还可以修改、资源、配置等文件的名称和md5值。
在使用混淆器后,还需要进行加固以防止反编译。导入自己的包,选择好混淆后的包,等待上传、加固、下载完成后,即可导出经过混淆和加固的安全包。