Android逆向——破解水果大战
最近公司需要测试安卓app安全,但安卓基本上0基础,决定开始学习下安卓逆向
根据吾爱破解上教程 《教我兄弟学Android逆向系列课程+附件导航帖》
https://www.52pojie.cn/thread-742703-1-1.html,开始学习记录一下自己学习的过程
破解的程序: https://pan.baidu.com/s/10hxJITuLYr11p9MfrmGpRA 提取码:r7wa
第三章任务是破解水果大战
首先打开游戏,发现是有很多地方需要收费的,我们就反编译这个app,改动一些函数,使我们直接跳过收费的地方达到破解的目的(以下行为仅供学习及测试用途)
首先用Android KIller打开

然后搜索 "失败" 转码后的函数

应该是MymmPay那里,打开看看,可以转成java大致看一下是不是和支付有关的函数。


基本上是这里了,然后回到AndroidKiller 打开,浏览以下发现有以下几个关键函数:
payResultCancel() payResultFalse() payResultSucess()
分别代表着支付取消,支付失败,支付成功
如果我们吧支付取消,支付失败的内容都改换成支付成功的内容,那岂不是不管如何操作都代表着支付成功了
我们就把支付成功的函数复制到其他两个里面
复制. method publi payResultSucess()函数里 .payResultSucess()下面 到.end method上面的内容到 payResultCancel() payResultFalse()里边(替换方框里的内容)

复制从这里开始

中间省略。。。

到这里结束
最后删除可能会产生费用的危险权限:
在AndroidManifest.xml里搜索(或者可以直接搜索下面的这个)
android.permission.SEND_SMS
删掉
<uses-permission android:name="android.permission.SEND_SMS"/>
最后再编译打包,就可以无限再游戏里消费了
方法2.
上边的方法是,替换购买失败部分的smail函数,让用户支付失败也会成功
换个思路,我们去找哪里调用payResultFalse方法 然后我把这个方法名字改成支付成功方法的名字:
看java,搜索定位到这里

这里就是支付失败的方法,下面就是支付成功的方法,然后就去寻找跳转到失败的方法,把他改成成功
回到Androidkiller
定位到这里,可以修改这两个跳转位置

此方法同样可以破解
参考链接吾爱破解:
https://www.52pojie.cn/thread-642371-1-2.html
https://www.52pojie.cn/thread-654654-1-1.html
Android逆向——破解水果大战的更多相关文章
- Android逆向破解表单注册程序
Android逆向破解表单注册程序 Android开发 ADT: android studio(as) 程序界面如下,注册码为6位随机数字,注册成功时弹出通知注册成功,注册失败时弹出通知注册失败. 布 ...
- Android逆向破解表单登录程序
Android逆向破解表单登录程序 Android开发 ADT: android studio(as) 程序界面如下,登录成功时弹出通知登录成功,登录失败时弹出通知登录失败. 布局代码 <?xm ...
- Android逆向 破解第一个Android程序
这节正式开始破解编写的第一个Android工程,打开Android Killer,把第一节自己编写的Android apk拖入Android Killer. PS: 如果Android Killer不 ...
- Android逆向破解:Android Killer使用
目录 目录 软件介绍 Android Killer是一款可以对APK进行反编译的工具,它能够对反编译后的Smali文件进行修改,并将修改后的文件进行打包. 软件下载 这里用的是@昨夜星辰2012 ...
- Android破解学习之路(三)——Android游戏 切水果破解
经过前两篇破解教程,想必大家也是明白了破解的简单流程了. 先对APP进行试用,了解APP运行的大概流程,之后从APP中找出关键字(一般的关键字差不多都是支付失败),之后使用Androidkiller进 ...
- Android 逆向实战篇(加密数据包破解)
1. 实战背景由于工作需要,要爬取某款App的数据,App的具体名称此处不便透露,避免他们发现并修改加密逻辑我就得重新破解了. 爬取这款App时发现,抓包抓到的数据是加密过的,如图1所示(原数据较长, ...
- Android逆向之旅---动态方式破解apk进阶篇(IDA调试so源码)
Android逆向之旅---动态方式破解apk进阶篇(IDA调试so源码) 来源 https://blog.csdn.net/jiangwei0910410003/article/details/51 ...
- android逆向学习小结--CrackMe_1
断断续续的总算的把android开发和逆向的这两本书看完了,虽然没有java,和android开发的基础,但总体感觉起来还是比较能接收的,毕竟都是触类旁通的.当然要深入的话还需要对这门语言的细节特性和 ...
- 【转】Android 防破解技术简介
http://www.cnblogs.com/likeandroid/p/4888808.html Android 防破解技术简介 这几年随着互联网的不断发展,Android App 也越来越多!但是 ...
随机推荐
- [uboot] (番外篇)uboot 驱动模型(转)重要
[uboot] uboot流程系列:[project X] tiny210(s5pv210)上电启动流程(BL0-BL2)[project X] tiny210(s5pv210)从存储设备加载代码到D ...
- HDFS知识点
1.通过代码验证集群的配置文件的优先级 HDFS文件上传 1.编写源代码 @Test public void testCopyFromLocalFile() throws IOException, I ...
- Linux的SSH免密登录(一)
1.从cp/scp命令出发 scp(secure copy)是linux系统下基于ssh登录进行安全的远程文件拷贝的命令. 1. 传递文件到远程 scp local_file remote_usern ...
- php类知识---try catch
<?php try { echo "比赛开始"."\n"; ); } catch (Exception $e ) { echo "获取错误信息: ...
- vue3.0以上关于打包后出现空白页和路由不起作用
1.解决页面空白,找不到资源 在项目根目录中的vue.config.js中publicPath: '/'修改为publicPath: './',如果没有这个文件,新建一个,基础代码为: module. ...
- Mysql入门-对表数据的增删改查
这一部分是最简单的,也是最麻烦的.简单是因为其实只包括增删该插四个部分.大体上看,增加数据.删除数据.修改数据.查询数据都不麻烦啊,我们日常都是常用的.这个谁不会呢?以前在培训机构学mysql的时候, ...
- 2019牛客暑期多校训练营(第二场)D bitset
题意 给一个n个结点的带点权的图,找到第k小的团的权值 分析 用bitset表示团的状态,一个结点必须和团里的每个结点都连边才能加进去,所以可以直接用\(\&\)运算来判断一个结点是否能加进去 ...
- Android有进度条异步任务下载图片
首先在AndroidMainifest中添加上网权限 ? 1 <uses-permission android:name="android.permission.INTERNET&qu ...
- B. Interesting Array(线段树)
B. Interesting Array time limit per test 1 second memory limit per test 256 megabytes input standard ...
- 【知识库】-数据库_MySQL性能分析之Query Optimizer
简书作者:Sio 文章出处: MySql优化之索引原理与 SQL 优化 Query Optimizer MySQL Optimizer是一个专门负责优化SELECT 语句的优化器模块,它主要的功能就是 ...