首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >GDB还是Radare2?

GDB还是Radare2?
EN

Stack Overflow用户
提问于 2019-11-12 10:28:46
回答 2查看 2.8K关注 0票数 3

我是否应该使用GDB或Radare2来逆转可执行文件(我是初学者)?我试着用C语言编程,我得到了一个SegFault。我想反向工程,以获得经验,在组装,并看到我从哪里得到的SegFault。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-11-12 10:29:36

我推荐Radare2,因为它比GDB更清晰,对于初学者更容易;)

票数 3
EN

Stack Overflow用户

发布于 2019-11-12 10:35:07

为了调试您自己从源构建的可执行文件,GDB将用作调试器。如果查看C变量没有帮助,您可以使用layout reg获取反汇编+寄存器视图,该视图可以帮助理解分段错误。

使用gcc -g编译的调试信息意味着您不需要逆向工程任何东西,只需使用普通的调试器即可。但是要获得asm方面的经验,同时使用调试器(源视图和asm视图)可以帮助您理解编译器如何使用特定的asm指令来实现每个C语句。因此,您肯定需要一个可以利用调试信息的调试器。有一些GUI GDB前端,比如https://www.gdbgui.com,它们比命令行GDB更容易使用。

,但更多有关C如何编译为asm.的信息,请参见

我还没用过radare2。我假设它有一些特性可以用来故意混淆没有源代码的可执行文件,这与用普通编译器编译自己的C程序正好相反。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58824623

