【问题标题】:How to set breakpoint for start entry in ONLY data section program by GDB?如何在 GDB 的 ONLY 数据段程序中为开始条目设置断点?
【发布时间】:2013-12-19 06:51:15
【问题描述】:

我在我的 centos5_x64 中编写了一个汇编程序:


.data
.global _start
_start:
jmp f0
start:
pop %rsi
xor %rax,%rax
mov %al,7(%rsi)
mov %rsi,8(%rsi)
mov %rax,12(%rsi)
mov $0xb,%al
mov %rsi,%rbx
lea 8(%rsi),%rcx
xor %rdx,%rdx
int $0x80
f0:
call start
cmd: .ascii "/bin/shAAAAAAAAAAAAAAAAA"

可以执行。我想用gdb调试,start入口怎么设置断点?

【问题讨论】:

    标签: assembly gdb breakpoints x86-64


    【解决方案1】:

    如果它是用调试符号组装和链接的,使用:

    (gdb) break start
    

    【讨论】:

    • 谢谢,可以。但是 GDB 不能在 _start 上破解它,为什么?我可以在第一条指令上打破它吗?
    • @5he1lc0de:查看this related question,它表明Ubuntu 10.04 及之前版本加上相应的gdb 在第一条指令处设置断点的弱点。解决方案似乎是在此处添加nop
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-22
    相关资源
    最近更新 更多