Explore
/
Sign In
/
Unknown
Unknown
Fork
Star
Artifacts
function
f
decompiled.c
0 lines
|
84.92 KB
_ABI(SystemV_x86) int32_t f(int8_t *arg1, uint8_t is_shellcode) { struct_63 stack; int8_t *var_0; int8_t *var_1; int32_t var_2; int8_t *var_3; uint8_t var_4; generic32_t var_5; generic32_t var_6; generic32_t var_7; generic32_t var_8; generic32_t var_9; generic32_t var_10; var_3 = arg1; var_4 = is_shellcode; stack.offset_28 = (number8_t) *(generic32_t *) ((number64_t) &var_4 & 0xFFFFFFFF); *(uint8_t **) &stack.offset_52 = "ISBN_"; stack.offset_32 = *(generic64_t *) ""; stack.offset_40 = *(generic64_t *) ""; stack.offset_48 = 0; stack.offset_4 = &stack.offset_52; stack.offset_0 = "Pointer: %p\n"; var_2 = printf_2((const int8_t *) var_5); *(generic32_t *) &stack.offset_57 = 1312969545; stack.offset_57.member_1.offset_4 = 943143263; stack.offset_57.member_2.offset_7 = 942943544; stack.offset_68 = 3291188; stack.offset_8 = 100; stack.offset_4 = var_3; stack.offset_0 = &stack.offset_32; var_1 = strncpy_2((int8_t *) var_6, (const int8_t *) var_7, var_8); stack.offset_4 = "ISBN_978-48482"; stack.offset_0 = &stack.offset_57; var_0 = strstr_2((const int8_t *) var_9, (const int8_t *) var_10); if (!var_0) { pointer_or_number32_t var_11; pointer_or_number32_t var_12; generic32_t var_13; artificial_struct_returned_by_rawfunction_29 var_14; stack.offset_0 = "Someone tries to pirate the program !"; var_14 = puts_2(); var_12 = var_14.register_eax; var_11 = var_14.register_edx; stack.offset_0 = 44; exit_2((int32_t) var_13); } if (*(generic32_t *) &stack.offset_52 != (pointer_or_number32_t) &segment_2.rodata.offset_41) { pointer_or_number32_t var_15; pointer_or_number32_t var_16; generic32_t var_17; artificial_struct_returned_by_rawfunction_29 var_18; stack.offset_0 = "Someone tries to pirate the program !"; var_18 = puts_2(); var_16 = var_18.register_eax; var_15 = var_18.register_edx; stack.offset_0 = 45; exit_2((int32_t) var_17); } int8_t *var_19; generic32_t var_20; generic32_t var_21; stack.offset_4 = "ISBN_"; stack.offset_0 = &stack.offset_32; var_19 = strstr_2((const int8_t *) var_20, (const int8_t *) var_21); stack.offset_76 = var_19; if ((pointer_or_number32_t) var_19 != (pointer_or_number32_t) &stack.offset_32) { pointer_or_number32_t var_22; pointer_or_number32_t var_23; generic32_t var_24; artificial_struct_returned_by_rawfunction_29 var_25; stack.offset_0 = "The new ISBN provided must be prefixed with 'ISBN ' !"; var_25 = puts_2(); var_23 = var_25.register_eax; var_22 = var_25.register_edx; stack.offset_0 = 46; exit_2((int32_t) var_24); } generic32_t var_26; stack.offset_72 = (&stack)[1].offset_0; var_26 = (number32_t) (&stack)[1].offset_0 & 0xFFFF0000; if ((uint32_t) (&stack)[1].offset_0 > (uint32_t) -65537) { var_26 = stack.offset_28 ^ 0x1; if ((stack.offset_28 ^ 0x1)) { int32_t var_27; generic32_t var_28; generic32_t var_29; stack.offset_0 = "Return address cannot be on the stack"; var_27 = printf_2((const int8_t *) var_28); stack.offset_0 = 47; exit_2((int32_t) var_29); } } return (int32_t) var_26; }
Loading...