What you'll learn
- 掌握Frida动态调试环境搭建
- 掌握Frida动态调试基本方法
- 熟悉基于Windows平台的Frida调试分析
- 熟悉基于Frida的TypeScript脚本编写和编译
Requirements
- 了解基本的逆向分析方法
Description
Frida是一款免费的,基于Python和JavaScript来实现的,面向开发人员、逆向工程师和安全研究人员的动态检测工具包。
Frida拥有一套全面的测试套件,不但调试效率极高,而且在广泛的使用中经历了多年严格的测试。
尤其是,移动应用安全测试和服务巨头NowSecure对齐钟爱有加,在NowSecure内部,安全人员通过Frida这个工具套装,已经完成对大量的移动应用程序大规模深度的安全分析测试。目前依然在该公司的安全测试中扮演重要的角色。
基于Python和JavaScript的Frida,天生就是跨平台的动态调试工具,不但可以运行在Windows、Linux、macOS之上,而且还可以调试Windows应用程序、Linux应用程序,macOS、iOS、Andriod和QNX等几乎全平台的应用程序。可以说,一旦掌握Frida这套工具,就可以在全平台,对全平台的应用程序进行动态调试和分析。
Frida使用极其方便,在使用过程中,只需将你编写的JavaScript脚本通过Frida自身的工具注入到目标进程中,就可以HOOK任何功能,其中包括但不限于监视加密API或跟踪应用程序关键代码等。在使用过程中,无需知道被“研究”程序的源代码。
尤其是可以一边编辑JavaScript脚本,一边运行JavaScript脚本的功能对于调试分析来说极为友好。只需“保存”正在编辑的JavaScript脚本,就立即就能看到该脚本执行的结果,全称无需其它人工介入,也无需重新启动被“研究”的应用程序,极大地简化了分析流程,同时也极大地提高了工作效率。因此,得到了众多安全分析人士的青睐。
本课程从最基本的调试环境搭建开始,基于经典的Windows“扫雷”游戏的动态调试分析,编码等,循序渐进演示Firda在分析调试Windows应用程序中基本使用方法和技巧。拥有这些知识储备之后,在加上官方的参考文档,你就可以轻松地将这些知识“迁移”至分析和调试其他平台的应用程序。
课程资料,请看第一课中github链接
Who this course is for:
- 软件开发人员 逆向工程师 安全研究人员
Instructor
I am Qingming Zhao, a professor at Chengdu University of Technology.
I am genuinely passionate about technology and its impact on our lives.
I earned a Master's degree in Computer Science, specializing in Software Engineering, from the University of Electronic Science and Technology of China.
Over the years of experience in development and front-line teaching, I have been fortunate enough to gain extensive experience in various areas of computer science. These include software architecture, software reverse engineering, web technologies, user interfaces, mobile development, the Internet of Things, databases, system management, and cloud computing.
As a professor, my primary goal is to create a stimulating and engaging learning environment for my students. I believe that the best way to learn is by doing, which is why I encourage hands-on activities and real-world projects in my courses. I am always readily available to provide guidance and support, ensuring that each student has the necessary tools to succeed.
I am also an avid reader and a fan of science fiction, which often sparks my imagination and inspires me to think beyond the conventional boundaries of computer science.
I am confident that together we will explore the fascinating world of computer science, uncovering new ideas and innovations along the way. After all, the beauty of computer science lies in its ability to transform the way we live, work, and communicate.
Thank you for giving me the opportunity to be a part of your educational journey, and I cannot wait to see what we will achieve together.
Let's make the most of our time here and create a lasting impact on the world through our passion for computer science.