CTF Reverse入门(1) 环境安装

news2024/11/16 13:43:22

请添加图片描述

前言

逆向重点是分析和理解计算机程序、二进制文件或者其他软件的逆向工程技术。在CTF比赛中,参赛者通常会收到一个或多个二进制文件、程序、固件或者其他类型的软件,他们的任务是分析这些文件,识别潜在的漏洞或安全问题。

学逆向需要会密码学,汇编语言,python,c语言

环境安装

静态分析工具

静态分析无需实际执行该程序。它通过检查程序的结构、语法、数据流和控制流,以识别潜在的问题、漏洞、错误或安全问题。这种分析通常在程序编译或解释阶段进行,而不需要实际运行程序

IDA PRO

IDA Pro是一款强大的反汇编工具,它可以静态和动态去分析程序,下载地址:

https://hex-rays.com/ida-free/

Ghidra

Ghidra 是由美国国家安全局研究局创建和维护的软件逆向工程 (SRE) 框架 。该框架包括一套功能齐全的高端软件分析工具,使用户能够在包括 Windows、macOS 和 Linux 在内的各种平台上分析编译代码。功能包括反汇编、汇编、反编译、绘图和脚本,以及数百个其他功能。Ghidra 支持多种处理器指令集和可执行格式,并且可以在用户交互和自动化模式下运行。用户还可以使用 Java 或 Python 开发自己的 Ghidra 扩展组件和/或脚本。
下载地址:

https://github.com/NationalSecurityAgency/ghidra/releases

之前写过Ghidra的安装和使用教程

https://blog.csdn.net/qq_45894840/article/details/124556441?spm=1001.2014.3001.5502

动态分析工具

动态分析是一种用于分析计算机程序、应用程序或系统行为的方法,通过运行实际的程序并监控其执行过程来收集信息和数据。与静态分析不同,动态分析涉及程序的实际执行,以便更深入地理解程序的行为、性能和潜在问题

x64dbg

x64dbg 是一款开源的调试器,用于分析和调试Windows 操作系统上的二进制文件,包括应用程序和系统进程,下载地址:

https://x64dbg.com/

gdb

gdb是一个linux的动态调试器,可以调试各种二进制文件
安装:

apt install gdb

我们还需要安装pwndbg插件,方便调试程序

git clone https://github.com/pwndbg/pwndbg
cd pwndbg
./setup.sh
cd ..
mv pwndbg ~/pwndbg-src
echo "source ~/pwndbg-src/gdbinit.py" > ~/.gdbinit_pwndbg

成功安装插件后,使用gdb调试程序会显示插件名称

在这里插入图片描述

Android分析工具

jadx是用于将Android应用的DEX文件反编译为可读的Java源代码的工具,下载地址:

https://github.com/skylot/jadx/releases/tag/v1.4.7

DLL分析工具

dnSpy是一款开源的.NET程序集反编译器和调试器,用于分析和修改.NET Framework和.NET Core应用程序的程序集文件,下载地址:

https://github.com/dnSpy/dnSpy/releases/tag/v6.1.8

JAVA分析工具

JD-GUI是一款用于反编译Java字节码文件的免费开源工具,下载地址:

https://java-decompiler.github.io/

总结

目前常用的工具就这些,之后就开始实战教学了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1113679.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

(三)QT中使用QVTKOpenGLNativeWidget的简单教程以及案例,利用PCLVisualizer显示点云

先添加一个带有ui的QT应用程序。 一、在ui界面中添加QVTKOpenGLNativeWidget控件 先拖出来一个QOpenGLWidget控件 修改布局如下: 然后将QOpenGLWidget控件提升为QVTKOpenGLNativeWidget控件,步骤如下: 右击QOpenGLWidget窗口,选…

【数据结构】线性表(六)堆栈:顺序栈及其基本操作(初始化、判空、判满、入栈、出栈、存取栈顶元素、清空栈)

文章目录 一、堆栈1. 定义2. 基本操作 二、顺序栈0. 顺序表1. 头文件和常量2. 栈结构体3. 栈的初始化4. 判断栈是否为空5. 判断栈是否已满6. 入栈7. 出栈8. 查看栈顶元素9. 清空栈10. 主函数11. 代码整合 堆栈Stack 和 队列Queue是两种非常重要的数据结构,两者都是特…

公司oa是什么?一般公司oa有什么样功能?

公司OA(Office Automation)是指通过计算机和信息技术来实现办公自动化的系统。 它提供了一系列的功能和工具,用于协调、管理和处理公司内部的日常事务和流程。OA系统旨在提高工作效率、加强信息交流与共享、简化业务流程,并提供便…

2023年中国人力资源服务外包市场规模、机构数量及细分领域规模[图]

人力资源服务外包是企业根据需要将某一项或几项人力资源管理工作或职能外包出去,交由其他企业或组织进行管理,以降低人力成本,实现效率最大化,企业专注自身核心业务发展。人力资源外包业务包括人事管理、人才派遣、薪酬财税、健康…

思维模型 晕轮效应

本系列文章 主要是 分享 思维模型,涉及各个领域,重在提升认知。 1 晕轮效应应用 1.1 面试中的晕轮效应 一位外表英俊、谈吐得体的男士在面试中表现出色,面试官对他印象极佳,认为他具备领导才能和优秀的沟通能力。然而&#xff0…

Mac M1编译 swift 5.8.1源码

参考链接:https://github.com/apple/swift/blob/main/docs/HowToGuides/GettingStarted.md#system-requirements 编译 Swift 5.8 源码-六虎 解决M1芯片的Homebrew安装问题--For M1使用者_m1 homebrew安装_a_52hz的博客-CSDN博客 建议全程梯子 一、检查和配置环境…

