My question is, when i dont use any breakpoint it show the message saying "You made it, now keygen me!", but when i put a breakpoint in the main, or any other place it will show a message about __libc_start_main, and will not show the message saying "You made it, now keygen me!", why this happens because of the breakpoint?
-
This would be easier to answer if you provided the binary you are working on.– the_endianCommented Apr 19, 2020 at 10:21
-
I added the disassembly main image– Alexandre GonçalvesCommented Apr 19, 2020 at 10:40
-
@AlexandreGonçalves could you please add disassembly as text instead of images? This way it's easier to read by search engines and screen readers– Igor Skochinsky ♦Commented Apr 19, 2020 at 15:35
1 Answer
From GDB documentation:
Warning: If you use the step command while control is within a function that was compiled without debugging information, execution proceeds until control reaches a function that does have debugging information.
and:
next [count]
Continue to the next source line in the current (innermost) stack frame. This is similar to step, but function calls that appear within the line of code are executed without stopping.
The file you are analysing was not compiled with debug information - GDB in fact tells you that by:
"Single stepping until exit from function main
, which has no line information."
According to the same GDB docs, to step over one assembly line, which, I assume is what you want to do, you can use nexti
(ni
) command.