【逆向工程】破解unity的安卓apk包

先了解一下普通apk包的逆向方法(无加密或加壳)

开发环境:

  1. 操作系统:windows

解apk包

  1. 下载工具:apktool【Install Guide | Apktool

  2. 按照文档说的操作就行,先安装java运行时环境【我安装的是jre-8u441-windows-x64】,在系统环境变量里添加【JAVA_HOME】

  3. 下载批处理【https://raw.githubusercontent.com/iBotPeaches/Apktool/master/scripts/windows/apktool.bat

  4. 在批处理所在路径下,打开Windows命令行(或打开命令行,cd到路径下)执行代码

    bash 复制代码
    apktool d xxx.apk
  5. 导出的路径就在执行命令的路径下,里面的AndroidManifest.xml可以打开直接查看了,没有经过解析的是二进制形式,无法直接查看。

  6. 参考1:记录几种获取AndroidManifest.xml文件的方式 - 火线 Zone-安全攻防社区

  7. 参考2:安卓逆向_2 --- Androidkiller、apktool、jadx、jeb、gda-CSDN博客

解unity bundle包

  1. 使用工具:AssetStudioGUIUnityDataTools

  2. AssetStudioGUI:下载【https://github.com/Perfare/AssetStudio/releases】or【AssetStudioGUI官方下载_AssetStudioGUI最新版v0.16.21免费下载_3DM软件】,使用简单,把ab包拖进去就可以了,如果出现"数组纬度超越了支持的范围"的提示,可以先忽略,一般导出里面的图集是没问题的。想解决的参考下面的链接【https://www.zhihu.com/question/585225358

  3. UnityDataTools:unity官方自己的工具,地址【https://github.com/Unity-Technologies/UnityDataTools】。我只用来分析里面资源都打包了啥。

    bash 复制代码
    set toolExe=【UnityDataTool.exe所在路径】
    set output=【导出路径】
    set input=【ab包所在路径】
    
    %toolExe% analyze %input% -o %output%\my_database.db -p *.ab

    生成的分析数据存放在my_database.db里,使用【SQLite Expert Professional】打开查看就行。

反编译代码

  1. 使用工具:.NET Reflector【】

  2. 没经过加密的代码,直接把dll拖进ReflectorInstaller就能看大部分c#代码了。

  3. 试用期重置

    bash 复制代码
    // 存放在文件Clear.reg,双击执行就可以
    Windows Registry Editor Version 5.00
    
    [-HKEY_CURRENT_USER\Software\Red Gate]
    [-HKEY_CURRENT_USER\Software\Red Gate Software Ltd.]
    [-HKEY_CURRENT_USER\Software\Thingummy Software]

参考:

  1. 【官方】https://github.com/Perfare/AssetStudio
  2. https://www.zhihu.com/question/585225358
  3. AssetStudioGUI获取Unity游戏资源-CSDN博客
  4. 【官方】https://github.com/Unity-Technologies/UnityDataTools
  5. https://en.wikipedia.org/wiki/.NET_Reflector
  6. .NET Decompiler: Decompile Any .NET Code | .NET Reflector
  7. 使用Reflector反编译并提取源代码 - 惊风雨 - 博客园
  8. 反编译工具Reflector下载(集成两个常用.net插件,FileGenerator和FileDisassembler) - Ethan Shan - 博客园
  9. Reflector反编译工具安装程序详解-CSDN博客
  10. Reflector 试用过期后重置试用 - 走看看
相关推荐
阿巴斯甜14 小时前
Android 报错:Zip file '/Users/lyy/develop/repoAndroidLapp/l-app-android-ble/app/bu
android
Kapaseker14 小时前
实战 Compose 中的 IntrinsicSize
android·kotlin
xq952715 小时前
Andorid Google 登录接入文档
android
黄林晴16 小时前
告别 Modifier 地狱,Compose 样式系统要变天了
android·android jetpack
冬奇Lab1 天前
Android触摸事件分发、手势识别与输入优化实战
android·源码阅读
城东米粉儿1 天前
Android MediaPlayer 笔记
android
Jony_1 天前
Android 启动优化方案
android
阿巴斯甜1 天前
Android studio 报错:Cause: error=86, Bad CPU type in executable
android
张小潇1 天前
AOSP15 Input专题InputReader源码分析
android
_小马快跑_2 天前
Kotlin | 协程调度器选择:何时用CoroutineScope配置,何时用launch指定?
android