Questions tagged [gdb]
A source level debugger based on `ptrace` for *NIX systems and developed by the GNU project.
270
questions
2
votes
0
answers
61
views
What is the gdb command equivalent of bp MODULE_NAME+0x12345678 in WinDBG?
What is the gdb command equivalent of bp MODULE_NAME+0x12345678 in WinDBG?
I found this command useful to debug with ASLR (w/o disabling it).
0
votes
0
answers
19
views
Process always exit and die on router when debug using gdbserver
Im trying to debug the httpd process on the tplink router. I push the gdbserver on the router (i called it server), start it with command:
gdbserver --multi --attach 0.0.0.0:3333 <pid>
On the ...
1
vote
2
answers
210
views
Adding debug symbols with GDB
In CTFs when I'm given some ELF file, it usually wasn't compiled with the -g flag. Is there a way to to somehow edit the file to make it be as if the ELF file was originally compiled with the -g flag?
...
2
votes
0
answers
53
views
Difference between __openat and openat (Android)
While reverse engineering an Android process, I wanted to explore the openat function. I noticed that there is a symbol "openat" and another symbol "__openat". What is the ...
2
votes
0
answers
46
views
IDA Pro ignores present database with remote debugging
I have a qemu instance running a custom Linux distribution, within which I'd like to debug an (already running) application. I have already embedded a gdbserver inside (and have a root shell available)...
1
vote
1
answer
210
views
Why this x64 shellcode doesn't work?(segmentation fault)
I found a simple shellcode on the internet.
Then, to test this shellcode, I make the simple ret overwrite code.
test.c
#include <stdio.h>
#include <string.h>
char buf[100];
int main(void)...
1
vote
0
answers
95
views
Binary Exploitation
I am trying to learn binary exploitation. I can modify the binary behaviour with gdb, but I have not understood how to exploit the binary in C.
I've found some references on "Hacking - the art of ...
2
votes
0
answers
133
views
How to get the address of a glibc private symbol at runtime programmatically?
I am trying to get the address of a private function in GLIBC.
For instance - the function __run_prefork_handlers().
I have done it with gdb, using info symbol __run_prefork_handlers and info address ...
3
votes
0
answers
102
views
format-string + ret2libc (or format string only)?
I found that we have a format-string bug with in argument 7. I found a function containing system(/bin/sh)). So I'm not saying stupidity I have to mess with a format-string and a ret2libc (correct me ...
3
votes
0
answers
57
views
IDA remote GDB debugger cannot suspend linux machine
I am starting Debugging Linux Virtual Machine by IDA GDB debugger. I can say I am able to connect to process (0) and start the machine (by using IDA 32bit, IMO it has something to do with bios! or I ...
3
votes
1
answer
162
views
GDB breakpoint crashes at a correct memory location
I'm trying to debug binaries of a a firmware running Linux with no ASLR, binaries are not compiled with PIE either so I have no issue getting the memory locations.
So after including gdbserver in the ...
3
votes
0
answers
104
views
debug stripped file
I've system embedded mips big endian with gdb-server and I want debug stripped file of the target, I can run in target gdb server with stripped file (--attach PID), but when I try to connect with gdb-...
3
votes
1
answer
255
views
How can I verify section -> segment mapping for ELFs on linux?
I'm looking at at ELF on linux and I have readelf --segments ./myELF which shows:
Program Headers:
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align
PHDR ...
4
votes
0
answers
426
views
Is there a way to reprint the screen in gdb gef?
I am using gdb-gef and I've searched the manual several times for the answer to this question. Sometimes I run a lot of commands and I would like to re-draw the current program state the way gef ...
2
votes
0
answers
243
views
can't debug properly
In the last few days I tried to solve "unlink" challenge in pwnable.kr and I'm struggling to attach a debugger remotely and locally on the server using pwntools (code added below).
#!/usr/...
5
votes
0
answers
285
views
What utilities allow you to debug a process without pausing execution?
I was just reading this answer on StackOverflow, "How can you debug a process using gdb without pausing it?"
The Linux kernel provides some support for this via PTRACE_SEIZE, but gdb doesn'...
1
vote
1
answer
142
views
Gdb hardware watchpoint error on android
After failing to find a solution to this I have started using Gdb and have encountered another error.
Gdbfails to set hardware watchpoint when I'm remote debugging a rooted arm7-a target. It supports ...
0
votes
1
answer
437
views
Debugging Windows applications on Linux: Hardware watchpoints and backtracing in IDA not working and winedbg hardware watchpoints borderline unusable?
As in the title. Maybe someone has any experience with this. It's a significant impediment when trying to debug Windows applications on Linux. I find hardware watchpoints, in particular, to be ...
1
vote
0
answers
119
views
Why Qiling doesn't recognize the right EntryPoint?
I'm trying to emulate an EFI driver. Luckily, I found a nice emulator called Qiling and try to debug it with GDB but it doesn't recognize the right Entry-Point.
Here is the Entry-Point in IDA and in ...
0
votes
1
answer
105
views
ROP: System function not printing results to stdout
in oder to solve a CTF-Challenge I have to construct a small ROP-chain. The scope of the ROP chain is to print the content of the `flag` file. I already constructed the ROP-chain, but it seems that ...
1
vote
1
answer
252
views
breakpoint already hit 1 time
I'm following Erickson 2008 Hacking the art of exploitation. The program is very simple.
#include <stdio.h>
#include <string.h>
int main() {
char str_a[20];
strcpy(str_a, "Hello, ...
1
vote
2
answers
827
views
Run a python in command (kali) with "run" on gdb-peda$
While debugging a program under gdb with gdb-peda installed, I need to pass args to the binary using output from something like python.
Why I am not getting AAAAA?
gdb-peda$ b doSomthing
gdb-peda$ run ...
1
vote
0
answers
31
views
Using rbreak without import functions
While debugging with GDB I want to break for each function and print the PC register.
rbreak .
define hook-stop
i r $PC
c
end
The problem is that is stop on functions that imported like printf ...
2
votes
1
answer
2k
views
Debug shared library in Android application
There is an Android application that has a shared library (.so) file in split_config.arm64_v8a.apk that I want to debug .
When I look at /proc/PID/maps I don't see that library (I do see the ...
1
vote
1
answer
156
views
Adding ltrace information to gdb
I'd like to run gdb (or gdb-peda) with ltrace like info on each syscall. How can I do that?
I know that, as per ltrace and gdb attach to same process , you can't actually attach ltrace and gdb to the ...
1
vote
1
answer
2k
views
How can I find out the size of heap allocations?
While I debug with GDB I see the address of a buffer that's located on the heap.
How can I know what is the size of this buffer? Or where (in the code) this buffer was originally allocated?
When I ...
2
votes
1
answer
815
views
Connect remotely with GDBSERVER to pid
When I run gdbserver to listen for port and connect remotely with gdb:
Gdbserver command:
gdbserver --multi 0.0.0.0:4444
Gdb command:
target remote 192.168.1.99 4444
In gdb . How can I connect to pid ...
2
votes
0
answers
522
views
Passing a String into a Function With GDB
So, I have a function with the prototype according to GDB:
{std::string (std::string)} 0x56027729e545
<function(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator&...
0
votes
1
answer
312
views
PEDA: Don't show context
gdb-peda shows a very useful context each time it stops (b, si, etc.), but sometimes I don't want it. Is there any way to quiet it so it won't show the context automatically (unless prompted context)?...
1
vote
1
answer
72
views
Paint path in Ida according to gdb log file
In Gdb I put script that print each instruction to gdb.txt file.
I want to load this file to Ida to show and print/paint the path that the process has been running.
The gdb script is
# not strictly ...
1
vote
0
answers
74
views
Handle Ioctl call while running with qemu
I am using qemu to emulate a binary like this
qemu -strace XXXXX .
I saw that the first 2 system calls of this process were TCGETS to stdin and stdout. From man pages
Get and set terminal attributes
...
1
vote
1
answer
194
views
Debug bFLT in qemu-arm-static
I have bFLT binary (into linux-arm arch.) that I can run with qemu-arm-static .
I want to debug that binary dynamically with GDB.
I know I can debug binary with qemu like qemu-arm-static -g 1111 <...
3
votes
0
answers
3k
views
How to decompile python ELF file (Compiled with Nuitka)?
I have some files that compiled with nuitka. formats are .bin. I could get shell access to running process with pyrasite same as this guide. but I cannot decompile function codes or anything else, and ...
3
votes
3
answers
4k
views
startup program exits with code 126 when executing program at entrypoint
I want to reverse engineer a program. I managed to find the entry point but every time I want to launch the application I get the same error `During startup program exited with code 126.
Here is what ...
0
votes
0
answers
219
views
/bin/sh shell not execute when performing ret2libc attack
I have attempted to do a ret2libc attack. It's a simple buffer overflow with the return address pointed to the system call with the string "/bin/sh" on the stack. For some reason, when I try ...
2
votes
2
answers
453
views
Changing value of parameter with gdb
I have a file named exploit.c inside which:
#include <stdbool.h>
#include <stdio.h>
const char y1 = 'a';
const char y2 = 'b';
const char y3 = 'x';
const char y4 = 'y';
const char y5 = 'i';...
3
votes
1
answer
249
views
Confused about the use of the shl instruction in this disassembly
I created a code construct in C to see how it looks in x86. I'm confused about the use of the shl instructions. I'm confused about what is happening in between the lines <+39> and <+51> I ...
2
votes
0
answers
875
views
How to perform full MIPS system emulation with QEMU, using the squashfs image and uBoot kernel image?
TL;DR:
Need tips on emulation of MIPS-BE system using QEMU with the help of squashfs image file and uBoot Kernel image file extracted from the firmware file.
Long Version:
- What I have:
A cheap ...
1
vote
2
answers
324
views
I'm confused about parameter in Printf function
I'm trying to understand call conventions and such. I created a function with the source code
#include <stdio.h>
int main() {
int x = 9;
printf("%d\n", x);
}
The above screenshot ...
2
votes
1
answer
811
views
GDB inserting breakpoint cause Segmentation Fault
I was trying to play around with gdb, and I'm especially interest in seeing how the Procedural Linkage Table(PLT) and the Global Offset Table (GOT) interact with each other. So I set some breakpoints ...
0
votes
0
answers
591
views
Using GDB to find the address of a buffer in a stripped C binary
I am working with a crackmes binary called Simple Overflow. It has two buffers with sizes 0x10 and 0x8, and it uses malloc to allocate two contiguous memory blocks (see <+25> and <+39> on ...
2
votes
2
answers
347
views
How can i recognize the length of this array based on the assembly instruction?
In the sourcecode i can clearly see that the Array called "buf" is 32 byte long since 1 char = 1 byte
I assume that the array starts at the address [rbp-0x30] and the argv[ ] is stored in ...
1
vote
1
answer
609
views
Set gdb breakpoint by address with gdb python
into GDB python I tried gdb.Breakpoint('0xaaaa')
I got error
Function 0xaaaa is not defided . Breakpoint 5(0xaaaa) pending
and the program not break at this address.
Why is that?
0
votes
0
answers
1k
views
Print write and comment into .gdbinit file
Is there any way how to write comment into gdb file?
b*0x1111 # break point at function
or
b*0x1111 // break point at function
or b*0x1111 ; break point at function
That return an error .
Or maybe is ...
1
vote
1
answer
49
views
Define operations to do in specific breakpoints using GDB
In gdbinit I defined some breakpoints.
How can I do that when specific breakpoint called I want to run x/s $r1 ?
2
votes
1
answer
2k
views
How to let SIGTRAP get caught by sighandler in GDB?
I have a program that I am trying to reverse, which contains an int3 (0xCC) which emits a SIGTRAP signal, which is then handled by a sighandler defined in sigaction.
The handler performs calculations ...
1
vote
1
answer
2k
views
Attach to process with gdbserver without stop it
I run gdbserver
gdbserver --attach :<port> <pid> and then connect with gdb-multiarch
The problem is that until I connect with gdb-multiarch and run c the process is stop.
Can I continue ...
2
votes
0
answers
144
views
What do you think is the optimum environment for reverse engineering dynamically-linked aarch64 Golang binaries developed in Alpine Linux?
Direct quote from Golang's website: "GDB does not understand Go programs well. The stack management, threading, and runtime contain aspects that differ enough from the execution model GDB expects ...
4
votes
1
answer
4k
views
Correct way to understand local_ in ghidra disassembly
Attached is the part of a disassembled main from a x86 binary file, generated by ghidra.
**************************************************************
...
0
votes
0
answers
816
views
Remote Debugging an Aarch64 ELF File on Multiarch/Qemu-user-static (arm64v8/alpine) Docker Container
My goal is stated in the title. However, I think there is a fundamental issue with gdbserver. In particular, I create an aarch64 alpine docker container on a x86_64 Ubuntu 16.04 host using
sudo docker ...