Android常用逆向工具+单机游戏破解

android开发环境搭建

我理解的学习路线是首先要掌握和了解常见的工具、搭建环境。然后就是缓慢的积累特征,通过长期的练习使自己进步,通过android逆向课程的学习。常用的工具如下:

android SDK工具包

(1)adb.exe:android debug bridge 安卓调试桥连接手机、模拟器。

D:\AndroidTools\Android_SDK\platform-tools

(2)monitor.exe:安卓设备监视器

D:\AndroidTools\Android_SDK\tools\monitor.bat

adb.exe 用于调试,monitor.exe用于监视

android adb shell命令约等价于linux shell命令

android集成开发的开发环境

(1)Android Studio

(2)IntelliJ IDEA

Android模拟器

(1)原生的模拟器

(2)BlueStacks[蓝叠]

(3)夜神

(4)海马玩

Android逆向工具

(0)集成类工具:jeb、apkkiller

(1)反编译工具:

baksmali.jar:将dex文件反汇编成smali代码

smali.jar:将smali代码汇编生成dex文件(android的可执行文件)

apktool.jar:基于smali、basksmali工具开发的,可以反编译apk文件成smali,也可以将smali文件回编译成apk文件,

(2)清单文件解密工具:

AXMLPrinter2.jar:清单解密工具,反编译apk中的xml文件

APKParse.jar:套用了Apktool中解析xml文件的源码。

APK15PBParse.jar:APKParse.jar修改而成,修复了原有工具的bug。

(3)APK签名工具:

signapk.jar:使用apktool生成的apk文件,是不能直接安装到模拟器或是手机中的,因为没有签名就会报错。

(4)dex转jar工具

dex2jar:将dex文件转化为java jar包,因为转成jar包之后,方便使用JD-GUI工具反编译成java源码。

(5)java源码反编译工具

JD-GUI:使用JD-GUI打开jar包,可以看到反编译的源码。

549050-20170410010442766-979271988.png

游戏破解思路

(1)找寻支付成功的信息,获取支付相关的函数。
(2)将支付成功的smali指令注入到支付失败的函数中。

操作步骤

(1)打开monitor,点击游戏中的购买按钮,抓取到支付的字符串。

549050-20170410010525157-1358588562.png

(2)在apkkiller转换编码为unicode编码

549050-20170410010549751-563012160.png

(3)在apkkiller搜索字符串,然后使用自带的JD-GUI工具查看源码。

549050-20170410010613891-2019536888.png

(4)在源码中定位到支付相关的函数。payCancel、payFailed、paySuccess

549050-20170410010635626-1023451285.png

(5)到apkkiller中查找与支付相关函数相关的smali文件。然后smali指令中传参的常量值记录下来。

549050-20170410010708876-1058030058.png

(6)在函数窗口处查找购买失败的函数(payFailed)、购买成功的函数(paySuccess)的函数传参值,将两者对比。

549050-20170410010734438-1230509427.png

(7)对比出来传参值的区别后将购买成功(paySuccess)的函数传参值和购买失败(payFailed)的函数传参值相互替换。

549050-20170410010758719-639472388.png

(8)将修改后的值Ctrl+s保存后再编译一遍,得到编译后的APK放到模拟器中运行就可以达到破解的效果了。

549050-20170410010824938-147982099.png

(9)运行效果

549050-20170410010846704-259424238.jpg

转载于:https://www.cnblogs.com/17bdw/p/6687219.html

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一些常用Android逆向分析工具,它们可以用于反编译、调试、内存分析、Hook等方面: 1. jadx:一款开源的Java反编译工具,可以将Android应用程序的APK文件反编译为Java源代码,方便进行分析和修改。 2. APKTool:一款开源的反编译和重新打包工具,可以将Android应用程序的APK文件解压为资源文件和代码文件,方便进行修改和重新打包。 3. Dex2jar:一款用于将Android应用程序的DEX文件转换为JAR文件的工具,可以用于反编译和分析Android应用程序。 4. Frida:一款跨平台的动态插桩工具,可以用于修改应用程序的行为和数据,具有强大的Hook和脚本化功能。 5. Xposed:一款基于Frida的Android插件框架,可以用于Hook应用程序的Java层和Native层代码,实现各种功能。 6. Burp Suite:一款流行的渗透测试工具,可以用于拦截和修改Android应用程序的网络请求和响应,进行漏洞挖掘和安全测试。 7. JD-GUI:一款Java反编译工具,可以将Android应用程序的APK文件反编译为Java源代码,方便进行分析和修改。 8. Android Debug Bridge (ADB):一个调试工具,可以用于与Android设备建立连接,进行调试、文件传输、进程管理等操作。 9. Android Studio:一款集成开发环境,可以用于开发、调试、构建和打包Android应用程序,具有强大的调试和分析功能。 当然,这里列举的只是一些常用Android逆向分析工具,还有很多其他的工具和库,如IDA Pro、Ghidra、Radare2、JEB等,都可以用于Android逆向分析和漏洞挖掘。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值