逆向分析

  • 1. 实现目标
  • 2. 使用工具
  • 3. 实现原理
  • 4. 核心思路
  • 5. 实现过程
  • 1. 实现内购
  • 2.屏蔽游戏下线提醒信息


1. 实现目标

(1)屏蔽经典经典贪吃蛇大作战游戏的过期提醒

(2)内购游戏道具

2. 使用工具

(1)雷电模拟器9

android游戏 java android游戏逆向_搜索

(2)经典经典贪吃蛇大作战(apk文件)

android游戏 java android游戏逆向_搜索_02

android游戏 java android游戏逆向_android_03


(3)Android Killer

android游戏 java android游戏逆向_网络安全_04


Android killer

Android Killer 是一款可视化的安卓应用逆向工具,也是目前使用最为广泛的Android逆向工具开发的集成平台。它能完成Apk反编译、Apk打包、Apk签名,编码互转,ADB通信等各种功能,实现各种工具的自动化运行,支持日志输出、语法高亮和基于关键字项目内搜索,同时可自定义外部工具,从而大大简化了安卓应用逆向过程中的各类繁琐工作。

3. 实现原理

APK文件
Android应用程序包(Android application package,APK)是Android操作系统使用的一种应用程序包文件格式,用于分发和安装移动应用及中间件。其构造方式与JAR文件类似,是一种基于ZIP文件格式的文件。一个Android应用程序的代码想要在Android设备上运行,必须先进行编译,然后被打包成为一个被Android系统所能识别的文件才可以被运行,而这种能被Android系统识别并运行的文件格式便是“APK”。 一个APK文件内通常包含被编译的代码文件(.dex 文件)、文件资源(resources)、 原生资源文件(assets)、证书(certificates)和清单文件(manifest file)。

4. 核心思路

(1)启动Android Killer工具
(2)将本实验所用apk导入Android Killer
(3)搜索相关语句分析代码
(4)测试修改后的apk文件

5. 实现过程

1. 实现内购

(1)使用雷电模拟器9打开经典贪吃蛇大作战游戏,进入商店点击“购买”

由图可知,有“游戏已下线,不可正常计费”、“支付取消”的文字提示

android游戏 java android游戏逆向_Android_05


android游戏 java android游戏逆向_android游戏 java_06

(2)打开AndroidKiller,将该apk文件拖入,点击确定

android游戏 java android游戏逆向_网络安全_07

(3)点击 工程搜索》输入 支付取消》编码转换

android游戏 java android游戏逆向_Android_08


(4)选择转成unicode编码,点击搜索

android游戏 java android游戏逆向_android_09

android游戏 java android游戏逆向_Android_10

(5)点击详细查看结果

android游戏 java android游戏逆向_Android_11


android游戏 java android游戏逆向_网络安全_12


成功找到了该关键字(6)仔细查看该文件代码,发现了解码为“支付成功”的关键字

android游戏 java android游戏逆向_Android_13

(7)将“支付成功“关键字下的逻辑代码复制到”支付取消“的代码里替换原有代码。

android游戏 java android游戏逆向_Android_14

(8)== Ctrl + s== 保存并点击Android》编译进行打包

android游戏 java android游戏逆向_android_15

AndroidKiler打包apk文件步骤:

android游戏 java android游戏逆向_网络安全_16

(9)打开新保存的apk文件进行测试

结果显示:点击“购买”,显示“支付成功”并且成功复活。

android游戏 java android游戏逆向_android游戏 java_17

2.屏蔽游戏下线提醒信息

android游戏 java android游戏逆向_网络安全_18

(1)搜索处理内购函数名称DK_Pay

android游戏 java android游戏逆向_android游戏 java_19

(2)依次查看搜索得到的代码结果寻找该消息提示的代码。

将消息提示函数返回语句修改为支付成功里的语句。

android游戏 java android游戏逆向_搜索_20

(3)保存》Android》编译》新的apk文件

android游戏 java android游戏逆向_Android_21

(4)运行该文件,消息提示不再出现。

android游戏 java android游戏逆向_搜索_22

(5)最后测试不用花任何钱就能内购所有游戏内的道具。完成!

android游戏 java android游戏逆向_搜索_23


android游戏 java android游戏逆向_搜索_24