分析报告:AI技术在Seeing AI应用中的实现
简介
本文分析了Seeing AI应用程序中关于AI资产的提取和逆向工程过程,主要涉及Android APK文件、APK工具、图像处理等技术。
技术细节
-
APK 文件解析
- 使用
apktool
分析 Seeing AI 的.apk
文件。 - 从
assets/
目录中发现了名为currency-labels.txt
的货币标签文件,大小为16MB。
- 使用
-
Neural Inference Engine
- 发现了
TensorFlow Lite
引擎的使用,特别是通过org.tensorflow.lite.NativeInterpreterWrapper
类来实现模型的加载和推理。
- 发现了
-
Frida 逆向工程工具的应用
- 使用 Frida 进行动态分析,主要目标为
NativeInterpreterWrapper.createModelWithBuffer(java.nio.ByteBuffer, long)
方法。 - 成功使用 Frida 脚本对
.tflite
模型进行了导出,并通过 Netron 工具进行可视化。
- 使用 Frida 进行动态分析,主要目标为
-
模型文件的提取与处理
- 使用 ADB 命令
adb pull currency.tflite
从设备中拉取了模型文件。 - 在 Netron 中查看
.tflite
文件,确认其为 TensorFlow Lite 模型。
- 使用 ADB 命令
-
非法指令问题
- 提到了使用某些工具如Adobe Scan时遇到“Illegal Instructions”错误。
结论
通过上述分析,可以得出 Seeing AI 应用程序利用了先进的AI技术来提供图像识别和解释服务。特别是 TensorFlow Lite
的应用显示了对移动设备上高效模型推理的重视。逆向工程过程中使用Frida等工具揭示了其内部工作机制,并有助于理解应用程序如何处理特定类型的输入数据,如货币图像。
附加注释
- 提到的“Kool-Aid”可能是一种比喻,暗示某人完全接受了某项新技术或理念。
- 报告中的图片编号(!Image 20, !Image 21等)和特定的数字序列(例如12、2、3)没有具体含义,在此未作深入分析。
Source:https://baoyu.io/translations/you-wouldnt-download-an-ai