最近公司需要测试安卓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逆向——破解水果大战的更多相关文章

  1. Android逆向破解表单注册程序

    Android逆向破解表单注册程序 Android开发 ADT: android studio(as) 程序界面如下,注册码为6位随机数字,注册成功时弹出通知注册成功,注册失败时弹出通知注册失败. 布 ...

  2. Android逆向破解表单登录程序

    Android逆向破解表单登录程序 Android开发 ADT: android studio(as) 程序界面如下,登录成功时弹出通知登录成功,登录失败时弹出通知登录失败. 布局代码 <?xm ...

  3. Android逆向 破解第一个Android程序

    这节正式开始破解编写的第一个Android工程,打开Android Killer,把第一节自己编写的Android apk拖入Android Killer. PS: 如果Android Killer不 ...

  4. Android逆向破解:Android Killer使用

    目录   目录 软件介绍 Android Killer是一款可以对APK进行反编译的工具,它能够对反编译后的Smali文件进行修改,并将修改后的文件进行打包. 软件下载 这里用的是@昨夜星辰2012 ...

  5. Android破解学习之路(三)——Android游戏 切水果破解

    经过前两篇破解教程,想必大家也是明白了破解的简单流程了. 先对APP进行试用,了解APP运行的大概流程,之后从APP中找出关键字(一般的关键字差不多都是支付失败),之后使用Androidkiller进 ...

  6. Android 逆向实战篇(加密数据包破解)

    1. 实战背景由于工作需要,要爬取某款App的数据,App的具体名称此处不便透露,避免他们发现并修改加密逻辑我就得重新破解了. 爬取这款App时发现,抓包抓到的数据是加密过的,如图1所示(原数据较长, ...

  7. Android逆向之旅---动态方式破解apk进阶篇(IDA调试so源码)

    Android逆向之旅---动态方式破解apk进阶篇(IDA调试so源码) 来源 https://blog.csdn.net/jiangwei0910410003/article/details/51 ...

  8. android逆向学习小结--CrackMe_1

    断断续续的总算的把android开发和逆向的这两本书看完了,虽然没有java,和android开发的基础,但总体感觉起来还是比较能接收的,毕竟都是触类旁通的.当然要深入的话还需要对这门语言的细节特性和 ...

  9. 【转】Android 防破解技术简介

    http://www.cnblogs.com/likeandroid/p/4888808.html Android 防破解技术简介 这几年随着互联网的不断发展,Android App 也越来越多!但是 ...

随机推荐

  1. Storm实践(二):集群搭建

    集群规划 角色 IP hostname nimbus 192.168.100.101 dda supervisor 192.168.100.102 ddb supervisor 192.168.100 ...

  2. 浅析BFC及其作用

    本文链接:https://blog.csdn.net/riddle1981/article/details/52126522

  3. Java-ConfigHelper工具类

    /** * 读取配置文件 */ import java.io.File; import java.net.URL; import org.apache.commons.configuration.Co ...

  4. Python 多线程Ⅱ

    线程模块 Python通过两个标准库thread和threading提供对线程的支持.thread提供了低级别的.原始的线程以及一个简单的锁. threading 模块提供的其他方法: threadi ...

  5. css-滚动条常用的样式修改

    // ::-webkit-scrollbar { /*滚动条整体样式*/// width: 10px; /*宽分别对应竖滚动条的尺寸*/// height: 5px; /*高分别对应横滚动条的尺寸*/ ...

  6. addClass(class|fn)

    addClass(class|fn) 概述 为每个匹配的元素添加指定的类名.深圳dd马达   参数 classStringV1.0 一个或多个要添加到元素中的CSS类名,请用空格分开 function ...

  7. 从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 ...

  8. 90%的人说Python程序慢,5大神招让你的代码像赛车一样跑起来

    1.for 循环 我们大部分的时候代码里面都有for循环,然后里面嵌套一段逻辑处理,下面有两种方法来完成: 二者的性能差距有多大呢,一般我们用内置的timeit模块来量化比较: 把传统的for改成推导 ...

  9. Java线程之Callable、Future

    简述 在多线程中有时候我们希望一个线程执行完毕后可以返回一些值,在java5中引入了java.util.concurrent.Callable接口,它类似于Runnable接口,但是Callable可 ...

  10. TypeScript----数据类型

    TypeScript 简介 TypeScript 由 Microsoft开发和维护的一种开源编程语言.它支持 JavaScript 的所有语法和语义,同时通过作为 ECMAScript 的超集来提供一 ...