学习逆向需要掌握的基础和工具介绍
**
逆向所需的一些基础及工具
**
Android****师技能表
• 1.1 古典密码学基础
• 1.2. 代密码学基础
• 1.2.1. 哈希算法
• 1.2.2. 非对称加密与解密
• 1.2.3. 椭圆曲线
• 1.2.4. 数字签名
• 1.2.5. 数据分组与校验
• 1.3. 密码攻击理论
• 1.4. 密码库的识别
• 2.1. HTTP/HTTPS协议
• 2.1.1. 网络数据包分析
• 2.1.2. 数据包回放与编码实现
• 2.2. SSL/TLS协议
• 2.2.1. 协议规范
• 2.2.2. 协议握手过程
• 2.2.3. 协议攻击方法
• 2.2.4. 安全部署
• 2.3. 数据传输协议框架
• 2.3.1. Protocol buffer
• 2.3.2. Flat Buffer
• 3.1. 抓包工具
• 3.1.1. Wireshark
• 3.1.2. tcpdum
• 3.1.3. Fiddler
• 3.1.4. Charle
• 3.1.5. BurpSuite
• 3.2. 数据包过滤与分析
• 3.3. 数据包重放与分析
• 3.4. WEBAPI安全审计
• 3.5. 数据包格式解析插件编写
• 4.1. class字节码
• 4.1.1. Java语言基础
• 4.1.2. 字节码分析工具 010 Editor
• 4.1.3. AOP编程基础
• 4.1.4. AOP工具与框架
• 4.2. DEX/ODEX
• 4.2.1. smali汇编语音
• 4.2.2. DEX/ODEX文件格式
• 4.2.3. DEX加载过程
• 4.2.4. DEX重组与修复
• 4.3. OAT文件格式
• 4.3.1. OAT文件布局
• 4.3.2. DEX文件提取
• 4.4. ELF
• 4.4.1. ELF文件格式、ABI规范
• 4.4.2. ELF文件的动态加载
• 4.4.3. ELF文件的篡改与修复
• 4.4.4. Android Linker源码分析
• 4.4.5. ARM/Aarch64汇编语音
• 4.4.6. LLVM • 4.4.6.1. IR文档
• 4.5. AXML文件格式
• 4.6. ARSC文件格式
• 4.7. 文件格式分析工具
• 4.7.1. 010 Editor
• 4.7.2. gnu binutil
• 5.1. IDAPro
• 5.1.1. 静态分析
• idc脚本、Python语言基 础、IDA python脚本开 发、IDA Python插件开 发
• 5.1.2. 动态调试
• 动态调试dex、动态调试 so、调试器脚本与插件
• 5.2. Hopper
• 5.2.1. 静态分析
• 5.3. Radare2
• 5.4. 动态调试器
• 5.4.1. GDB
• 5.4.2. LLDB
• 5.4.3. JDB
• 5.4.4. SmalI IDEA + AndroidStudio
• 5.5. 编译与反编译
• 5.5.1. apktoo
• 5.5.2. JEB
• 5.5.3. Smali/BakSmali
• 5.6. 反编译查看
• 5.6.1. JD-GUI
• 5.6.2. JADX
• 5.6.3. ByteCode Viewer
• 6.1. hook类型
• 6.1.1. dalvik hook(AOP hook,runtimemethod replacement)
• 6.1.2. ART hook
• 6.1.3. so hook(LD_PRELOADhook,inline hook,got hook)
• 6.2. 注入类型
• 6.2.1. dex注入
• 6.2.2. so注入
• 6.3. hook注入框架
• 6.3.1. xposed
• 6.3.2. Frida
• 7.1. 资源加密
• 7.2. dex混淆
• 7.2.1. proguard
• 7.2.2. dexguard
• 7.3. so混淆
• 7.3.1. ollvm
• 7.4. 反调试
• 7.4.1. 阻止附加
• 7.4.2. 多进程保护
• 7.4.3. hook检测
• 7.4.4. root检测
• 7.5. 模拟器检测
• 7.5.1. 调试器状态
• 7.5.2. 调试器端口
• 7.5.3. 进程状态
• 7.5.4. 运行时差