逆向APP的思路
Posted spongebob-github
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了逆向APP的思路相关的知识,希望对你有一定的参考价值。
逆向APP的思路
1.界面分析
Cycript、Reveal
2.代码分析
对Mach-O文件的静态分析
MachOView、class-dump、Hopper Disassembler、ida等
3.动态调试
对运行中的APP进行代码调试
debugserver、LLDB
4.代码编写
注入代码到APP中
必要时还可能需要重新签名、打包ipa
PS: Reveal->识别 UIView 的层级结构
1. 去下载Reveal4.0以上版本(支持USB调试),并破解(网上有教程)
- 2. 调试环境配置
- 2.1 软件源:http://apt.so/codermjlee
- 2.2 安装完Reveal Loader后,打开手机【设置】,找到Reveal->Enabled Applications->选择需要调试的APP
- 2.3 找到Mac的Reveal中的RevealServer文件,并覆盖iPhone中的/Library/RHRevealLoader/RevealServer文件
- 2.3.1 Reveal导航栏中Help -> Show Reveal Library in Finder -> iOS Library
2.3.2 重启手机:reboot
3.0 这下打开手机&Reveal就可以实时看到APP的结构
PS:Cycript->识别 控制器 的层级结构
推荐Mj的一个开源库mjcript
- ting是应用的进程名
~ root# cycript -p ting
- 进入cy环境(cmd+r清屏==clear,)
cy# @import mjcript
{}
cy# MJChildVcs(MJRootVc())
{}
以上是关于逆向APP的思路的主要内容,如果未能解决你的问题,请参考以下文章
Android 逆向类加载器 ClassLoader ( 类加载器源码简介 | BaseDexClassLoader | DexClassLoader | PathClassLoader )(代码片段
Android 逆向Android 逆向通用工具开发 ( Android 平台运行的 cmd 程序类型 | Android 平台运行的 cmd 程序编译选项 | 编译 cmd 可执行程序 )(代码片段