0
点赞
收藏
分享

微信扫一扫

【Android 逆向】逆向修改游戏应用 ( APK 解析工具 | 解包 -> 分析 -> 重打包 -> 签名 流程 )

文章目录

一、APK 解析工具二、解包 -> 分析 -> 重打包 -> 签名 流程

一、APK 解析工具

使用 【Android 逆向】使用 Python 编写 APK 批处理分析工具 博客中的 Python 编写的 APK 处理分析工具 , 分析一个游戏应用 ;

上述工具中 , 使用到了一个核心的 Python 脚本 ApkTool.py , 在 【Android 逆向】ApkTool 工具使用 ( ApkTool 简介 | ApkTool 解包和打包 ) 博客中进行了简要介绍 ;

​该工具源码 :​ https://github.com/han1202012/APK

该 APK 处理程序会自动将 apk 目录下的 .apk 后缀的安装文件自动解包 , 分析其中的内容 , 然后自动进行重打包 , 其中农耕使用的签名文件是工程根目录下的 mykey-123456.keystore 签名文件 ;

【Android 逆向】逆向修改游戏应用 ( APK 解析工具 | 解包 -> 分析 -> 重打包 -> 签名 流程 )_重打包

二、解包 -> 分析 -> 重打包 -> 签名 流程

执行 APK 处理程序 , 开始分析 apk/Game.apk 文件 ;

【Android 逆向】逆向修改游戏应用 ( APK 解析工具 | 解包 -> 分析 -> 重打包 -> 签名 流程 )_android_02

​程序执行完毕后 , 分析结果如下 :​

  • 分析后提取的关键数据存放在 Game.txt 文件中 ;
  • 解包的文件放在 apk/unpack 目录中 ;
  • 重打包的文件放在 apk/repack/Game.apk 位置 , 此时改文件还未签名 , 不能执行 ;
  • 签名后的文件放在 apk/sign/Game.apk 处 , 该文件可以直接执行 ;

【Android 逆向】逆向修改游戏应用 ( APK 解析工具 | 解包 -> 分析 -> 重打包 -> 签名 流程 )_解包_03

​Game.txt 中的内容展示 :​ 应用名称 , 包名 , 程序版本号 , 编译时使用的 SDK 版本 , 重打包 / 签名 状态 , 当前使用的游戏引擎 等 数据 ;

【Android 逆向】逆向修改游戏应用 ( APK 解析工具 | 解包 -> 分析 -> 重打包 -> 签名 流程 )_原力计划_04

如果要修改 Game.apk 应用中的内容 , 需要在 解包后 , 使用 IDA 分析应用内的动态库 , 根据分析结果 , 修改 so / dll 动态库中的二进制机器码 , 然后使用修改后的动态库 替换 原来的动态库 , 再进行重打包操作 ;

举报

相关推荐

0 条评论