Using ret2reg
Source
#include <stdio.h>
void vuln() {
char buffer[100];
gets(buffer);
}
int main() {
vuln();
return 0;
}Analysis
$ r2 -d -A vuln
[0x7f8ac76fa090]> pdf @ sym.vuln
; CALL XREF from main @ 0x401147
┌ 28: sym.vuln ();
│ ; var int64_t var_70h @ rbp-0x70
│ 0x00401122 55 push rbp
│ 0x00401123 4889e5 mov rbp, rsp
│ 0x00401126 4883ec70 sub rsp, 0x70
│ 0x0040112a 488d4590 lea rax, [var_70h]
│ 0x0040112e 4889c7 mov rdi, rax
│ 0x00401131 b800000000 mov eax, 0
│ 0x00401136 e8f5feffff call sym.imp.gets ; char *gets(char *s)
│ 0x0040113b 90 nop
│ 0x0040113c c9 leave
└ 0x0040113d c3 retExploitation

Last updated
Was this helpful?