安卓工具总结

VSole2021-10-14 08:39:34

一、安卓开发工具

安卓开发工具主要是一些Java开发环境、集成开发环境和安卓开发环境等

1、JDK和JRE

可以去官网下载,选择jdk8u111版本进行安装

JDK:Java Development Kit是Java的开发工具包,JDK包含了JRE,同时还包含了编译java源码的编译器javac,还包含了很多java程序调试和分析的工具。

JRE:Java Runtime Environment是Java运行时环境,包含了java虚拟机,java基础类库

安装过程:

1)双击启动安装程序

2)默认安装路径

3)jre路径选择

4)配置环境变量

JAVA_HOME
C:\Program Files\Java\jdk1.8.0_111

%JAVA_HOME%\bin

C:\Program Files\Java\jre1.8.0_111\bin

2、adt-bundle

adt-bundle用于在Windows操作系统上搭建安卓开发环境

下载地址:http://dl.google.com/android/adt/adt-bundle-windows-x86_64-20140702.zip

直接下载下来拷贝至C盘即可

3、Eclipse

adt-bundle中配带了Eclipse

1)双击启动

2)选择Finish

3)创建Java Project

配置Java编译环境

配置Java运行环境

配置文本文件编码

打开Logcat界面

LogCat界面主要用于查看报错信息及进程信息

配置Java代码提示

便于后面的Java代码编写,这部分可配可不配

abcdefghijklmnopqrstuvwxyz.

创建Class文件

public class try001 {
 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  System.out.println("Hello World!");
 }
}

4、Android Studio

‎Android Studio是一个为Android平台开发程序的集成开发环境,以IntelliJ IDEA为基础构建而成。类似于上面的Ecilpse,一般情况下两者都有使用,暂时不过多介绍,后面会使用到再详细介绍。

在官网直接下载即可,双击安装

安装类型

确认安装

二、安卓逆向工具

这部分介绍的安卓逆向工具是一些用于安卓反编译、逆向分析的工具,可以将源程序反编译成可读代码,如Android Killer、Jadx和JEB等工具

1、Android Killer

Android Killer是一款安卓逆向工具,集Apk反编译、Apk打包、Apk签名、编码互转、ADB通信等特色功能于一身,支持logcat日志输出,语法高亮,基于关键字项目内搜索,可自定义外部工具,简化了用户在安卓应用中的各种琐碎工作。

下载地址:https://www.androiddevtools.cn

Android Killer下载安装

1)下载后,解压至C盘

免安装直接使用。

2)简单配置

如果打开报错,就修改下jdk路径

加载APKtool工具

默认情况下会自带一个apktool工具,这里加载额外的apktool

Android Killer简单使用

对apk进行反编译

2、Android逆向助手 v2018 少月版

下载地址:CSDN上有

安装前需确认存在JDK,其功能包括反编译、重打包,格式转换等。简单的功能都列在主页了,其中最好用就是签名apk功能

3、Jadx 反编译工具

Jadx工具用于将dex文件反编译成Java代码文件,分为命令行窗口和可视化窗口两种类型

命令行窗口工具,直接进入目录的cmd中,通过jadx命令进行反编译

可视化窗口工具Jadx-gui,打开后导入文件即可开始反汇编

载入文件及介绍

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

简单搜索类

函数跳转

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

4、JEB 反编译工具

JEB是一款Android应用程序反编译工具,用于逆向分析、代码审计,具有静态分析和动态分析的能力

下载地址:https://www.pnfsoftware.com

双击bat文件启动

选取一个apk文件进行反编译

Manifest文件是清单文件(元数据文件),用来定义扩展或档案打包相关数据包含了不同部分中的名/值对数据

Bytecode是字节码,里面内容是smali代码

简单使用

在smali文件中按q可以反编译回java代码

Ctrl+b下断点

三、安卓调试工具

这部分为安卓调试工具,主要先介绍下载及安装,JEB动态调试在本文的第六节中介绍,其余的IDEA和IDA会在后面的动态调试文章中体现

1、JEB

JEB是一款Android应用程序反编译工具,同时也具备动态调试的功能,下文将以一个小例子进行演示。

第六部分简单演示了JEB的动态调试过程

2、IDEA

