1. 逆向工程 (Reverse Engineering)
逆向工程是将应用程序的二进制代码反编译,以恢复原始源代码或类似形式的过程。
Android的APK文件和iOS的IPA文件都可以通过反编译进行分析。
这种方法通常用于理解应用程序的内部逻辑或了解数据通信方法。
对于经过特殊处理以避免逆向工程的应用程序,可能无法进行分析。
以下分别总结了Android APK逆向工程和iOS IPA逆向工程。
1.1. Android APK逆向工程
工具: jadx, APKTool, Dex2jar等
1.1.1. 通过Android APK逆向工程的步骤
从Google Play商店下载APK文件。
使用类似APKTool的工具对APK文件进行反编译。
分析反编译的源代码,了解应用程序的逻辑、API端点、数据结构等。
分析网络数据包或检查日志以了解数据通信方法。
1.2. iOS IPA逆向工程
工具: Hopper, IDA Pro, Ghidra等
1.2.1. 通过iOS IPA逆向工程的步骤
从App Store下载IPA文件。
使用选择的工具对IPA文件进行反编译。
分析反编译的源代码,了解应用程序的内部逻辑、数据通信方法等。
2. 光学字符识别 (OCR)
光学字符识别 (OCR) 是一种从应用程序屏幕截图中提取文本的方法。
OCR的准确性受多种因素影响。
文本大小、字体、背景颜色等都可能影响准确性。
在某些情况下,由于难以实现高准确性,不建议使用该方法。
然而,在无法访问API或源代码,或在其他方式难以获取数据的情况下,这可能是一种有用的方法。
2.1. OCR工具
Tesseract: 最广为人知的开源OCR引擎。
Google Cloud Vision API: Google提供的OCR服务,具有高准确性和多语言支持。
ABBYY FineReader: 商业OCR软件,提供高准确性。
2.2. 通过OCR工具的步骤
捕获显示所需信息的屏幕截图。
为提高OCR准确性,可能需要对图像进行预处理。这可能涉及去除噪音、调整亮度和对比度等操作。
使用预处理后的图像通过OCR工具转换为文本。
由于通过OCR获取的文本可能未经过处理或存在错误,因此需要进行文本清理。
分析清理后的文本并保存所需数据。
3. 数据包嗅探(Packet Sniffing)
数据包嗅探是捕获和分析网络数据包的过程。
这种方法在尝试了解应用程序如何与服务器交换数据时非常有用。
通过数据包嗅探,可以分析应用程序的内部逻辑、使用的API端点、认证机制等。
3.1. 数据包嗅探工具
Wireshark: 最广泛使用的数据包嗅探工具。
Charles Proxy: 主要用于Web开发和移动应用程序分析。提供SSL代理功能,可分析HTTPS流量。
MITMproxy: 模拟中间人攻击,分析流量。
tcpdump: 文本型数据包分析工具,在服务器环境中非常有用。
3.2. 通过数据包嗅探的步骤
安装数据包嗅探工具,并在必要时为应用程序或设备进行代理设置。
运行应用程序并在数据交换过程中使用数据包嗅探工具捕获流量。
分析捕获的数据包,了解API端点、使用的协议、传输的数据格式等。
通过分析了解的API端点发送请求并接收响应。
通常,RESTful API使用GET、POST、PUT、DELETE等HTTP方法。一旦确认所需数据或模式,就可以编写爬取代码。
4. 结论
API端点可能会泄露用户个人登录信息等敏感信息。此外,由于应用程序更新可能导致API端点发生更改,因此建议采取相应措施并进行运营。
请阅读以下文章:
数据收集,现在自动化
开始无需编码,5分钟内即可开始 · 5000多个网站爬取经验




