![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android逆向
时光菜刀
这个作者很懒,什么都没留下…
展开
-
安卓逆向学习——Fiddler的安装和使用
Fiddler和Charles这两款工具都是用于手机的网络抓包,Charles主要用于Mac操作系统使用而且是收费工具,所以一般我们都是用FD进行抓包的。我们知道Http是非安全的超文本传输协议,而Https是在Http协议基础上使用SSL加密构成的协议,这种协议更为安全。Fiddler和大多数抓包工具相同,它通过第三方模拟网卡的接口对网卡的抓取和发送数据包进行监管,从而实现抓包的目的。它的...原创 2020-02-29 17:44:55 · 507 阅读 · 1 评论 -
安卓逆向学习——IDEA动态调试
我们获取包名和程序入口活动名还可以通过一条命令来实现adb shell dumpsys activity top这条命令代表获取当前系统运行的所有进程的包名和入口活动名和PID。安装并打开IDEA,配置JDK和SDK的位置配置好JDK后用同样的方式配置SDK即可,这里不再赘述。想要动态调试还需要安装Smali插件接下来一样使用AK将要动态调试的APK反编译出来,导入项...原创 2020-02-29 11:40:37 · 874 阅读 · 1 评论 -
安卓逆向学习——动态调试
安装好AndroidStudio后设置JDK和SDK路径安装Smali插件选择你的Smalidea插件的位置添加插件接下来把要安装的apk安装到模拟器上运行该进程打开AS,选择打开项目,直接导入AK反编译的apk文件路径即可。复制上面的文件路径打开AS导入对应路径项目导入成功后选择Project...原创 2020-02-29 10:26:58 · 928 阅读 · 2 评论 -
安卓逆向学习——adb常用命令(Linux)
第用adb连接到虚拟机后,调用的Linux操作系统的shell。因为这些Android的运行环境,最底层是Linux内核。而内核就是提供系统操作的接口函数的代码块,这自然就是Linux的Shell接口命令了。具体命令ls 显示指定目录ls命令效果如下,是不是有点操作Linux的感觉了呢cd命令用于切换到指定的目录下cd 目标目录mkdir用于创建一个文件夹,我们实践一下。切...原创 2020-02-25 20:09:03 · 499 阅读 · 0 评论 -
安卓逆向学习——多开原理和实验
我们都知道Windows下的进程Pid是独一无二的,如果两个进程都有相同的的Pid,那么这两个个进程只有一个可以运行,另一个则不能打开。在Android体系下,包名也类似于这个Pid,所以我们想要在Android模拟器上实现相同程序多开,就需要在包名上做文章,可以考虑让相同程序的相同包的包名不同,那么是不是就能实现多开了呢?我们首先安装一个未被修改包名的APK到模拟上将这个APK拖入Andr...原创 2020-02-25 16:08:58 · 1032 阅读 · 0 评论 -
Android逆向学习——Smali代码
Smali代码的数据类型B---byteC---charD---doubleF---floatJ---longI---intS---shortV---voidZ---boolean[XXX---arrayLXXX/YYY---objectL代表这个数据类型是一个类,如Ljava/lang/String代表一个String类Smali的函数定义Func-Name (P...原创 2020-02-25 15:44:43 · 364 阅读 · 0 评论 -
安卓逆向学习——Dalvik虚拟机与Smali代码
首先我们要清楚JAVA虚拟机和Dalvik虚拟机的关系,我们想要我们的android程序运行在Dalvik虚拟机上首先需要选择一种语言执行的环境,Android开发目前最多用的就是JAVA语言,凯特琳语言也在飞速发展,也许以后可能就要取代Java在安卓开发的地位。JAVA代码想要运行在Java虚拟机上首先要编译成Class文件,Java虚拟机才可以识别程序命令运行程序。想要在Dalvik虚拟机上运...原创 2020-02-25 11:30:15 · 374 阅读 · 0 评论 -
安卓逆向学习——dex文件
DEX文件实际上就是Dalvik虚拟机的可执行程序,所以这个文件对于逆向分析工程师是十分重要的,因为我们需要对可执行文件进行调试分析结果。JAVA文件的编译过程是由.java文件生成.class文件,然后在进行编译,编译成.dex文件的过程。我们可以随便在一个文本文件中编写JAVA程序如下注意JAVA类名是什么,这个java文件名应该就是什么。而且如果出现中文最好用反编译工具转换成Unic...原创 2020-02-25 10:13:18 · 2385 阅读 · 0 评论 -
安卓逆向学习——APK结构
APK是Android系统上的一个安装文件,我们从网络上下载一个app应用时首先要下载它的安装包。这个安装包的本质其实还是一个打包好的压缩文件。我们在自己的电脑上下载好APK后,把APK后缀更改为.zip就可以直接看到内部文件的结构。编译后的apk文件看下编译前后的文件对应关系JAVA目录编译成了classes.dex文件,这个文件用于存放编译后的代码。res编译成了resources...原创 2020-02-25 07:49:51 · 1214 阅读 · 0 评论 -
安卓逆向学习——SDK工具的安装与配置
逆向的起源于正向开发,没有正向的条件很难直接从逆向下手。在配置完JAVA开发环境后,想要进行Android开发还是不够的。因为JAVA开发环境工具包只提供了java代码运行环境和开发工具,我们要进行Android逆向,还需要快速开发Android的工具组件,这个时候我们就需要使用到Android SDK开发工具包。这里我从网上找到了对应的学习资源工具包,里面有eclipse IDE、Android...原创 2020-02-24 20:17:17 · 989 阅读 · 1 评论 -
安卓逆向学习——JAVA环境装配
选择版本号为jdk-8u121 x86和x64有一定区别。选择这个版本是为了配合使用JEB,JEB如果使用的jdk版本过高就会造成闪退现象,带来不必要的麻烦。我再下面的链接共享了逆向所用的jdk,大家可以随意下载使用。链接:网盘地址 提取码u7de注意在配置JAVA开发环境的时候,任何配置的路径都不要出现中文,否则可能会出现各种奇怪的问题。当安装成功后输入java会有java的提示证明jd...原创 2020-02-24 14:40:47 · 291 阅读 · 0 评论