Android逆向系列之ARM概述篇

Android逆向系列之ARM概述篇

ARM简介

ARM 即Advanced RISC Machines的缩写,既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。

ARM处理器的三大特点是:耗电少功能强、16位/32位双指令集和众多合作伙伴。

继续阅读“Android逆向系列之ARM概述篇”

Android逆向系列之静态分析(四)–Native

基本方法

静态分析原生层程序基本的过程如下

  1. 直接解压提取 so 文件(/lib文件夹)
  2. ida 反编译 so 文件阅读Arm汇编or反汇编代码
  3. 根据 java 层的代码来分析 so 代码。
  4. 根据 so 代码的逻辑辅助整个程序的分析。

原生层静态分析例子

2015-福建海峡两岸CTF-APK逆向,逆向试试吧

继续阅读“Android逆向系列之静态分析(四)–Native”

Android逆向系列之静态分析(二)–JAVA层

实例分析

2014 ASIS Cyber Security Contest Finals Numdroid

判断文件类型

首先利用 file 命令判断一下文件类型,发现是个压缩包,解压缩一下,得到对应的文件,然后继续看一下,发现该文件是 apk 文件。

安装程序

继续阅读“Android逆向系列之静态分析(二)–JAVA层”

Android逆向学习汇总篇

Android

入门基础知识

《Android逆向系列之基础-入门篇》
《Android逆向系列之基础-工具篇》
《Android逆向系列之基础-Smali语法篇》
《Android逆向系列之基础-ARM概述篇》
《Android逆向系列之基础-ARM语法篇》
《Android逆向系列之基础-Dex文件结构解析》
《Android逆向系列之基础-AndroidManifest文件结构解析》
《Android逆向系列之基础-ELF文件结构解析》
《Android逆向系列之基础-Resource.arsc文件结构解析》

<!–more–>

静态分析

《Android逆向系列之静态分析(零)–入门篇》
《Android逆向系列之静态分析(一)–Jeb》
《Android逆向系列之静态分析(二)–JAVA层》
《Android逆向系列之静态分析(三)–IDA》
《Android逆向系列之静态分析(四)–Native层》

动态调试

《Android逆向系列之动态调试(零)–入门篇》
《Android逆向系列之动态调试(一)–Smali注入》
《Android逆向系列之动态调试(二)–Eclipse调试apk》
《Android逆向系列之动态调试(三)–IDA调试dex》
《Android逆向系列之动态调试(四)–代码注入(JDB调试)》
《Android逆向系列之动态调试(五)–gdb调试》
《Android逆向系列之动态调试(六)–IDA调试so文件》
《Android逆向系列之动态调试(七)–IDA调试so文件(下)》

Hook

《Android逆向系列之Hook(一)-基础篇》
《Android逆向系列之Hook(二)-Java层Hook原理》
《Android逆向系列之Hook(三)-Native层Hook原理》
《Android逆向系列之Hook(四)-Xposed入门篇》
《Android逆向系列之Hook(五)-Xposed原理解析》
《Android逆向系列之Hook(六)-Frida入门篇》
《Android逆向系列之Hook(七)-Frida原理解析》
《Android逆向系列之Hook(八)-Hook框架总结篇》

注入

《Android逆向系列之注入(一)-基础篇》
《Android逆向系列之注入(二)-进程注入原理分析》
《Android逆向系列之注入(三)-代码注入原理分析》
《Android逆向系列之注入(四)-注入框架总结篇》

加固

《Android逆向系列之加固篇(一)-加固壳基础篇》
《Android逆向系列之加固篇(一)-Java层加固》
《Android逆向系列之加固篇(一)-Natvie层加固》

脱壳

《Android逆向系列之脱壳篇(一)–一代壳方法总结》
《Android逆向系列之脱壳篇(二)–二代壳方法总结》
《Android逆向系列之脱壳篇(三)–三代壳方法探索》
《Android逆向系列之脱壳篇(四)–四代壳方法探索》

混淆

《Android逆向系列之混淆-方法总结》
《Android逆向系列之反混淆-方法总结》

工具分析

《Apktool源码分析》

自研小工具

《Android逆向小工具-ida_auto_dydebug》
《Android逆向小工具–am_auto_start》
《Android逆向小工具–Dex2Java》
《Android逆向小工具–apkCheckProtect》

持续更新,欢迎持续关注订阅!
本文属于原创,转载请注明来自tasfa.cn ,如有问题请联系 root#tasfa.cn

Apktool源码分析

                   Android-studio

一、编译

1.源码下载: https://github.com/iBotPeaches/Apktool

2.编译可以直接使用Apktool目录下的gradlew.bat命令,这里使用了Android Studio来编译源码,为后续调试做准备。

3.导入源码,步骤:File–>open–>源码路径,或者在导航页面直接选择import project

4.点击右边的Gradle(注意这里按钮可能贴边上,仔细找一下),点开找到一个类似刷新的按钮,点击一下即可

5.编译:Apktool的主要类在brut.apktool:apktool-cli模块里,运行”fatjar”任务生成项目的jar文件。

继续阅读“Apktool源码分析”

Android逆向系列之动态调试(七)–IDA调试so文件(下)

111111111

《Android逆向系列之动态调试(零)–入门篇》
《Android逆向系列之动态调试(一)–Smali注入》
《Android逆向系列之动态调试(二)–Eclipse调试apk》
《Android逆向系列之动态调试(三)–IDA调试dex》
《Android逆向系列之动态调试(四)–代码注入(JDB调试)》
《Android逆向系列之动态调试(五)–gdb调试》
《Android逆向系列之动态调试(六)–IDA调试so文件》
《Android逆向系列之动态调试(七)–IDA调试so文件(下)》

一、环境准备
工具详见< 工具篇>、破解的apk demo: Alictf2014_2.APK(反调试)、apktool

上一篇文章是讲解了IDA在无反调试的情况下调试so文件,这一篇文章自然就是解决在有反调试的情况下,如何使用IDA调试so文件,下一篇文章将会讲解dump dex的方法,敬请关注!
Read More