Explore
/
Sign In
/
Unknown
Unknown
Fork
Star
Artifacts
binary
binary_decompiled.c
0 lines
|
79.87 KB
#include "types-and-globals.h" #include "helpers.h" _ABI(SystemV_x86_64) void _init(void) { if (segment_3.got.offset_16) { ((cabifunction_160 *) segment_3.got.offset_16)(); } } _ABI(SystemV_x86_64) int32_t puts_2(const int8_t *str) { int32_t var_0; var_0 = puts(str); return var_0; } _ABI(SystemV_x86_64) _Noreturn void __stack_chk_fail_2(void) { __stack_chk_fail(); } _ABI(SystemV_x86_64) int32_t printf_2(const int8_t *format) { int32_t var_0; var_0 = printf(format); return var_0; } _ABI(SystemV_x86_64) int32_t getchar_2(void) { int32_t var_0; var_0 = getchar(); return var_0; } _ABI(SystemV_x86_64) int8_t *gets_2(int8_t *buf) { int8_t *var_0; var_0 = gets(buf); return var_0; } _ABI(SystemV_x86_64) int32_t setvbuf_2(FILE_4 *fp, int8_t *buf, int32_t mode, size_t size) { int32_t var_0; var_0 = setvbuf(fp, buf, mode, size); return var_0; } _ABI(SystemV_x86_64) int32_t __isoc99_scanf_2(const int8_t *format) { int32_t var_0; var_0 = __isoc99_scanf(format); return var_0; } _ABI(SystemV_x86_64) _Noreturn void _start(generic64_t argument_0, generic64_t argument_1, struct_135 *argument_2) { int32_t var_0; var_0 = __libc_start_main((cabifunction_35 *) main, (int32_t) (number32_t) *(generic64_t *) revng_undefined_local_sp(), (int8_t **) (revng_undefined_local_sp() + 8), (cabifunction_35 *) NULL, (cabifunction_34 *) NULL, (cabifunction_34 *) argument_2, (void *) revng_undefined_local_sp()); // The previous function call does not return } _ABI(SystemV_x86_64) void _dl_relocate_static_pie(void) { } _ABI(SystemV_x86_64) void deregister_tm_clones(void) { } _ABI(SystemV_x86_64) void register_tm_clones(void) { } _ABI(SystemV_x86_64) void __do_global_dtors_aux(void) { if (!segment_3.bss.offset_24) { deregister_tm_clones(); segment_3.bss.offset_24 = '\001'; } } _ABI(SystemV_x86_64) void frame_dummy(void) { } _ABI(SystemV_x86_64) struct_157 main(void) { struct_132 stack; generic32_t var_0; int8_t *var_1; int32_t var_2; int32_t var_3; int32_t var_4; int32_t var_5; int32_t var_6; int32_t var_7; int32_t var_8; int32_t var_9; int32_t var_10; int32_t var_11; stack.offset_56 = *(generic64_t *) 40; var_11 = setvbuf_2((FILE_4 *) segment_3.bss.offset_16, (int8_t *) NULL, (int32_t) 2, 0); var_10 = setvbuf_2((FILE_4 *) segment_3.bss.offset_0, (int8_t *) NULL, (int32_t) 2, 0); var_9 = puts_2((const int8_t *) "GOT Hijacking Challenge"); var_8 = printf_2((const int8_t *) "Here's a leak: %p\n"); stack.offset_0 = 0; stack.offset_4 = 0; var_7 = puts_2((const int8_t *) "Give me the address: "); var_6 = __isoc99_scanf_2((const int8_t *) "%d"); var_5 = getchar_2(); var_4 = puts_2((const int8_t *) "Give me the value: "); var_3 = __isoc99_scanf_2((const int8_t *) "%d"); var_2 = getchar_2(); var_0 = stack.offset_0; stack.offset_8 = var_0; *(generic32_t *) var_0 = stack.offset_4; var_1 = gets_2((int8_t *) ((pointer_or_number64_t) &stack.offset_8 + 8)); if (stack.offset_56 != *(generic64_t *) 40) { __stack_chk_fail_2(); } struct_157 var_12; var_12.offset_0 = 0; var_12.offset_8 = 0; return var_12; } _ABI(SystemV_x86_64) void _fini(void) { }
Loading...