前言
ref="/tags/NiXiang.html" title=逆向>逆向重点是分析和理解计算机程序、二进制文件或者其他软件的ref="/tags/NiXiang.html" title=逆向>逆向工程技术。在CTF比赛中,参赛者通常会收到一个或多个二进制文件、程序、固件或者其他类型的软件,他们的任务是分析这些文件,识别潜在的漏洞或安全问题。
学ref="/tags/NiXiang.html" title=逆向>逆向需要会密码学,汇编语言,python,c语言
环境安装
静态分析工具
静态分析无需实际执行该程序。它通过检查程序的结构、语法、数据流和控制流,以识别潜在的问题、漏洞、错误或安全问题。这种分析通常在程序编译或解释阶段进行,而不需要实际运行程序
IDA PRO
IDA Pro是一款强大的ref="/tags/FanHuiBian.html" title=反汇编>反汇编工具,它可以静态和动态去分析程序,下载地址:
re>Ghidra
Ghidra 是由美国国家安全局研究局创建和维护的软件ref="/tags/NiXiang.html" title=逆向>逆向工程 (SRE) 框架 。该框架包括一套功能齐全的高端软件分析工具,使用户能够在包括 Windows、macOS 和 Linux 在内的各种平台上分析编译代码。功能包括ref="/tags/FanHuiBian.html" title=反汇编>反汇编、汇编、反编译、绘图和脚本,以及数百个其他功能。Ghidra 支持多种处理器指令集和可执行格式,并且可以在用户交互和自动化模式下运行。用户还可以使用 Java 或 Python 开发自己的 Ghidra 扩展组件和/或脚本。
下载地址:
之前写过Ghidra的安装和使用教程
re>动态分析工具
动态分析是一种用于分析计算机程序、应用程序或系统行为的方法,通过运行实际的程序并监控其执行过程来收集信息和数据。与静态分析不同,动态分析涉及程序的实际执行,以便更深入地理解程序的行为、性能和潜在问题
x64dbg
x64dbg 是一款开源的调试器,用于分析和调试Windows 操作系统上的二进制文件,包括应用程序和系统进程,下载地址:
re>gdb
gdb是一个linux的动态调试器,可以调试各种二进制文件
安装:
我们还需要安装pwndbg插件,方便调试程序
re>成功安装插件后,使用gdb调试程序会显示插件名称
Android分析工具
jadx是用于将Android应用的DEX文件反编译为可读的Java源代码的工具,下载地址:
re>DLL分析工具
dnSpy是一款开源的.NET程序集反编译器和调试器,用于分析和修改.NET Framework和.NET Core应用程序的程序集文件,下载地址:
re>JAVA分析工具
JD-GUI是一款用于反编译Java字节码文件的免费开源工具,下载地址:
re>总结
目前常用的工具就这些,之后就开始实战教学了