课程介绍

Frida工具自从作者创建以来,已经走过了15个年头,始终受到软件安全领域工作者的热爱与追捧。近年来,Frida在安全对抗方面的应用可谓是移动安全领域最热门的话题之一。讲师本人在2021年尝试开发了一个名为strong-frida的项目,随着安全对抗技术的不断升级,讲师决定深入研究Frida的整体框架及其内部实现细节,以便向那些前辈学习他们的思路与实现方法。这个研究过程将是一个庞大的工程,我深知许多朋友也曾有过类似的计划,但由于种种原因,目前市场上并没有一份完整的、系统化的资料可供参考。


在这个过程中,讲师将记录下我的学习心得、遇到的困难以及解决方案,将整个学习计划分成三季的视频内容来展开。希望能够为其他有志于探索Frida的朋友提供一些参考和帮助。让我们一起在这条充满未知与挑战的道路上,携手前行,共同成长。


课程大纲设计如下:

第一章:构建系统与语言基础篇 讲vala语言基础,Frida构建系统以及项目里面的python、nodejs、c、vala等项目的动态调试。


第二章:Linux系统篇,讲frida-core、firda-gum、devkits、frida-tools等工具的组件接口实现。


第三章:安卓系统篇,讲各组件工作流程以及在安卓上特定实现的细节,讲hook内幕,frida js调试等。


课程涉及到Python、Bash、JavaScript、C、Vala等多种编程语言的开发与调试。整个开发环境采用目前最流行的devcontainers实现课程讲解与学员使用的环境的统一。


课程内容不是简单的代码讲解,为了能够理解整个项目的框架,需要绘制各种组织架构图、时序图与活动图、还有一些代码,使用活动图方便实现的,就会使用活动图来绘制,比如编译流程。还有很多在流程上方便使用时间线展示的,使用时序图来绘制。


双语学习资料:课程中的一些学习参考资料都是英文的,为了方便学员学习,我们专门提供了中文翻译版本与中英对照版本,确保大家能够轻松掌握课程内容。