Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Generated by Rec Studio 4 - build Sep 23 2015
- _init()
- {// addr = 0x00401000
- __rax = __imp____gmon_start__;
- if(__rax != 0) {
- *__rax();
- return;
- }
- }
- int putchar(int ch)
- {// addr = 0x00401030
- goto __imp__putchar;
- }
- char* strcpy(char* __dest, char* __src)
- {// addr = 0x00401040
- goto __imp__strcpy;
- }
- int puts(char* str)
- {// addr = 0x00401050
- goto __imp__puts;
- }
- int fclose(struct _IO_FILE* fp)
- {// addr = 0x00401060
- goto __imp__fclose;
- }
- getpwuid()
- {// addr = 0x00401070
- goto __imp__getpwuid;
- }
- short getuid()
- {// addr = 0x00401080
- goto __imp__getuid;
- }
- int printf(char* format)
- {// addr = 0x00401090
- goto __imp__printf;
- }
- void rewind(struct _IO_FILE* fp)
- {// addr = 0x004010A0
- goto __imp__rewind;
- }
- int fgetc(struct _IO_FILE* fp)
- {// addr = 0x004010B0
- goto __imp__fgetc;
- }
- int read(int __fd, void* __buf, int __nbytes)
- {// addr = 0x004010C0
- goto __imp__read;
- }
- char* fgets(char* dst, int sz, struct _IO_FILE* fp)
- {// addr = 0x004010D0
- goto __imp__fgets;
- }
- int strcmp(char* __s1, char* __s2)
- {// addr = 0x004010E0
- goto __imp__strcmp;
- }
- int getchar()
- {// addr = 0x004010F0
- goto __imp__getchar;
- }
- char* gets(char* dst)
- {// addr = 0x00401100
- goto __imp__gets;
- }
- syslog()
- {// addr = 0x00401110
- goto __imp__syslog;
- }
- int access(char* __name, int __type)
- {// addr = 0x00401120
- goto __imp__access;
- }
- struct _IO_FILE* fopen(char* name, char* mode)
- {// addr = 0x00401130
- goto __imp__fopen;
- }
- __isoc99_scanf()
- {// addr = 0x00401140
- goto __imp____isoc99_scanf;
- }
- char* strcat(char* __dest, char* __src)
- {// addr = 0x00401150
- goto __imp__strcat;
- }
- void exit(int __status)
- {// addr = 0x00401160
- goto __imp__exit;
- }
- _start(
- _unknown_ __rax, // r53
- _unknown_ __rdx // r56
- )
- {// addr = 0x00401170
- __rax = __rax;
- _pop(__rsi);
- __r9 = __r9 & -16;
- _push(__rax);
- _push(__r9);
- __imp____libc_start_main();
- asm("hlt");
- }
- _dl_relocate_static_pie(
- _unknown_ __rax // r53
- )
- {// addr = 0x004011A0
- __rax = __rax;
- }
- deregister_tm_clones(
- _unknown_ __rax // r53
- )
- {// addr = 0x004011B0
- if( &__imp__stdin == &__imp__stdin || 0 == 0) {
- return;
- } else {
- goto __rax;
- }
- }
- register_tm_clones(
- _unknown_ __rsi // r58
- )
- {// addr = 0x004011E0
- if(( &__imp__stdin - &__imp__stdin >> 3) + ( &__imp__stdin - &__imp__stdin >> 3 >> 63) == 0 || 0 == 0) {
- return;
- } else {
- goto __rax;
- }
- }
- __do_global_dtors_aux(
- _unknown_ __rax // r53
- )
- {// addr = 0x00401220
- _unknown_ _t1; // _t1
- __rax = __rax;
- if(completed.7325 != 0) {
- return;
- } else {
- _push(_t1);
- deregister_tm_clones(__rax);
- completed.7325 = 1;
- _pop(__r8);
- return;
- }
- }
- frame_dummy(
- _unknown_ __rsi // r58
- )
- {// addr = 0x00401250
- if(( &__imp__stdin - &__imp__stdin >> 3) + ( &__imp__stdin - &__imp__stdin >> 3 >> 63) != 0 && 0 != 0) {
- goto __rax;
- }
- }
- func1(
- _unknown_ __rax // r53
- )
- {// addr = 0x00401252
- intOrPtr _v12; // _cfa_fffffff4
- __rax = __rax;
- _v12 = 5;
- }
- func2(
- _unknown_ __rax // r53
- )
- {// addr = 0x00401260
- __rax = __rax;
- asm("movss xmm0, [rip+0xfb8]");
- asm("movss [rbp-0x4], xmm0");
- }
- func3(
- _unknown_ __rax // r53
- )
- {// addr = 0x00401274
- long long _v16; // _cfa_fffffff0
- __rax = __rax;
- _v16 = 15;
- }
- func4(
- _unknown_ __rax // r53
- )
- {// addr = 0x00401283
- intOrPtr _v12; // _cfa_fffffff4
- __rax = __rax;
- _v12 = 10293;
- }
- func5(
- _unknown_ __rax // r53
- )
- {// addr = 0x00401291
- intOrPtr _v12; // _cfa_fffffff4
- __rax = __rax;
- _v12 = 4532;
- }
- func6(
- _unknown_ __rax // r53
- )
- {// addr = 0x0040129F
- intOrPtr _v12; // _cfa_fffffff4
- __rax = __rax;
- _v12 = 1012;
- }
- func7(
- _unknown_ __rax // r53
- )
- {// addr = 0x004012AD
- intOrPtr _v12; // _cfa_fffffff4
- __rax = __rax;
- _v12 = 936;
- }
- func8(
- _unknown_ __rax, // r53
- _unknown_ __rdx // r56
- )
- {// addr = 0x004012BB
- signed int _v12; // _cfa_fffffff4
- __rax = __rax;
- func7(__rax);
- _v12 = 0 << 2 << 3;
- }
- func9(
- long long __rax, // r53
- _unknown_ __rcx, // r55
- _unknown_ __rdx // r56
- )
- {// addr = 0x004012E1
- long long _v16; // _cfa_fffffff0
- __rdx = __rdx;
- __rax = __rax;
- func7(__rax);
- _v16 = __rax;
- }
- launch(
- _unknown_ __rax // r53
- )
- {// addr = 0x00401316
- __rdi = "Row Row Row Your Boat...";
- puts(__rdi);
- }
- cancel(
- _unknown_ __rax // r53
- )
- {// addr = 0x00401329
- __rdi = "The tankers have stopped capsizing";
- puts(__rdi);
- }
- checkbalance(
- _unknown_ __rax, // r53
- _unknown_ __rsi // r58
- )
- {// addr = 0x0040133C
- __rax = __rax;
- __rdi = "Balance is $%d\n";
- printf(__rdi);
- }
- print_hex(
- long long __rdi // r57
- )
- {// addr = 0x0040135C
- long long _v16; // _cfa_fffffff0
- _v16 = __rdi;
- printf("%llx");
- }
- print_decimal(
- long long __rdi // r57
- )
- {// addr = 0x00401387
- long long _v16; // _cfa_fffffff0
- _v16 = __rdi;
- printf("%lld");
- }
- unused_func(
- _unknown_ __rax, // r53
- int __rsi // r58
- )
- {// addr = 0x004013B2
- char _v9; // _cfa_fffffff7
- signed int _v16; // _cfa_fffffff0
- signed int _v20; // _cfa_ffffffec
- signed int _v24; // _cfa_ffffffe8
- struct _IO_FILE* _v32; // _cfa_ffffffe0
- char _v136; // _cfa_ffffff78
- _v9 = getchar();
- fgets( &_v136, __rsi, __imp__stdin);
- _v16 = 1000;
- _v20 = 320;
- _v24 = _v16 ^ _v20;
- read(1, &_v136, 100);
- access( &_v136, &_v136);
- fopen("/var/secret/accessfile.txt", 4202597);
- _v32 = &_v136;
- rewind(_v32);
- _v9 = fgetc(_v32);
- fclose(_v32);
- }
- check_user(
- _unknown_ __rax, // r53
- _unknown_ __rdx, // r56
- _unknown_ __rdi // r57
- )
- {// addr = 0x00401459
- short _v12; // _cfa_fffffff4
- int _t24; // _t24
- __rdx = __rdx;
- __rax = __rax;
- _v12 = getuid();
- if(_v12 == 1002 || _v12 == 0 || _v12 == 1000) {
- syslog();
- return;
- }
- syslog();
- _t24 = "User is not authorized to access this application. This attempt has been logged.";
- puts(_t24);
- exit(_t24);
- }
- set_username(
- _unknown_ __rax, // r53
- _unknown_ __rdi // r57
- )
- {// addr = 0x004014D4
- _unknown_ _v16; // _cfa_fffffff0
- long long _v28; // _cfa_ffffffe4
- long long _t6; // _t6
- __rdi = __rdi;
- _v28 = _t6;
- getpwuid();
- _v16 = _v28;
- username = "error";
- if(_v16 != 0) {
- username = *_v16;
- return;
- }
- }
- auth(
- _unknown_ __rax, // r53
- _unknown_ __rdi // r57
- )
- {// addr = 0x00401513
- intOrPtr _v24; // _cfa_ffffffe8
- char _v136; // _cfa_ffffff78
- char _v248; // _cfa_ffffff08
- intOrPtr _v252; // _cfa_ffffff04
- intOrPtr _t29; // _t29
- _v252 = _t29;
- _v24 = _v252;
- strcpy( &(((char*)( &_v136))[0x64]), username);
- printf("Enter access password: ");
- gets( &_v136);
- putchar( &_v136);
- if(strcmp( &_v136, "N3veRF3r1iSh3r3!") != 0) {
- puts("access denied.");
- return;
- }
- _v248 = 7431066324620764001;
- ((char*)( &_v248))[8] = 7358992178031255922;
- ((char*)( &_v248))[0x10] = 4211540148105540207;
- ((char*)( &_v248))[0x18] = 32;
- strcat( &_v248, &(((char*)( &_v136))[0x64]));
- syslog();
- puts("access granted.");
- }
- main(
- _unknown_ __rax, // r53
- _unknown_ __rdx, // r56
- int __rdi, // r57
- _unknown_ __r13 // r64
- )
- {// addr = 0x00401619
- intOrPtr _v12; // _cfa_fffffff4
- char _v16; // _cfa_fffffff0
- _unknown_ __rbx; // r54
- _unknown_ __r14; // r65
- _unknown_ __r15; // r66
- _unknown_ __rbp; // r67
- _unknown_ __rsp; // r68
- char _t21; // _t21
- _unknown_ _t38; // _t38
- signed long long _t39; // _t39
- int _t51; // _t51
- int _t52; // _t52
- _unknown_ _t53; // _t53
- _unknown_ _t56; // _t56
- _unknown_ _t57; // _t57
- signed long long _t60; // _t60
- _unknown_ _t63; // _t63
- _unknown_ _t65; // _t65
- _unknown_ _t67; // _t67
- _push(_t56);
- _t57 = __r9;
- __r9 = __r9 - 16;
- check_user(__rax, __rdx, __rdi);
- _v12 = 0;
- set_username(__rax, __rdi);
- auth(__rax, __rdi);
- if(_v12 != 0) {
- puts("[+] W0rM || Control Application");
- puts("[+] ---------------------------");
- puts("Select Option");
- puts("1: Check Balance");
- puts("2: Launch");
- puts("3: Cancel");
- puts("4: Exit");
- while(1) {
- printf("> ");
- _t51 = "%d%*c";
- __isoc99_scanf();
- _t21 = _v16;
- if(_t21 == 2) {
- goto L10;
- }
- if(_t21 > 2) {
- if(_t21 == 3) {
- cancel( &_v16);
- L14:
- continue;
- }
- if(_t21 == 4) {
- exit(_t51);
- }
- L13:
- _t52 = "Unknown option";
- puts(_t52);
- exit(_t52);
- goto L14;
- }
- if(_t21 == 1) {
- checkbalance( &_v16, &_v16);
- goto L14;
- }
- goto L13;
- L10:
- launch( &_v16);
- goto L14;
- }
- }
- exit(__rdi);
- asm("o16 nop [rax+rax]");
- _push(_t67);
- _push(_t65);
- _push(__r15);
- _push(_t63);
- _push(_t57);
- _push(_t38);
- __r9 = __r9 - 8;
- _init();
- _t60 = &__do_global_dtors_aux_fini_array_entry - &__frame_dummy_init_array_entry >> 3;
- if( &__do_global_dtors_aux_fini_array_entry != 0) {
- _t39 = 0;
- do {
- *((intOrPtr*)( &__frame_dummy_init_array_entry + _t39 * 8))();
- _t39 = _t39 + 1;
- } while(_t60 != _t39);
- }
- __r9 = __r9 + 8;
- _pop(__rbx);
- _pop(__r8);
- _pop(__r14);
- _pop(__r15);
- _pop(__rbp);
- _pop(__rsp);
- }
- __libc_csu_init(
- _unknown_ __rdx, // r56
- _unknown_ __rdi, // r57
- _unknown_ __rsi, // r58
- _unknown_ __r13 // r64
- )
- {// addr = 0x00401740
- _unknown_ __rbx; // r54
- _unknown_ __r14; // r65
- _unknown_ __r15; // r66
- _unknown_ _t3; // _t3
- _unknown_ _t8; // _t8
- signed long long _t9; // _t9
- _unknown_ _t14; // _t14
- signed long long _t17; // _t17
- _unknown_ _t20; // _t20
- __rdi = __rdi;
- _push(_t20);
- _push(_t14);
- _push(_t8);
- __r9 = __r9 - 8;
- _init();
- _t17 = &__do_global_dtors_aux_fini_array_entry - &__frame_dummy_init_array_entry >> 3;
- if( &__do_global_dtors_aux_fini_array_entry != 0) {
- _t9 = 0;
- do {
- *((intOrPtr*)( &__frame_dummy_init_array_entry + _t9 * 8))();
- _t9 = _t9 + 1;
- } while(_t17 != _t9);
- }
- __r9 = __r9 + 8;
- _pop(__rbx);
- _pop(__r8);
- _pop(__r14);
- }
- __libc_csu_fini(
- _unknown_ __rax // r53
- )
- {// addr = 0x004017A0
- __rax = __rax;
- }
- _fini(
- _unknown_ __rax // r53
- )
- {// addr = 0x004017A4
- __rax = __rax;
- }
- _fini(
- _unknown_ __rax // r53
- )
- {// addr = 0x004017A4
- __rax = __rax;
- }
- // Statistics:
- // 94 Register nodes
- // 41 Temporaries nodes
- // 7 Casts
- // 149 Statements
- // 6 Labels
- // 5 Gotos
- // 49 Blocks
- // 782 Nodes
- // 4 Assembly nodes
- // 60 Unknown Types
- Total time: 0 seconds.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement