Explore
/
Sign In
/
Unknown
Unknown
Fork
Star
Artifacts
binary
binary_decompiled.c
0 lines
|
179.36 KB
#include "types-and-globals.h" #include "helpers.h" _ABI(SystemV_x86_64) void _init(void) { if (segment_3.got.offset_16) { ((cabifunction_152 *) 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(raw_x86_64) artificial_struct_returned_by_rawfunction_29 strlen_2(pointer_or_number64_t register_rcx _REG(rcx_x86_64), pointer_or_number64_t register_rdx _REG(rdx_x86_64), pointer_or_number64_t register_rsi _REG(rsi_x86_64), pointer_or_number64_t register_rdi _REG(rdi_x86_64), pointer_or_number64_t register_r8 _REG(r8_x86_64), pointer_or_number64_t register_r9 _REG(r9_x86_64)) { pointer_or_number64_t var_0; pointer_or_number64_t var_1; artificial_struct_returned_by_rawfunction_29 var_2; var_2 = strlen(register_rcx, register_rdx, register_rsi, register_rdi, register_r8, register_r9); var_1 = var_2.register_rax; var_0 = var_2.register_rdx; return (artificial_struct_returned_by_rawfunction_29) { var_1, var_0 }; } _ABI(SystemV_x86_64) _Noreturn void __stack_chk_fail_2(void) { __stack_chk_fail(); } _ABI(SystemV_x86_64) void setbuf_2(FILE_4 *fp, int8_t *buf) { setbuf(fp, buf); } _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 __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_129 *argument_2) { int32_t var_0; var_0 = __libc_start_main((cabifunction_33 *) main, (int32_t) (number32_t) *(generic64_t *) revng_undefined_local_sp(), (int8_t **) (revng_undefined_local_sp() + 8), (cabifunction_33 *) NULL, (cabifunction_32 *) NULL, (cabifunction_32 *) argument_2, (void *) revng_undefined_local_sp()); // The previous function call does not return } _ABI(SystemV_x86_64) struct_145 __do_global_ctors_aux(void) { struct_121 stack; generic32_t var_0; generic64_t var_1; generic64_t var_2; generic64_t var_3; generic64_t var_4; generic32_t var_5; generic64_t var_6; generic32_t var_7; generic32_t var_8; generic32_t var_9; generic64_t var_10; generic32_t var_11; generic32_t var_12; generic32_t var_13; generic64_t var_14; generic32_t var_15; generic32_t var_16; generic64_t var_17; generic32_t var_18; generic32_t var_19; generic32_t var_20; generic64_t var_21; generic32_t var_22; generic8_t var_23; generic64_t var_24; generic64_t var_25; helper_syscall_wrapper(NULL, 2, (pointer_or_number64_t) &segment_1 + 417, undef(generic64_t), undef(generic64_t), 101, (pointer_or_number64_t) &stack + 16, undef(generic64_t), undef(generic64_t), 0, 0, 0, 4294967295, 0, 514, 4243635, 0, 0, 15727360, 0, 13628160, 0, 0, 0, 0, 65535, 274877906944, 127, 2147549185, 0, 0, 0, 4294967295, &var_0, &var_1, &var_2, &var_3, &var_4, &var_5, &var_6, &var_7, &var_8, &var_9, &var_10, &var_11, &var_12, &var_13, &var_14, &var_15, &var_16, &var_17, &var_18, &var_19, &var_20, &var_21, &var_22, &var_23); stack.offset_4 = (number32_t) var_3; var_25 = var_3 & 0xFFFFFFFF; var_24 = 0; if ((number32_t) var_3 != (pointer_or_number32_t) -1) { stack.offset_8 = &segment_3.data.data_start; stack.offset_0 = 0; while (true) { generic64_t var_26; var_26 = *stack.offset_8; if (var_26 == (pointer_or_number64_t) -7707184816146377048) { *stack.offset_8 = 10670035939026704305U; var_24 = 10670035939026704305U; var_25 = stack.offset_8; } else { generic32_t var_27; stack.offset_8 = &stack.offset_8[1]; var_27 = stack.offset_0; stack.offset_0 = var_27 + 1; if (!((int32_t) var_27 > (int32_t) 254 && (int32_t) var_27 < (int32_t) 2147483647)) { continue; } var_24 = var_26; var_25 = 10739559257563174568U; } break; } } struct_145 var_28; var_28.offset_0 = var_25; var_28.offset_8 = var_24; return var_28; } _ABI(SystemV_x86_64) void check(generic64_t argument_0) { struct_122 stack; generic32_t var_0; stack.offset_8 = argument_0; var_0 = 0; pointer_or_number64_t var_1; pointer_or_number64_t var_2; generic64_t var_3; generic64_t var_4; artificial_struct_returned_by_rawfunction_29 var_5; stack.offset_28 = var_0; var_5 = strlen_2(var_3, var_4, var_4, (pointer_or_number64_t) stack.offset_8, undef(generic64_t), undef(generic64_t)); var_2 = var_5.register_rax; var_1 = var_5.register_rdx; while (var_2 > (uint64_t) var_0) { generic64_t var_6; var_6 = (int32_t) stack.offset_28 > -1 ? 0 : 7; var_3 = *(generic8_t *) ((pointer_or_number64_t) &segment_3.data.key + (((var_6 + stack.offset_28) & 0x7) - var_6) * 1); var_4 = *(generic8_t *) ((pointer_or_number64_t) stack.offset_8 + (pointer_or_number64_t) stack.offset_28) ^ *(generic8_t *) ((pointer_or_number64_t) &segment_3.data.key + (((var_6 + stack.offset_28) & 0x7) - var_6) * 1); *(generic8_t *) ((pointer_or_number64_t) stack.offset_8 + (pointer_or_number64_t) stack.offset_28) = *(generic8_t *) ((pointer_or_number64_t) stack.offset_8 + (pointer_or_number64_t) stack.offset_28) ^ *(generic8_t *) ((pointer_or_number64_t) &segment_3.data.key + (((var_6 + stack.offset_28) & 0x7) - var_6) * 1); var_0 = stack.offset_28 + 1; stack.offset_28 = var_0; var_5 = strlen_2(var_3, var_4, var_4, (pointer_or_number64_t) stack.offset_8, undef(generic64_t), undef(generic64_t)); var_2 = var_5.register_rax; var_1 = var_5.register_rdx; } if (*stack.offset_8 == (pointer_or_number64_t) -6667670134051176967) { int32_t var_7; var_7 = puts_2((const int8_t *) "C'est correct !"); } else { int32_t var_8; var_8 = puts_2((const int8_t *) "Essaie encore !"); } } _ABI(SystemV_x86_64) void init(void) { setbuf_2((FILE_4 *) segment_3.bss.offset_0, (int8_t *) NULL); setbuf_2((FILE_4 *) segment_3.bss.offset_16, (int8_t *) NULL); setbuf_2((FILE_4 *) segment_3.bss.offset_32, (int8_t *) NULL); } _ABI(SystemV_x86_64) struct_149 main(generic64_t argument_0, generic64_t argument_1) { struct_124 stack; int32_t var_0; int32_t var_1; stack.offset_12 = (number32_t) argument_0; stack.offset_0 = argument_1; stack.offset_120 = *(generic64_t *) 40; init(); var_1 = printf_2((const int8_t *) "Key: "); var_0 = __isoc99_scanf_2((const int8_t *) "%s"); check((pointer_or_number64_t) &stack.offset_12 + 4); if (stack.offset_120 != *(generic64_t *) 40) { __stack_chk_fail_2(); } struct_149 var_2; var_2.offset_0 = 0; var_2.offset_8 = 0; return var_2; } _ABI(SystemV_x86_64) void _fini(void) { }
Loading...