复制
相关文章
我到底应该信gdb,还是cout?
是cout赢了,因为程序确实崩了。。。 其实我希望是gdb赢的。。。
看、未来
2021/10/25
2380
我到底应该信gdb,还是cout?
使用 Kubernetes 模糊测试
在阅读了一篇关于0days 用 30 行代码 fuzzingradare2的文章后,我认为扩展这项研究并将其代码移植到容器并部署到 Kubernetes 集群中将是一个有趣的周末项目。更进一步,构建 radare2 项目的主分支的新版本,并将其集成到 CI/CD 管道中,然后将容器构建部署到 Kuberentes 集群,这似乎是一种真正过火的好方法,只是吃掉我的全部周末。最终结果最终看起来类似于下图。
Khan安全团队
2022/02/23
1.6K0
Radare2破解实战
文章重点基于[CrackerMe03]。这是R2 CrackerMe系列的典型的一个,算是CrackerMe系列的一个分水岭。在黑客攻击-软件破解(1) 中对破解进行了简单的介绍,主要是通过修改字节码的方式,当然所有的CrackerMe都可以使用此方式。不过,这篇文章介绍一些其他的方式,主要是基于代码逻辑进行破解以及使用Emulator进行破解。
无情剑客
2020/11/29
9080
radare2逆向笔记
最近刚开始学习逆向(Reverse Engineering), 发现其学习曲线也是挺陡峭的, 而网上的 许多writeup文章主旨总结就六个字:“你们看我屌吗?” …几近炫技而对初学者不太友好. 所以
evilpan
2023/02/12
6970
Android动态调试(1)
为什么不用IDA,因为贵。 为什么不用gdb,因为lldb的出现,取代gdb只是迟早的事情,可以说gdb是Depracated。
无情剑客
2020/12/10
1.2K0
Radare2静态分析apk
在Radare2静态分析apk(1) 对Radare静态分析apk进行了简单的介绍。 补充一下: 通过r2 apk://URI可以直接对apk中的dex进行分析。
无情剑客
2020/12/01
9110
学习GDB
1 简介      GDB(GNU Debugger)是GCC的调试工具。其功能强大,现描述如下:      GDB主要帮忙你完成下面四个方面的功能:      1.启动你的程序,可以按照你的自定义的要求随心所欲的运行程序。      2.可让被调试的程序在你所指定的调置的断点处停住。(断点可以是条件表达式)      3.当程序被停住时,可以检查此时你的程序中所发生的事。      4.动态的改变你程序的执行环境。 2 生成调试信息      一般来说GDB主要调试的是C/C++的程序。要调试C/C++
_gongluck
2018/03/08
1.5K0
GDB 调试
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
云雀叫了一整天
2019/09/29
1.6K0
gdb用法
x=(int*)malloc(25*sizeof(int)); p *x@25 或者 p (int [25])*x
用户1396155
2018/08/02
6850
GDB文档
官网提供了PDF、HTML各种版本,如下: Debugging with GDB
ccf19881030
2020/09/29
3.3K0
GDB文档
Radare2和Frida结合实现破解
在黑客攻击-软件破解(2) 中通过Radare2的静态分析实现了破解。本文使用frida和radare2进行动态分析来对crackerMe系列中后面的例子进行破解。
无情剑客
2020/12/26
8510
GDB调试
约定:对gdb的命令,如果有缩写形式,会在第一次出现的时候小括号内给出缩写,比如运行命令写成run(r);本文中尖括号< >用来表达一类实体,比如<program>表示这个地方可以放置程序;中括号[]表示括号中的内容是可写可不写,比如[=<value>],表示“=<value>”可以有也可以没有(<value>本身又是一类实体);“|”表示或的关系。
玖柒的小窝
2021/12/14
2.2K0
GDB调试
radare2介绍及简单使用
本文作者:binlmmhc 0x01---radare2介绍 最近在看别人的病毒分析报告的时候,看到别人使用了radare2这个开源二进制分析平台,发现这个平台在我们CTF逆向解题中还是很好用的。 radare2刚开始只是一个取证工具,后来逐渐加入了一系列二进制分析和调试工具,就成为了command界面下很好的二进制分析工具了。 0x02---radare2安装以及工具预览 radare2是可移植,在多系统平台上运行,如下 Rpi3-arm32 macOS-x86-64 Termux/Android-ar
安恒网络空间安全讲武堂
2018/03/26
10.3K0
radare2介绍及简单使用
GDB高级技巧
难得有雅兴,边动手边记录操作步骤,本文主要示例一些平常较少使用到的GDB功能,掌握这些用法有助于提高GDB调试和解决问题的能力。
一见
2018/08/10
1.5K0
GDB调试学习
简介 GDB是GCC的调试工具。其功能如下: 启动程序,使程序按自定义形式运行; 使程序停止指定断点位置; 程序停止后,检查程序执行中的相应情况; 动态改变程序执行环境。 gdb调试 能进行GDB调试,一般在编译过程中,需使用-g参数。如果不使用-g参数,则在gdb调试过程中,将不能得到程序的函数名、变量名等信息,而只能看见运行时内存地址。举例如下: 启动gdb调试的方法有以下三种: 常用的调试有以下几种: b <行号> // 停在程序的指定一行 b <函数名称> // 停在程序的某个函数处 b *<函数
云深无际
2020/10/23
1.4K0
GDB调试学习
gdb基本用法
单步调试和跟踪函数调用 命令 描述 backtrace(或bt) 查看各级函数调用及参数 finish 连续运行到当前函数返回为止,然后停下来等待命令 frame(或f) 帧编号 选择栈帧 info(或i) locals 查看当前栈帧局部变量的值 list(或l) 列出源代码,接着上次的位置往下列,每次列10行 list 行号 列出从第几行开始的源代码 list 函数名 列出某个函数的源代码 next(或n) 执行下一行语句 print(或p) 打印表达式的值,通过表达式可以修改变量的值或者调用函数 qu
DH镔
2020/12/28
7160
gdb调式程序
GDB是Linux/Unix下一个GNU调试程序,是用来调试C与C++程序的强力调试器。能够让用户在程序运行时观察程序的内部结构和内存的使用情况。
黄规速
2022/04/14
5250
gdb调式程序
linux gdb调试
以前在IDE调试的话,就很容易设置断点,查看参数值,到了 linux 下就变得比较麻烦了。
forxtz
2020/10/10
4.7K0
GDB使用小结
(2018.6.6,自动迁移到腾讯云技术社区后重新排版。。。。。。。。。。。。。。。。。)
linjinhe
2018/06/06
9190
gdb 基础命令
GDB是GNU发布的一个调试工具。gdb 是基于UNIX/Linux 命令行的,功能强大,可与windows平台的visual studio 媲美。
huanghaibin33
2018/07/17
1.2K0

相似问题

不包括周末的日期之间的小时数

12

获取不包括周末的小时数

12

如何在postgres中将间隔时数添加到时间戳中,不包括周末时间

12

计算两个日期之间的小时数-不包括周末

10

日期差异,不包括周末

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文