【APP 逆向百例】某当劳 Frida 检测

💡 原文中文,约6800字,阅读约需16分钟。
📝

内容提要

本文介绍了如何使用Frida工具对某当劳APP进行逆向分析,重点在于hook动态库加载和线程创建。通过分析libDexHelper.so和libmsaoaidsec.so文件,成功绕过检测,完成Frida检测分析。

🎯

关键要点

  • 文章内容仅供学习交流,不用于商业用途。
  • 逆向目标为某当劳APP,版本为7.0.15.1。
  • 使用Frida工具进行动态库加载和线程创建的hook分析。
  • 首先hook dlopen方法以监控动态库加载情况。
  • 分析libDexHelper.so文件,发现其用于Frida检测。
  • 通过hook pthread_create监控线程创建情况。
  • 使用GPT分析得知pthread_create最终调用clone方法。
  • 直接hook clone函数以获取线程函数地址和模块信息。
  • 成功输出libDexHelper.so的线程函数。
  • 尝试nop掉相关函数以绕过检测。
  • 最终成功绕过libmsaoaidsec.so的检测。
  • 文章中相关hook脚本将分享给需要的读者,仅供学习交流。

延伸问答

如何使用Frida工具对某当劳APP进行逆向分析?

使用Frida工具可以通过hook动态库加载和线程创建来进行逆向分析,首先hook dlopen方法监控动态库加载情况。

在逆向分析中,如何绕过Frida检测?

可以通过分析libDexHelper.so文件,hook pthread_create和clone方法,最终nop掉相关函数来绕过Frida检测。

libDexHelper.so文件的作用是什么?

libDexHelper.so文件用于Frida检测,是某梆加固的一部分。

如何监控动态库的加载情况?

可以通过hook dlopen方法来监控动态库的加载情况,记录加载的库文件路径。

在Frida分析中,如何获取线程函数的地址和模块信息?

通过hook clone函数,可以获取线程函数的地址和所属模块信息。

文章中提到的hook脚本有什么用途?

hook脚本用于学习和交流,帮助用户理解如何进行Frida检测分析。

➡️

继续阅读