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包,可以看到反编译的源码。

游戏破解思路

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

操作步骤

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

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

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

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

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

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

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

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

(9)运行效果

Android常用逆向工具+单机游戏破解的更多相关文章

  1. Android 常用开发工具以及Mac常用软件

    Android 常用的开发工具记录.其中包括AndroidStudio(IDEA)插件.Mac 上好用的软件以及国内知名Android开发者博客等. Android Studio 插件 codota ...

  2. Android常用的工具类

    主要介绍总结的Android开发中常用的工具类,大部分同样适用于Java.目前包括HttpUtils.DownloadManagerPro.ShellUtils.PackageUtils. Prefe ...

  3. Android常用的工具类(转)

    主要介绍总结的Android开发中常用的工具类,大部分同样适用于Java.目前包括HttpUtils.DownloadManagerPro.ShellUtils.PackageUtils.Prefer ...

  4. 2013最新Android常用的工具类整理

    主要介绍总结的Android开发中常用的工具类,大部分同样适用于Java. 目前包括HttpUtils.DownloadManagerPro.ShellUtils.PackageUtils. Pref ...

  5. Android常用正则工具类

    此类提供日常开发中常用的正则验证函数,比如:邮箱.手机号.电话号码.身份证号码.日期.数字.小数.URL.IP地址等.使用Pattern对象的matches方法进行整个字符匹配,调用该方法相当于:   ...

  6. Android常用开发工具的用法

    1.在命令行创建.删除和浏览AVD 在命令行下管理AVD需要借助于android命令(位于Android SDK安装目录的tools子目录下),如果直接执行android子命令将会启动Android ...

  7. Android常用的工具类SharedPreferences封装类SPUtils

    package com.zhy.utils; import java.lang.reflect.InvocationTargetException; import java.lang.reflect. ...

  8. Android自动化测试探索(二)常用自动化工具

    Android常用自动化工具 ADB - 是Google提供的为Android编写UI测试用例的自动化工具, Android开发/测试人员不可替代的强大工具 uiautomator - 是Google ...

  9. Unity 4.2.0 官方最新破解版(Unity3D 最新破解版,3D游戏开发工具和游戏引擎套件)

    Unity是一款跨平台的游戏开发工具,从一开始就被设计成易于使用的产品.作为一个完全集成的专业级应用,Unity还包含了价值数百万美元的功能强大的游戏引擎.Unity作为一个游戏开发工具,它的设计主旨 ...

随机推荐

  1. 自学Linux Shell9.1-安装软件程序

    点击返回 自学Linux命令行与Shell脚本之路 9.1-linux安装软件程序 PMS利用一个数据库来记录各种相关内容: Linux系统安装了什么软件包 每个包安装什么文件 每个已安装软件包的版本 ...

  2. 配置远程jupyter notebook

    在远程服务器上启动jupyter notebook,然后在本地进行访问.本文使用最简单的一种方法,无需设置密码,所以这种方法也是最不安全的方法,慎用. 1. 在远程服务器上生成jupyter note ...

  3. luogu3380/bzoj3196 二逼平衡树 (树状数组套权值线段树)

    带修改区间K大值 这题有很多做法,我的做法是树状数组套权值线段树,修改查询的时候都是按着树状数组的规则找出那log(n)个线段树根,然后一起往下做 时空都是$O(nlog^2n)$的(如果离散化了的话 ...

  4. bzoj5281/luogu4377 Talent Show (01分数规划+背包dp)

    就是01分数规划的思路,只不过当把w[i]-r*t[i]>0的选完以后如果w值还没达到要求,那就再01背包dp一下就好了(dp时w值>W的时候就存在W里就不会爆内存了). (跑得很慢..大 ...

  5. RocketMQ介绍与云服务器安装

    RocketMQ 介绍与概念 在github上的说法来看: Apache RocketMQ是一个分布式消息传递和流媒体平台,具有低延迟,高性能和可靠性,万亿级容量和灵活的可扩展性.它提供了多种功能: ...

  6. 再次膜拜IE的超强兼容性

    今天用firefox和chrome打开几年前写的一个网页,突然发现复选框的“全选”功能失效了. 然后用ie试了一下,竟然正常. 到firefox的错误控制台查看,提示错误: TypeError: id ...

  7. Asp: Server.mapPath() 注意事项

    今天下午,在删除一个用户后,竟然发现该用户上传的图片还能正常显示. 郁闷了,怎么会这样? 为了再次验证这个结果,我新注册一个用户名,然后上传3张图片,接着删除这个用户,再查看刚刚上传的3张图片,竟然没 ...

  8. PHP去调用jenkins

    背景说明:目前公司用到 jenkins(持续集成开源工具)更多情况下,通过配置,可以在gitlab上通过webhooks去调度jenkins 或者通过 jenkins管理后台,去手动执行“立即构建”去 ...

  9. Sublime Text3—常用插件Emmet

    摘要 安装请看上一篇Sublime Text-安装,和sublime自带快捷键一起用,写html简直快的飞起. 下面整理的是常用的,完整的可看emmet官方文档. 一.生成标签 1.快速生成文档结构 ...

  10. 织梦DedeCMS信息发布员发布文章阅读权限不用审核自动开放亲测试通过!

    文章发布员在织梦dedecms后台添加文章时却要超级管理员审核,这无疑是增加了没必要的工作. 登录该账号发布文章你会发现该文章显示的是待审核稿件,且并没有生成静态文件,在前台是看不到这篇文章的,而多数 ...