Theseus

Android逆向知识点整理
基础调试基础1、使用JEB或者IDA动态调试2、动态调试native层代码(So文件)3、动态调试smali文件j...
扫描右侧二维码阅读全文
10
2020/07

Android逆向知识点整理

基础

调试基础

1、使用JEB或者IDA动态调试

2、动态调试native层代码(So文件)

3、动态调试smali文件

java层逆向

1、掌握java语言

2、了解并熟悉smail语法

3、熟悉使用常见的工具(Androidkiller、JEB、jadx、IDA等等)

Native层逆向

1、了解Android操作系统以及四大组件

2、了解NDK开发流程,且熟悉开发

3、熟悉ARM汇编指令

文件结构

1、掌握DEX、ELF、XML、ARSC等文件结构

2、编写文件解析工具

常见的加密算法

1、掌握编码算法、消息摘要算法、对称加密算法

2、掌握非对称加密算法、数字签名算法

协议加解密分析

1、了解客户端与服务端如何进行交互的(OSI模型、TCP/IP模型)

2、掌握常见的抓包工具以及环境配置,HTTP协议与HTTPS安全协议,数字签名、SSL证书检测

3、(中级)Socket协议逆向,字段溯源与算法还原

中级

APK保护策略

1、了解java代码混淆、资源混淆

2、掌握签名验证、文件校验、模拟器检测

3、本地验证、网络验证

4、了解Dex文件整体加密、Dex代码抽取加密

5、了解So文件整体加密、函数加密、区段加密、加壳、混淆

6、分析通用脱壳机的实现原理以及应用场景

7、了解主流加固特点以及对应的脱壳技巧

反调试与反-反调试

1、掌握反调试方法和技巧:比如关键文件检测、调试端口检测、进程名称检测、防附加、轮训检测TracerPid值、时间检测、信号检测等等

2、掌握IDA过反调试

HOOK框架

1、掌握hook插件开发

2、掌握Xposed、substrate、Frida等框架

系统源码分析(基础)

1、了解Android操作系统启动流程、Zygote启动流程

2、掌握Dalvik虚拟机、ART虚拟机、So加载流程

高阶

frida hook大全

1、熟练的使用frida工具进行hook

2、安卓事件、组件、网络(peocess/Module/Memory/Thread/JNI/so/ARM)

3、使用frida脱壳

4、frida自动化脚本编写

5、辅助ollvm分析以及还原

6、辅助还原非对称加密算法

NDK开发详解

1、NDK开发提高性与优势

2、JNI/C/C++、JavaVM、JNIEnv开发

3、JNI函数在ART中的注册流程

OLLVM

1、OLLVM的开发原理

2、OLLVM逆向破解技巧

unicorn/unidbg

1、unicorn框架入门

2、使用unidbg工具

最后修改:2020 年 07 月 10 日 09 : 13 PM
如果觉得我的文章对你有用,请随意赞赏

发表评论