最简单的情况:
未加密代码,未使用Assest Bundle打包代码。
1.将.apk后缀修改为.rar,打开.rar文件,找到Assembly-CSharp.dll文件,解压到任意位置。(通常源代码在Assembly-CSharp.dll中)
2.使用ILSpy打开Assembly-CSharp.dll,选择Save Code…,保存为.csproj类型,用Visual Studio打开.csproj查看反编译出的源代码。
附:ILSpy下载地址:https://github.com/icsharpcode/ILSpy/releases
3.使用Windows系统自带的ildasm打开Assembly-CSharp.dll,选择File–Dump,保持默认设置,选择OK,输入文件名保存。
附:ildasm位置:“C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin\ildasm.exe”
4.用文本编辑器打开.il文件,对照源代码按自己意愿修改IL汇编代码,保存。
附:IL指令集 http://www.cnblogs.com/zery/p/3368460.html
5.打开命令提示符,进入.il文件所在文件夹,输入
C:\Windows\Microsoft.NET\Framework\v4.0.30319\ilasm.exe /dll/resource= test.res test.il
将.il文件重新编译为test.dll。
6.重命名编译后的dll文件为Assembly-CSharp.dll,替换apk包中的Assembly-CSharp.dll,后缀.rar改为.apk。
破解成功!
7.此时apk包已可在低版本安卓系统上安装使用(如部分安卓模拟器)。
高版本系统需要验证签名,使用安卓签名工具重新签名即可
(注意部分应用程序接口会验证签名,修改后的签名导致部分功能不可用,如微信登陆,此时不重新签名可在低版本安卓正常使用)。
Unity手游破解(二):https://blog.csdn.net/qq_41595874/article/details/88928505
Unity手游破解(三):https://blog.csdn.net/qq_41595874/article/details/88929049