安卓逆向系列篇: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、查看效果

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

相关文章
|
Java 关系型数据库 数据库
Android App连接真机步骤与APP的开发语言和工程结构讲解以及运行实例(超详细必看)
Android App连接真机步骤与APP的开发语言和工程结构讲解以及运行实例(超详细必看)
218 0
|
11天前
|
缓存 Unix Android开发
Android安卓项目调试之Gradle 与 Gradle Wrapper的概念以及常用gradle命令深度详解-优雅草卓伊凡
Android安卓项目调试之Gradle 与 Gradle Wrapper的概念以及常用gradle命令深度详解-优雅草卓伊凡
72 8
|
Android开发
Android应用实例(一)之---有道辞典VZ.0
Android应用实例(一)之---有道辞典VZ.0
89 2
|
10月前
|
搜索推荐 Java 数据库
打造个性化安卓启动器:从概念到实现##
【10月更文挑战第40天】 在数字时代,智能手机不仅是通讯工具,更是个性展示的窗口。本文将带你了解如何打造一个独一无二的安卓启动器,让你的手机界面与众不同,并提升你的开发技能。 ##
217 18
|
API Android开发
Android 监听Notification 被清除实例代码
Android 监听Notification 被清除实例代码
|
安全 Java Android开发
使用Unidbg进行安卓逆向实例讲解
使用Unidbg进行安卓逆向实例讲解
474 2
|
Android开发
Android修改默认system/bin/下可执行程序拥有者和权限,使用实例,只有root和系统app权限才能执行某个命令。
Android修改默认system/bin/下可执行程序拥有者和权限,使用实例,只有root和系统app权限才能执行某个命令。 【5月更文挑战第2天】
745 0
|
Android开发 C++
Android P HAL层添加HIDL实例
Android P HAL层添加HIDL实例
256 0
|
Shell Android开发
安卓逆向 -- 防抓包破解(JustTrustMe)
安卓逆向 -- 防抓包破解(JustTrustMe)
1138 1
|
存储 Android开发 开发者
Android构建系统:Android.mk(1)基础概念赋值变量引用详解
Android构建系统:Android.mk(1)基础概念赋值变量引用详解
307 0

热门文章

最新文章