IDEA 全称 IntelliJ IDEA,是java编程语言开发的集成环境,在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能可以说是超常的

下载地址:https://www.jetbrains.com/idea

安装过程参考:01-IDE工具之IDEA的简介、下载与安装、初步配置

动态调试见后文

3、IDA

下载地址:百度

安装后有32位的和64位,这里的位数是针对软件而言的,而不是针对操作系统版本,这里先简单安装下,在后面IDA动态调试中会有专门一篇文章来介绍。

四、安卓辅助工具

这部分主要是一些辅助工具,查询信息、是否加壳等。对于没有真机的情况下还介绍了一些上手还可以的安卓模拟器

1、APK helper

APK helper工具用于查看apk文件简单信息,包括包名、证书、版本、文件信息等

2、PKiD 查壳工具

PKiD工具,将apk文件拖入可以查看是否加壳

3、安卓模拟器

如果没有真机做实验的情况下,可以使用安卓模拟器用于实验,大部分的模拟器都可以完成实验内容,但是注意的是安卓模拟器也是一个虚拟机,不建议在虚拟机内安装模拟器,一是安装不了,二是十分卡顿。这里介绍几款不错的安卓模拟器。

  1. 雷电模拟器

下载地址:https://www.ldmnq.com

  1. 网易MuMu

下载地址:https://mumu.163.com

  1. 逍遥模拟器

下载地址:https://www.xyaz.cn

  1. 蓝叠模拟器

下载地址:https://www.bluestacks.cn

五、安卓抓包工具

这部分介绍如何使用工具抓取安卓手机上的流量,主要是BurpSuite和Fiddler工具,还有安装证书抓取HTTPS的过程。

1、BurpSuite

BurpSuite抓取手机上的流量需要先设置手机和电脑为同一局域网

在BurpSuite中配置

设置一个新的代理监听器

手机wifi设置代理

访问应用-抓取流量

在手机上随便访问一些app,可以在BurpSuite中看到抓取的包

抓取HTTPS流量-下载证书

浏览器中输入代理IP和端口,点击右上角的CA Certificate按钮下载cacert.der证书。默认下载是.der格式的证书,手机上无法打开.der文件,下载好后需要将其改为.crt文件。

抓取HTTPS流量-导入证书

在设置-安全-从存储设备安装中,选择cacert.crt证书,安装即可

访问https的网址

在浏览器中访问https://www.baidu.com,BurpSuite中成功抓取到。

2、Fiddler

先简单介绍Fiddler抓包工具的一些基础操作,稍微熟悉下

清除目前抓到的包

选项栏中选择Remove all删除所有的包

抓包及指定抓包

左下角的Capturing图标来关闭/开启抓包功能,旁边可以对包进行选择

All Processes 抓取所有通过Fiddler代理的request包
Web Browsers  抓取PC中浏览器的代理请求包 (需要选中Capturing)
Non-Browser   抓取除浏览器外的代理请求包
Hide All      隐藏所有的代理请求包

配置抓取HTTPS流量

下载、安装证书,配置监听端口即可

3、HTTP Debugger Pro

下载地址:百度

直接双击安装

默认下一步简单安装

解密SSL-添加证书

进入页面后,点击黄色框中的解密 SSL,选择添加证书即可。

之后即可抓包,也可以抓模拟器上的数据包

六、JEB静态分析+动态调试

1、简单介绍

本次调试的目的:实现任意用户注册,无视注册码

调试程序截图如下,失败返回无效用户名或注册码

2、静态分析

1)将注册机.apk文件导入至JEB中

2)简单查看反编译后的Java代码

关键点在于checkSN函数,传入两个参数arg11和arg12,分别对应用户名和注册码

MessageDigest类为应用程序提供信息摘要算法的功能,这里提供MD5算法
messageDigest.update(str)输入待加密的字符串
messageDigest.digest()加密后的字节数组

主要的逻辑就是:将输入的用户名作为参数1并进行MD5加密,之后进行处理得到一个注册码,也就是说这里的注册码是实时根据用户名生成的,之后在将输入的注册码进行比较,相同则返回True。

跟进equalsIgnoreCase()函数找到生成的注册码即可,接下来交给动态调试

3、动态调试

