一、逆向环境配置和常用工具
前言
Android逆向是一个各方面能力的应用。它需要逆向人员需要有一定的Android开发能力,能理解Android程序的结构和运行流程,并熟悉Android的API。
开发语言需要了解Java、C++,这两门语言逆向出来的对应的语言是Smali和Arm,这是一种挑战,也是它的乐趣所在。
Android简介
Android应用程序采用Java语言开发,当然最近几年Google也开始推Kotlin语言。传统的Java语言运行是通过JVM将源语言编译成Java字节码运行的,但是Android虽是Java开发,但字节码并不是最终的运行格式,并且由于版本和移动设备电量问题,Google自己开发了一个虚拟机来运行Android程序,这个虚拟机称为Dalvik
。
Android程序开发完成后,首先将Java编译成字节码,然后通过DX工具,将字节码转换成.dex
文件,最后.dex
格式的文件在Dalvik
虚拟机中运行。
常用工具
https://www.androiddevtools.cn/ 这个网址有很多的Android开发和逆向工具可供下载使用。
在网盘的/Secure/Android/Tools目录下收集放置了一些工具
Android Studio
作为Google官方提供的Android开发利器,Android Studio比Eclipse有着明显的优势,同时它也是动态调试Android的神器。目前,Android Studio可以在国内下载,各版本地址是:https://developer.android.google.cn/studio/archive.html
Android Killer
Android逆向的神器,这篇文章有具体的介绍,也有一些采坑和优化方案:https://www.52pojie.cn/thread-726176-1-1.html
Android逆向助手
集Apk反编译、Apk打包、Apk签名,编码互转,ADB通信(应用安装-卸载-运行-设备文件管理)等特色功能于一身,支持logcat日志输出,语法高亮,基于关键字(支持单行代码或多行代码段)项目内搜索,可自定义外部工具;吸收融汇多种工具功能与特点,打造一站 式逆向工具操作体验,大大简化了用户在安卓应用/游戏修改过程中的各类繁琐工作。
windows系统上的逆向工具套装
版本必须下对了,不要问为什么。参考地址:https://www.52pojie.cn/thread-844248-1-1.html
工具名称 | 版本号 | 下载地址 |
---|---|---|
JDK | 1.7 | http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html |
Android Studio | 2.2.3 | http://www.android-studio.org/index.php/download/hisversion 直达:https://dl.google.com/dl/android/studio/install/2.2.3.0/android-studio-bundle-145.3537739-windows.exe |
SDK | 25.2.2 | https://pan.baidu.com/s/1dEEoALN |
AndroidKiller | 1.3.1 | https://down.52pojie.cn/Tools/Android_Tools/AndroidKiller_v1.3.1.zip |
ApkTool | 2.3.4 | https://ibotpeaches.github.io/Apktool/install/ 直达:https://bitbucket.org/iBotPeaches/apktool/downloads/ |
rtl230.bpl | 大牛提供 | https://www.52pojie.cn/thread-658341-1-1.html |
雷电模拟器 | 大牛推荐 | http://www.ldmnq.com/ |
新手接触逆向时,很容易在反编译和回编译时出现各种各样的错误,导致流程走不下去,非常打击信心。有一套稳定可用的逆向工具,可以节省很多的摸索时间,直接学习和练习最核心的东西。
更多相关文章
- C语言函数的递归(上)
- 【Android测试工具】02. Android抓包解析全过程
- Android组件界面设计工具 DroidDraw
- Android(安卓)APK文件拆解方法
- Android多语言适配繁体中文
- Android代码的工程分为三个部分
- Android(安卓)程序之在线词典
- Android开发指南目录
- Android之简单加密–MD5 加密