安卓逆向系列篇:Dalvik概念&破解实例(二)

简介: 安卓逆向系列篇:Dalvik概念&破解实例

四、Eclipse 开发工具使用

这部分简单介绍下Eclipse,并开发一个简单的apk并在模拟器/真机上运行

1、新建安卓应用项目

1)新建Android Application Project

2)填写新建应用的名字

3)设置应用程序的图标

4)选择空白组件

选择activity组件,有不同的类型,可以自行选择,这里方面先选择空白组件的

之后选择Finish即可

2、项目文件介绍

第一步创建完项目后,显示如下的页面

在左边项目栏中可以找到主程序的代码MainActivity.java,双击查看

AndroidManifest.xml是任何应用程序的清单文件,包含了程序所有的声明和一些配置信息,比如安卓的版本和一些安卓图标名字等配置的信息

Eclipse提供了Manifest.xml的图形化操作和代码操作如下

3、构建项目

在左边的选项栏随便添加些组件即可,深入学习请自行google安卓开发

4、运行项目

将新建的项目导出运行

选择雷电模拟器

双击启动

五、Jadx-gui 反编译工具使用

这里介绍下Jadx工具钢的简单使用,接下来进入第六节的破解实例中

小技巧:直接拖进去再按搜索类才完整地完成反编译工作

1、载入文件及介绍

载入贪吃蛇apk文件,主要反编译有两个文件,源代码和资源文件,资源文件对应apk中的文件(这里用压缩软件打开apk文件查看到)

2、简单搜索类

3、函数跳转

选择函数,按住Ctrl+左键可以直接跳转至函数声明处。比如这里的BuyFailed()

六、贪吃蛇apk破解

1、贪吃蛇apk破解简介

在Jadx中搜索到支付失败的字符串,发现BuyFailed()BuySccess()函数,我们可以将这两个函数调整位置或者修改,不过在Java代码层不能修改,只能在Smali代码层中修改,先了解下Smali代码和一些底层的知识

2、apk程序上手研究

在商店页面中点击购买按钮,显示支付失败,如下图。

我们的目标:免费购买全部皮肤

3、Jadx 工具反编译分析

拖入该文件,搜索"支付取消"的位置,简单查看该处代码,可以发现支付取消和支付失败均会跳转至BuyFailed()方法处,而支付成功会跳转至BuySccess()方法处,我们可以想到将成功方法覆盖失败方法进而实现免费购买的效果,接着跟进在Smali代码层分析。

4、Android Killer 工具反编译|Smali代码分析

将apk程序拖进Android Killer进行反编译,在工程搜索中搜索"支付取消"字眼,跳转到含有该字符的smali代码处

但是此时有个小问题,怎么确定这里的smali代码对应的是刚刚看到的Java代码呢?Android Killer提供了反编译回Java代码的功能,点击下图上方的标志,查看Java源码,可以发现是一致的。

5、替换smali代码|回编译

找到支付成功的smali代码处,如下红框部分

将其覆盖支付失败和支付取消的smali代码处

保存并回编译

6、查看效果

可以发现,已经可以免费购买了

相关文章
|
4月前
|
Java 关系型数据库 数据库
Android App连接真机步骤与APP的开发语言和工程结构讲解以及运行实例(超详细必看)
Android App连接真机步骤与APP的开发语言和工程结构讲解以及运行实例(超详细必看)
36 0
|
7月前
|
编解码 Android开发 开发者
Android平台RTMP多实例推送的几种情况探讨
好多开发者提到,如何实现Android平台,多实例推送,多实例推送,有几种理解: 1. 多路编码,多个实例分别推送到不同的RTMP URL(如Android采集板卡同时接2路出去); 2. 同一路编码,多个实例分别推送到不同的RTMP URL(如推送到内网、外网不同的RTMP服务器); 3. 部分路编码、部分路对接编码后的H.264/AAC数据,多个实例分别推送到不同的RTMP URL(混合推)。
|
2月前
|
Shell Android开发
安卓逆向 -- 防抓包破解(JustTrustMe)
安卓逆向 -- 防抓包破解(JustTrustMe)
73 1
|
3月前
|
Shell Android开发 数据安全/隐私保护
安卓逆向 -- Frida环境搭建(HOOK实例)
安卓逆向 -- Frida环境搭建(HOOK实例)
41 0
|
6月前
|
Shell Android开发 数据安全/隐私保护
安卓逆向 -- Frida环境搭建(HOOK实例)
安卓逆向 -- Frida环境搭建(HOOK实例)
92 0
|
8月前
|
Java 数据安全/隐私保护 Android开发
app逆向实战强化篇——破解某安卓APP请求加密参数
app逆向实战强化篇——破解某安卓APP请求加密参数
|
11月前
|
Java
Android_登录注册小实例
首先我对EditView,button,textview外观设置了一下。
56 0
|
11月前
|
Java 测试技术 Android开发
Sonic 开源移动端云真机测试平台 - 设备中心接入安卓设备实例演示,Agent端服务部署过程详解(下)
Sonic 开源移动端云真机测试平台 - 设备中心接入安卓设备实例演示,Agent端服务部署过程详解
285 0
|
11月前
|
Web App开发 JavaScript Java
Sonic 开源移动端云真机测试平台 - 设备中心接入安卓设备实例演示,Agent端服务部署过程详解(上)
Sonic 开源移动端云真机测试平台 - 设备中心接入安卓设备实例演示,Agent端服务部署过程详解
372 0
|
11月前
|
开发工具 Android开发 开发者
Appium 移动端自动化 - Android SDK连接安卓手机,adb连接一加8手机USB调试实例演示,连接一加8手机不显示USB调试选项问题排查
Appium 移动端自动化 - Android SDK连接安卓手机,adb连接一加8手机USB调试实例演示,连接一加8手机不显示USB调试选项问题排查
402 0