Android逆向Android环境配置与常用工具介绍
Posted 蓝精灵喜欢格格巫
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android逆向Android环境配置与常用工具介绍相关的知识,希望对你有一定的参考价值。
【android逆向】Android环境配置与常用工具介绍
1.写在前面
Android逆向是一个综合各方面能力的应用,对经济能力与技术能力要求相对较高。不像Windows,只需要有一台电脑,就能愉快的草起来。它需要逆向人员拥有一定的 Android开发经验,能够基本理解 Android程序的结构,程序工作流程,以及了解熟悉一定的Api。开发语言上,又需要能够读懂Java, Smali,C+,arm代码。这是对逆向人员的考验,也是他的有趣之处。
注意:Java和C++要求能看懂,Smali和arm不仅要看懂,还要会修改。
2 Android的简单介绍
Android应用程序是采用Java语言开发,传统的Java语言运行是通过JVM
将源文件编译成Java字节码运行,但是 Android虽然是Java语言开发,但是字节码并不是最终的运行格式,并且由于版本问题和移动设备电量等问题, Google自行开发了一个虚拟机运行Android程序,这个虚拟机称为 Dalvik
。当完成源代码的开发后,首先会将Java源码转换为字节码,然后通过DX工具,将字节码文件转换了.dex
的文件,最后该dex格式
的文件在 Dalvik
上运行。
3配置 Android开发环境
①配置 Java SE Development Kit(JDK)
。
下载java开发包。请自行选择需要的版本下载,一般需要配置jdk1.7(jidk7)
,或jdk1.8(jdk8)
。之后配置变量:
- PATH
- JAVA_HOME
- CLASSPATH
官网版本分发包:Oracle Java Archive
②安装 Android Studio(需要科学上网,否则无法正常使用)
Developer:http://developer.android.com/develop/index.html
Google官方地址,用到的情况下非常多的。
安装后首次启动会自动要求配置 AndroidSDK,只要根据提示进行设置就可以。
遇到报错- HAXM(Intel Hardware Accelerated Execution Manager)安装
Intel® HAXM installation failed. To install Intel® HAXM follow the instructions found at: https://github.com/intel/haxm/wiki/Installation-Instructions-on-Windows
HAXM的github网站:https://github.com/intel/haxm
下载网址:https://github.com/intel/haxm/releases
下载后安装,提示没有满足要求:
问题反馈详情页:Install Haxm failed with ‘The system requirements are not satisfied’ #367
可以在具有管理员权限的 Windows 终端中通过“
bcdedit /set hypervisorlaunchtype off
”禁用 Hyper-V。然后重新启动你的电脑再试一次。
之后重启电脑,运行haxm的安装程序,成功安装:
硬件要求
虽然本文档没有提供 Hyper-V 兼容硬件的完整列表,但以下项目是必要的:
具有二级地址转换 (SLAT) 的 64 位处理器。
CPU 支持 VM Monitor Mode Extension(英特尔 CPU 上的 VT-x)。
最少 4 GB 内存。由于虚拟机与 Hyper-V 主机共享内存,因此您需要提供足够的内存来处理预期的虚拟工作负载。需要在系统 Bios 中启用以下项目:
虚拟化技术 - 可能有不同的标签,具体取决于主板制造商。
硬件强制数据执行保护。
cmd下msinfo32
查看硬件信息以及是否开启hype -v
验证硬件兼容性
检查上述操作系统和硬件要求后,通过打开 PowerShell 会话或命令提示符 (cmd.exe) 窗口,键入
systeminfo
,然后检查 Hyper-V 要求部分,验证 Windows 中的硬件兼容性。如果列出的所有 Hyper-V 要求的值为Yes,则您的系统可以运行 Hyper-V 角色。如果任何项目返回No,请检查本文档中列出的要求并在可能的情况下进行调整。
③安装Android SDK
如果没有安装 Android Studio
,也可以独立下载配置 Android sdk管理器。Developer官网或者百度即可下载。如果不清楚具体哪个包有什么作用的话,就下载默认打钩的所有扩展工具包!!
开发调试 Android程序必备工具包。逆向中用到也非常多!!
添加全局环境变量:
PATH:
Androidsdk\\platform-tools
Androidsdk\\tools
安装成功后可以在cmd命令行通过adb
命令来测试。
④安装 Android NDK
已安装 Android Studio的情况下,可以直接通过 Studio来进行安装;
使用C++代码编译成arm代码,再bian’yi’chen
⑤安装 eclipse
如果前面没有安装 Android Studio,则需要安装 eclipse+Adt来进行代替
Eclipse:
下载地址:http://www.eclipse.org/downloads/
建议选择带Java以及C+插件的
用法: eclipse界面中Help-> Install new Software-〉Add
Name: Android ADT (development toolkit)
Location:https://dl-ss1.google.com/android/eclipse/
按照提示点击Next会自动安装。安装完后需要手动配置SDK与NDK路径。
4.安卓模拟器 blues tacks的下载与安装
好用的模拟器很多,不过都是x86内核的,所以随便选一个顺手的就可以。这里课程中就使用 bluestacks。
可能 bluestacks不能自动连接上电脑,此时需要进行如下修改
Adb kill-server
Adb start-server
或Adb connect 127.0.0. 1
就可以了
5.一台调试用手机
调试用手机请务必专门买一台, Google的亲儿子二手的就可以。
课程中使用 nexus4 ocam(mako),二手价格在250-350之间,你们也可以选择 Nexus.5Nexus7(flo/deb/ grouper/ tilapia), nexus10之类的。
如果实在不想买 Google的话,也可以弄一台已经root过的手机。后面到 native层的时候就无法用模拟器糊弄过去的了。
自己采用一台redmi5
进行测试,线刷MIUI开发版后,解锁如下。
详细可以博主另一篇文章:【教程】Redmi 5 root参考教程
以上是关于Android逆向Android环境配置与常用工具介绍的主要内容,如果未能解决你的问题,请参考以下文章
Android 逆向Android 进程注入工具开发 ( Visual Studio 开发 Android NDK 应用 | VS 自带的 Android 平台应用创建与配置 )
Android 逆向Android 逆向通用工具开发 ( 网络模块开发 | 配置头文件 | 配置编译参数 | 网络初始化 WSAStartup 与清理 WSACleanup 操作 )
Android 逆向Android 进程注入工具开发 ( 总结 | 源码编译 | 逆向环境搭建使用 | 使用进程注入工具进行逆向操作 ) ★★★
Android 逆向Android 进程注入工具开发 ( SO 进程注入环境及 root 权限获取 | 进程注入时序分析 )