丈母娘说:有编制的不如搞编程的

10月17日百度世界大会召开,据说文心大模型又牛X了,综合水平相比GPT4毫不逊色,真是个让人激动的消息,国产大模型的进展可以说是日新月异,我这耳朵边一直响彻四个字:遥遥领先。 不过今天我关注的重点不是什么…

ant的FileSet资源集合

一个FileSet是一组文件&#xff0c;这些文件可以通过从基目录开始的目录树中找到FileSet可以指定模式集和选取器来进行过滤和选择。 FileSet隐含已经支持的模式集<include>, <includesfile>, <exclude> 和 <excludesfile>&#xff0c;它们作为FileSet的…

02、MySQL-------主从复制

目录 七、MySql主从复制启动主从复制&#xff1a;原理&#xff1a;实现&#xff1a;1、创建节点2、创建数据库3、主从配置1、主节点2、从节点 4、测试&#xff1a;5、问题&#xff1a;1、uuid修改2、service_id3、读写不同步方法1&#xff1a;方法2&#xff1a; 七、MySql主从复…

解决 sharp: Installation error: unable to verify the first certificate

使用 plasmo 时报错如下&#xff1a; E:\chromeplugins>pnpm create plasmo ../.pnpm-store/v3/tmp/dlx-46852 | 2 ../.pnpm-store/v3/tmp/dlx-46852 | Progress: resolved 2, reused 2, downloaded 0, added 2, done &#x1f7e3; Plasmo v0.83.0 &…

开源云财务软件,财务软件源码,永久免费财务软件

纷析云SAAS云财务软件开源版 包含账套、凭证字、科目、期初、币别、账簿、报表、凭证、结账 技术交流群 扫码添加客服进群 商业版地址 纷析云商业版https://f3.fenxi365.com/ 正式环境&#xff0c;可注册账号直接使用或测试 功能对比 功能模块开源版商业版[技术重构]凭证✔…

微信小程序文本横向无缝滚动

背景&#xff1a; 微信小程序中列表宽度不够长&#xff0c;其中某字段显示不完整&#xff0c;因此要使其自动滚动。 &#xff08;最初看网上很多用定时器实现&#xff0c;但他们的案例中都只是一个横幅、用定时器也无所谓。但是我的需求中是一个上下无限滚动的列表&#xff0c;…

【C++】详解priority_queue(优先级队列)与函数对象

目录 一、priority_queue 的介绍和使用 1.1priority_queue 的介绍 2.2priority_queue 的使用 二、仿函数 2.1什么是仿函数 2.2仿函数的作用 三、函数对象的特点&#xff08;知识点多&#xff09; 3.1分析特点5&#xff08;比较普通函数与函数对象&#xff09; 3.1.1利…

如何快速高效全面的学习自然语言处理

文章目录 &#x1f31f; 如何快速高效全面的学习自然语言处理&#x1f34a; 学习基础知识&#x1f389; 语言学&#x1f389; 统计学和信息论&#x1f389; 机器学习&#x1f389; 计算机科学 &#x1f34a; 学习NLP技术&#x1f389; 语言模型&#x1f389; 词向量&#x1f38…

IK分词器如何修改支持跨版本ES

一、问题描述&#xff1a;IK分词器版本和ES版本不一致&#xff0c;无法找到和自己ES版本匹配的分词器。 IK分词器&#xff0c;提供的插件版本&#xff0c;远赶不上ES的更新版本&#xff0c;在使用过程中&#xff0c;不一定能顺利的找到与自己使用的ES版本相对应。在ES集群中使用…

揭开MyBatis的神秘面纱:掌握动态代理在底层实现中的精髓

一日小区漫步&#xff0c;我问朋友&#xff1a;Mybatis中声明一个interface接口&#xff0c;没有编写任何实现类&#xff0c;Mybatis就能返回接口实例&#xff0c;并调用接口方法返回数据库数据&#xff0c;你知道为什么不&#xff1f; 朋友很是诧异&#xff1a;是啊&#xff…

2023年全球及中国层析系统市场发展趋势分析:未来层析设备市场将持续增长[图]

完整的层析系统主要包含泵、各种阀门、层析柱、各种在位检测器和收集器。层析系统包含层析输液系统和层析柱两个主要部分&#xff0c;层析柱根据结构和内径不同分为手动层析柱、自动轴向压缩层析柱、自动喷胶层析柱等。 层析系统主要部分 资料来源&#xff1a;共研产业咨询&am…

Leetcode—2529.正整数和负整数的最大计数【简单】

2023每日刷题&#xff08;四&#xff09; Leetcode—2529.正整数和负整数的最大计数 遍历法实现代码 int maximumCount(int* nums, int numsSize){int i;int neg 0, pos 0;for(i 0; i < numsSize; i) {if(nums[i] < 0) {neg;}if(nums[i] > 0) {pos;}}return (neg…

【数据结构】线性表(五)跳表及其基本操作(定义、创建、查找、插入、删除)

目录 前言 1. 单链表 跳表&#xff08;Skip List&#xff09; 0. 概念 1. 数据结构 a. 跳表节点结构SkipListNode b. 跳表结构SkipList 2. 辅助函数 a. 初始化节点 b. 初始化跳表 c. 生成随机层数 3. 查找节点 4. 插入节点 5. 删除节点 6. 主函数 代码整合 前言…

Java基础--》做个简易的计算器

使用多态实现计算器的加减乘除&#xff0c;根据运算符不同实例化不同子类进行计算&#xff08;运算符可键盘接收输入&#xff09; 例如&#xff1a;加法有num1、num2属性&#xff0c;方法&#xff1a;计算求和减法有num1、num2属性&#xff0c;方法&#xff1a;计算求差乘法有…