前言

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/

新手接触逆向时,很容易在反编译和回编译时出现各种各样的错误,导致流程走不下去,非常打击信心。有一套稳定可用的逆向工具,可以节省很多的摸索时间,直接学习和练习最核心的东西。

更多相关文章

  1. C语言函数的递归(上)
  2. 【Android测试工具】02. Android抓包解析全过程
  3. Android组件界面设计工具 DroidDraw
  4. Android(安卓)APK文件拆解方法
  5. Android多语言适配繁体中文
  6. Android代码的工程分为三个部分
  7. Android(安卓)程序之在线词典
  8. Android开发指南目录
  9. Android之简单加密–MD5 加密

随机推荐

  1. android - 模拟器连接本地tomcat
  2. Android(安卓)webview 应用
  3. android 菜单例子
  4. Chris:怎样成为一名Android应用开发者
  5. Android(安卓)如何让EditText不自动获取
  6. Android面试必备——Fragment
  7. Android简明开发教程十九:线程 Bezier曲线
  8. Android全埋点方案调研
  9. 【Android开发 .9图的使用】Android(安卓
  10. Android(安卓)Uri获取资源文件(多种方式)