1)雷电模拟器中启动注册机apk

随意尝试用户名和注册码进行注册,返回提示无效用户名或注册码

2)JEB下断点

选定equalsIgnoreCase()函数,按q返回到对应汇编代码处,下好断点

3)连接到模拟器进行动态调试

需要adb工具,在之前安装SDK时配带

选择Debugger -> Start,选择雷电模拟器和注册机apk的进程

4)找到校验值(破解点)

发现equalsIgnoreCase()函数需要两个变量v6和p2,查看v6的值"222275aa4840481c"

5)成功注册

重新启动注册机apk,输入admin和注册码222275aa4840481c,注册成功

4、小结

初入门移动安全逆向apk的第一个小项目,虽然简单,只是一个破解得到注册码,但学到JEB工具的静态分析及动态调试,简单分析Java代码等

androidandroid反编译
本作品采用《CC 协议》,转载必须注明作者和本文链接
Android逆向:基础入门
2022-06-03 05:29:40
前言 随着app的广泛应用,使用过程中,难免会遇到些很不友好的功能,比如:游戏充值、间断性弹窗广告、续费解锁下一回等等。
前言今天总结Android APP四大组件中Content Provider挖掘的知识,主要分为两个部分,一部分是对Android Content Provider内容提供器的原理总结,另一部分便是对Android provider机制常见的一些漏洞总结,包括一些已知的漏洞方法,和一部分案例实践。
最近测试某APP项目,拿到APP发现无法反编译,后来发现是加了360的壳,本次我们使用Frida+FRIDA-DEXDump进行脱壳,快来看看吧
直到前一段时间,有小伙伴反馈重打包某APP,始终失败,几乎放弃,原因是DEX中出现了很多非法花指令,他解包时所有的DEX都需要反编译,由于非法指令太多,回编译后的APK始终无法正常使用。随着字节码指令级的对抗升级,这种问题或许会越来越普遍。针对这种问题,最终极的解决方法就是不反编译,直接给DEX文件中的指令打补丁,但其中牵扯到指令格式、局部寄存器、各种索引问题需要解决,并非易事。
APP开发的背景知识的介绍APP开发遵循逻辑和视图分离的思想:我们创建一个activity,android studio会自动生成其对应的xml文件。视图视图在xml中定义:可以直接可视化移动一个按钮进视图,也可以用代码编写。
专家证明,使用该工具可以绕过执行恶意软件排列的 Android 反恶意软件解决方案。学术界进行的这项研究旨在开发新技术来检测和分析越来越多的 Android 恶意软件变体(克隆)并阻止使用它们的攻击。然后,研究人员使用开发的 Android APK 变形工具来评估当前商业反恶意软件解决方案对使用 Android 恶意软件克隆的攻击的弹性。专家用于测试的数据集由从两个不同资源收集的 848 个 Android 恶意软件应用程序组成。
安卓工具总结
2021-10-14 08:39:34
JRE:Java Runtime Environment是Java运行时环境,包含了java虚拟机,java基础类库安装过程:1)双击启动安装程序2)默认安装路径3)jre路径选择4)配置环境变量JAVA_HOME. 这里介绍几款不错的安卓模拟器。
本文会详细叙述客户端风控对抗的“边界值”在哪里,如果你是在做风控对抗 ,不管你是这场游戏中在演“猫”的角色还是“老鼠”的角色 。本文将站在上帝视角去讲解对应的“规则” 和“玩法”,以及如何实现角色转换。通过之前的系列文章,配合这篇文章希望每个小白玩家都能知道大厂是怎么玩的,如何设置游戏规则,我们应该如何进行解谜。而这个协议里面具体发送的内容,就是IPC协议装的“包裹”就是用的Parcel 。
Github渗透测试文档资料集合
SLocker源代码由一名用户发布,该用户使用“fs0c1ety”作为在线绰号,并敦促所有GitHub用户贡献代码并提交错误报告。2016年,安全研究人员在野外发现了400多个SLocker勒索软件的新变种,并以感染数千台安卓设备而闻名。一旦设备上有加密文件,安卓勒索软件就会劫持手机,完全阻止用户访问,并试图威胁受害者支付赎金解锁手机。
VSole
网络安全专家