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 也越来越多!但是 ...
随机推荐
- Storm实践(二):集群搭建
集群规划 角色 IP hostname nimbus 192.168.100.101 dda supervisor 192.168.100.102 ddb supervisor 192.168.100 ...
- 浅析BFC及其作用
本文链接:https://blog.csdn.net/riddle1981/article/details/52126522
- Java-ConfigHelper工具类
/** * 读取配置文件 */ import java.io.File; import java.net.URL; import org.apache.commons.configuration.Co ...
- Python 多线程Ⅱ
线程模块 Python通过两个标准库thread和threading提供对线程的支持.thread提供了低级别的.原始的线程以及一个简单的锁. threading 模块提供的其他方法: threadi ...
- css-滚动条常用的样式修改
// ::-webkit-scrollbar { /*滚动条整体样式*/// width: 10px; /*宽分别对应竖滚动条的尺寸*/// height: 5px; /*高分别对应横滚动条的尺寸*/ ...
- addClass(class|fn)
addClass(class|fn) 概述 为每个匹配的元素添加指定的类名.深圳dd马达 参数 classStringV1.0 一个或多个要添加到元素中的CSS类名,请用空格分开 function ...
- 从Ubuntu 18.04 LTS升级到Ubuntu 18.10版本的方法
从Ubuntu 18.04 LTS升级到Ubuntu 18.10版本的方法 2018-10-18 21:08:39作者:ywnz稿源:云网牛站 本文提供从Ubuntu 18.04 LTS(Bionic ...
- 90%的人说Python程序慢,5大神招让你的代码像赛车一样跑起来
1.for 循环 我们大部分的时候代码里面都有for循环,然后里面嵌套一段逻辑处理,下面有两种方法来完成: 二者的性能差距有多大呢,一般我们用内置的timeit模块来量化比较: 把传统的for改成推导 ...
- Java线程之Callable、Future
简述 在多线程中有时候我们希望一个线程执行完毕后可以返回一些值,在java5中引入了java.util.concurrent.Callable接口,它类似于Runnable接口,但是Callable可 ...
- TypeScript----数据类型
TypeScript 简介 TypeScript 由 Microsoft开发和维护的一种开源编程语言.它支持 JavaScript 的所有语法和语义,同时通过作为 ECMAScript 的超集来提供一 ...