Guest User

BeavisDoU. Листинг ассемблерный

a guest
Mar 19th, 2023
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.                              **************************************************************
  2.                              * Похоже это и есть функция проверки CD                      *
  3.                              **************************************************************
  4.                              uint __cdecl krnfileDeviceIsResponding(int param_1)
  5.                                assume FS_OFFSET = 0xffdff000
  6.              uint              EAX:4          <RETURN>
  7.              int               Stack[0x4]:4   param_1                                 XREF[2]:     0040f3b6(R),
  8.                                                                                                    0040f42a(R)  
  9.              undefined1        Stack[-0x108   local_108                               XREF[1]:     0040f3f3(*)  
  10.              undefined1[512]   Stack[-0x308   text_error                              XREF[3]:     0040f439(*),
  11.                                                                                                    0040f458(*),
  12.                                                                                                    0040f470(*)  
  13.              undefined1        Stack[-0x40c   local_40c                               XREF[2]:     0040f3cd(*),
  14.                                                                                                    0040f3ff(*)  
  15.              undefined4        Stack[-0x410   local_410                               XREF[2]:     0040f3fa(*),
  16.                                                                                                    0040f40a(R)  
  17.              undefined4        Stack[-0x414   local_414                               XREF[2]:     0040f3d1(W),
  18.                                                                                                    0040f448(R)  
  19.              undefined1        Stack[-0x415   local_415                               XREF[1]:     0040f463(W)  
  20.              undefined1        Stack[-0x416   local_416                               XREF[2]:     0040f44c(*),
  21.                                                                                                    0040f45f(W)  
  22.              undefined4        HASH:27f0949   string_error
  23.                              0xf3b0  141  krnfileDeviceIsResponding
  24.                              Ordinal_141                                     XREF[10]:    Entry Point(*),
  25.                              krnfileDeviceIsResponding                                    TEST_CRITICAL_FILE_:00409c4e(c),
  26.                                                                                           TEST_CD1:0040f8c7(c),
  27.                                                                                           FUN_0040fa10:0040fa31(c),
  28.                                                                                           TEST_CRITICAL_FILE_2:00411f8a(c),
  29.                                                                                           TEST_CRITICAL_FILE_2:00412004(c),
  30.                                                                                           TEST_CRITICAL_FILE_2:0041206f(c),
  31.                                                                                           FUN_0041a430:0041a486(c),
  32.                                                                                           FUN_0041adad:0041ae7b(c),
  33.                                                                                           004296d8(*)  
  34.         0040f3b0 81 ec 18        SUB        ESP,0x418
  35.                  04 00 00
  36.         0040f3b6 8b 84 24        MOV        EAX,dword ptr [ESP + param_1]
  37.                  1c 04 00 00
  38.         0040f3bd 53              PUSH       EBX
  39.         0040f3be 55              PUSH       EBP
  40.         0040f3bf 56              PUSH       ESI
  41.         0040f3c0 57              PUSH       EDI
  42.         0040f3c1 50              PUSH       EAX
  43.         0040f3c2 e8 09 03        CALL       FUN_0040f6d0                                     char * FUN_0040f6d0(int param_1)
  44.                  00 00
  45.         0040f3c7 83 c4 04        ADD        ESP,0x4
  46.         0040f3ca 83 c0 04        ADD        EAX,0x4
  47.         0040f3cd 8d 4c 24 1c     LEA        ECX=>local_40c,[ESP + 0x1c]
  48.         0040f3d1 89 44 24 14     MOV        dword ptr [ESP + local_414],EAX
  49.         0040f3d5 68 c8 25        PUSH       string_beavis                                    = "Beavis.exe"
  50.                  43 00
  51.         0040f3da 50              PUSH       EAX
  52.         0040f3db 68 c0 25        PUSH       s_%s\%s_004325c0                                 = "%s\\%s"
  53.                  43 00
  54.         0040f3e0 51              PUSH       ECX
  55.         0040f3e1 e8 6a d0        CALL       FUN_0041c450                                     int FUN_0041c450(char * param_1,
  56.                  00 00
  57.         0040f3e6 8b 2d 38        MOV        EBP,dword ptr [->KERNEL32.DLL::Sleep]            = 000409be
  58.                  04 44 00
  59.         0040f3ec 83 c4 10        ADD        ESP,0x10
  60.         0040f3ef 33 db           XOR        EBX,EBX
  61.         0040f3f1 33 ff           XOR        EDI,EDI
  62.                              LAB_0040f3f3                                    XREF[1]:     0040f4a1(j)  
  63.         0040f3f3 8d 94 24        LEA        EDX=>local_108,[ESP + 0x320]
  64.                  20 03 00 00
  65.         0040f3fa 8d 44 24 18     LEA        EAX=>local_410,[ESP + 0x18]
  66.         0040f3fe 52              PUSH       EDX
  67.         0040f3ff 8d 4c 24 20     LEA        ECX=>local_40c,[ESP + 0x20]
  68.         0040f403 50              PUSH       EAX
  69.         0040f404 51              PUSH       ECX
  70.         0040f405 e8 c6 31        CALL       FUN_004125d0                                     uint FUN_004125d0(LPCSTR param_1
  71.                  00 00
  72.         0040f40a 8b 54 24 24     MOV        EDX,dword ptr [ESP + local_410]
  73.         0040f40e 83 c4 0c        ADD        ESP,0xc
  74.         0040f411 8b f0           MOV        ESI,EAX
  75.         0040f413 52              PUSH       EDX
  76.         0040f414 e8 97 32        CALL       FUN_004126b0                                     bool FUN_004126b0(HANDLE param_1)
  77.                  00 00
  78.         0040f419 83 c4 04        ADD        ESP,0x4
  79.         0040f41c 66 3b f3        CMP        SI,BX
  80.         0040f41f 74 09           JZ         LAB_0040f42a
  81.         0040f421 bf 01 00        MOV        EDI,0x1
  82.                  00 00
  83.         0040f426 33 f6           XOR        ESI,ESI
  84.         0040f428 eb 74           JMP        LAB_0040f49e
  85.                              LAB_0040f42a                                    XREF[1]:     0040f41f(j)  
  86.         0040f42a 83 bc 24        CMP        dword ptr [ESP + param_1],0x2
  87.                  2c 04 00
  88.                  00 02
  89.         0040f432 75 14           JNZ        LAB_0040f448
  90.         0040f434 68 a4 25        PUSH       title_string_Beavis_and_Butt-head_Do_U           = "Beavis and Butt-head Do U."
  91.                  43 00
  92.         0040f439 8d 84 24        LEA        EAX=>text_error,[ESP + 0x124]
  93.                  24 01 00 00
  94.         0040f440 68 20 25        PUSH       s_You_must_have_the_%s_CD_inserted_00432520      = "You must have the %s CD inser
  95.                 43 00
  96.        0040f445 50              PUSH       EAX
  97.        0040f446 eb 20           JMP        LAB_0040f468
  98.                             LAB_0040f448                                    XREF[1]:     0040f432(j)  
  99.        0040f448 8b 4c 24 14     MOV        ECX,dword ptr [ESP + local_414]
  100.        0040f44c 8d 44 24 12     LEA        EAX=>local_416,[ESP + 0x12]
  101.        0040f450 50              PUSH       EAX
  102.        0040f451 68 a4 24        PUSH       s_Unable_to_access_drive_%s._Pleas_004324a4      = "Unable to access drive %s.  P
  103.                  43 00
  104.         0040f456 8a 11           MOV        DL,byte ptr [ECX]
  105.         0040f458 8d 8c 24        LEA        ECX=>text_error,[ESP + 0x128]
  106.                  28 01 00 00
  107.         0040f45f 88 54 24 1a     MOV        byte ptr [ESP + local_416],DL
  108.         0040f463 88 5c 24 1b     MOV        byte ptr [ESP + local_415],BL
  109.         0040f467 51              PUSH       ECX
  110.                              LAB_0040f468                                    XREF[1]:     0040f446(j)  
  111.         0040f468 e8 e3 cf        CALL       FUN_0041c450                                     int FUN_0041c450(char * param_1,
  112.                  00 00
  113.         0040f46d 83 c4 0c        ADD        ESP,0xc
  114.         0040f470 8d 94 24        LEA        EDX=>text_error,[ESP + 0x120]
  115.                  20 01 00 00
  116.         0040f477 6a 02           PUSH       0x2
  117.         0040f479 52              PUSH       EDX
  118.         0040f47a e8 91 3b        CALL       TEST_ERROR                                       undefined4 TEST_ERROR(LPCSTR tex
  119.                  00 00
  120.         0040f47f 83 c4 08        ADD        ESP,0x8
  121.         0040f482 83 e8 03        SUB        EAX,0x3
  122.         0040f485 74 0b           JZ         LAB_0040f492
  123.         0040f487 48              DEC        EAX
  124.         0040f488 74 04           JZ         LAB_0040f48e
  125.         0040f48a 33 f6           XOR        ESI,ESI
  126.         0040f48c eb 10           JMP        LAB_0040f49e
  127.                              LAB_0040f48e                                    XREF[1]:     0040f488(j)  
  128.         0040f48e 33 f6           XOR        ESI,ESI
  129.         0040f490 eb 0c           JMP        LAB_0040f49e
  130.                              LAB_0040f492                                    XREF[1]:     0040f485(j)  
  131.         0040f492 68 d0 07        PUSH       0x7d0                                            DWORD dwMilliseconds for Sleep
  132.                  00 00
  133.         0040f497 be 01 00        MOV        ESI,0x1
  134.                  00 00
  135.         0040f49c ff d5           CALL       EBP=>KERNEL32.DLL::Sleep
  136.                              LAB_0040f49e                                    XREF[3]:     0040f428(j), 0040f48c(j),
  137.                                                                                           0040f490(j)  
  138.         0040f49e 66 3b f3        CMP        SI,BX
  139.         0040f4a1 0f 85 4c        JNZ        LAB_0040f3f3
  140.                  ff ff ff
  141.         0040f4a7 66 8b c7        MOV        AX,DI
  142.         0040f4aa 5f              POP        EDI
  143.         0040f4ab 5e              POP        ESI
  144.         0040f4ac 5d              POP        EBP
  145.         0040f4ad 5b              POP        EBX
  146.         0040f4ae 81 c4 18        ADD        ESP,0x418
  147.                  04 00 00
  148.         0040f4b4 c3              RET
  149.         0040f4b5 90 90 90        align      align(11)
  150.                  90 90 90
  151.                  90 90 90
  152.  
Add Comment
Please, Sign In to add comment