Изменить в коде проверку на версию - Assembler

Узнай цену своей работы

Формулировка задачи:

Всем привет ребят имеется код который проверяет старую версию "GetVer" и новую "Init" Собственно что нужно изменить в коде чтобы это проверку избежать Сам код:
Листинг программы
  1. mov [rsp+148h+var_8], r15
  2. cmovnz rcx, [rsp+148h+lpLibFileName] ; lpLibFileName
  3. call cs:LoadLibraryW
  4. mov cs:qword_142FBB358, rax
  5. test rax, rax
  6. jz loc_141286096
  7. lea rdx, aGetver ; "GetVer"
  8. mov rcx, rax ; hModule
  9. call cs:GetProcAddress
  10. test rax, rax
  11. jz loc_141286089
  12. call rax
  13. mov rcx, cs:qword_142FBB358 ; hModule
  14. test rcx, rcx
  15. jz loc_141286096
  16. lea rdx, aInit_6 ; "Init"
  17. call cs:GetProcAddress
  18. mov r15, rax
  19. test rax, rax
  20. jz loc_141286089
  21. mov ecx, cs:dword_1430456C0

Решение задачи: «Изменить в коде проверку на версию»

textual
Листинг программы
  1. sub_1412881C0   proc near               ; CODE XREF: sub_141467FE0+11F5p
  2.                 push    rbp
  3.                 push    rbx
  4.                 lea     rbp, [rsp-48h]
  5.                 sub     rsp, 148h
  6.                 mov     rax, cs:__security_cookie
  7.                 xor     rax, rsp
  8.                 mov     [rbp+30h], rax
  9.                 mov     rbx, rcx
  10.                 test    rcx, rcx
  11.                 jz      loc_141288579
  12.                 cmp     dword ptr [rcx+140h], 1
  13.                 jz      loc_141288579
  14.                 mov     edx, [rcx+0Ch]
  15.                 mov     [rsp+170h], rdi
  16.                 mov     cs:dword_142F68BE8, edx
  17.                 call    sub_140C4D3A0
  18.                 mov     rcx, rbx
  19.                 mov     cs:dword_142F68BEC, eax
  20.                 mov     rax, [rbx]
  21.                 call    qword ptr [rax+278h]
  22.                 mov     ecx, eax
  23.                 mov     edx, eax
  24.                 and     ecx, 0FF00h
  25.                 shl     edx, 10h
  26.                 add     edx, ecx
  27.                 mov     ecx, eax
  28.                 shr     eax, 18h
  29.                 shr     ecx, 8
  30.                 shl     edx, 8
  31.                 and     ecx, 0FF00h
  32.                 add     edx, ecx
  33.                 mov     rcx, rbx
  34.                 add     eax, edx
  35.                 cdqe
  36.                 mov     cs:qword_142FBE330, rax
  37.                 mov     rax, [rbx]
  38.                 call    qword ptr [rax+280h]
  39.                 movzx   ecx, ax
  40.                 shl     ax, 8
  41.                 movzx   eax, ax
  42.                 shr     rcx, 8
  43.                 xor     rcx, rax
  44.                 mov     rax, [rbx+2000h]
  45.                 mov     cs:qword_142FBE328, rcx
  46.                 test    rax, rax
  47.                 jz      short loc_141288285
  48.                 cmp     dword ptr [rax+50h], 6
  49.                 jnz     short loc_141288285
  50.                 mov     byte ptr [rax+78h], 1
  51.  
  52. loc_141288285:                          ; CODE XREF: sub_1412881C0+B9j
  53.                                         ; sub_1412881C0+BFj
  54.                 lea     rcx, [rsp+78h]
  55.                 call    sub_140B64A60
  56.                 cmp     dword ptr [rax+8], 0
  57.                 jz      short loc_14128829A
  58.                 mov     rcx, [rax]
  59.                 jmp     short loc_1412882A1
  60. ; ---------------------------------------------------------------------------
  61.  
  62. loc_14128829A:                          ; CODE XREF: sub_1412881C0+D3j
  63.                 lea     rcx, unk_142BE3168
  64.  
  65. loc_1412882A1:                          ; CODE XREF: sub_1412881C0+D8j
  66.                 xor     edi, edi
  67.                 mov     [rsp+30h], rcx
  68.                 lea     rax, aBinariesWin64B ; "BE.dl"...
  69.                 lea     rdx, [rsp+30h]
  70.                 lea     rcx, [rsp+40h]
  71.                 lea     r8d, [rdi+2]
  72.                 mov     [rsp+38h], rax
  73.                 mov     [rsp+40h], rdi
  74.                 mov     [rsp+48h], rdi
  75.                 call    sub_140B6B0C0
  76.                 lea     rdx, [rsp+40h]
  77.                 lea     rcx, [rsp+30h]
  78.                 call    sub_140B6A330
  79.                 mov     rbx, [rsp+40h]
  80.                 test    rbx, rbx
  81.                 jz      short loc_14128830B
  82.                 mov     rcx, cs:qword_142FAE3D8
  83.                 test    rcx, rcx
  84.                 jnz     short loc_141288302
  85.                 call    sub_140AEDD60
  86.                 mov     rcx, cs:qword_142FAE3D8
  87.  
  88. loc_141288302:                          ; CODE XREF: sub_1412881C0+134j
  89.                 mov     rax, [rcx]
  90.                 mov     rdx, rbx
  91.                 call    qword ptr [rax+28h]
  92.  
  93. loc_14128830B:                          ; CODE XREF: sub_1412881C0+128j
  94.                 mov     rbx, [rsp+78h]
  95.                 test    rbx, rbx
  96.                 jz      short loc_141288336
  97.                 mov     rcx, cs:qword_142FAE3D8
  98.                 test    rcx, rcx
  99.                 jnz     short loc_14128832D
  100.                 call    sub_140AEDD60
  101.                 mov     rcx, cs:qword_142FAE3D8
  102.  
  103. loc_14128832D:                          ; CODE XREF: sub_1412881C0+15Fj
  104.                 mov     rax, [rcx]
  105.                 mov     rdx, rbx
  106.                 call    qword ptr [rax+28h]
  107.  
  108. loc_141288336:                          ; CODE XREF: sub_1412881C0+153j
  109.                 cmp     [rsp+38h], edi
  110.                 lea     rcx, unk_142BE3168
  111.                 mov     [rsp+140h], r15
  112.                 cmovnz  rcx, [rsp+30h]
  113.                 call    cs:LoadLibraryW
  114.                 mov     cs:qword_142FBE358, rax
  115.                 test    rax, rax
  116.                 jz      loc_141288536
  117.                 lea     rdx, aGetver    ; "GetVer"
  118.                 mov     rcx, rax
  119.                 call    cs:GetProcAddress
  120.                 test    rax, rax
  121.                 jz      loc_141288529
  122.                 call    rax
  123.                 mov     rcx, cs:qword_142FBE358
  124.                 test    rcx, rcx
  125.                 jz      loc_141288536
  126.                 lea     rdx, aInit_6    ; "Init"
  127.                 call    cs:GetProcAddress
  128.                 mov     r15, rax
  129.                 test    rax, rax
  130.                 jz      loc_141288529
  131.                 mov     ecx, cs:dword_1430486D0
  132.                 mov     [rsp+168h], rsi
  133.                 test    cl, 1
  134.                 jnz     short loc_141288404
  135.                 or      ecx, 1
  136.                 lea     rdx, aArkD_D    ; "ARK %d.%d"
  137.                 mov     r9d, 3B0h
  138.                 mov     cs:dword_1430486D0, ecx
  139.                 lea     rcx, qword_1430486D8
  140.                 mov     r8d, 0FEh
  141.                 mov     cs:dword_142FA22FC, 0FEh
  142.                 mov     cs:dword_142FA22F8, 3B0h
  143.                 call    sub_140AD5AA0
  144.                 lea     rcx, sub_142585950
  145.                 call    sub_142556E2C
  146.  
  147. loc_141288404:                          ; CODE XREF: sub_1412881C0+1FAj
  148.                 cmp     cs:dword_1430486E0, edi
  149.                 lea     rsi, unk_142BE3168
  150.                 mov     [rbp+10h], rdi
  151.                 cmovnz  rsi, cs:qword_1430486D8
  152.                 test    rsi, rsi
  153.                 jz      short loc_141288495
  154.                 or      rax, 0FFFFFFFFFFFFFFFFh
  155.  
  156. loc_141288426:                          ; CODE XREF: sub_1412881C0+26Dj
  157.                 inc     rax
  158.                 cmp     [rsi+rax*2], di
  159.                 jnz     short loc_141288426
  160.                 lea     ebx, [rax+1]
  161.                 lea     rcx, [rbp-70h]
  162.                 mov     [rbp+20h], eax
  163.                 mov     r8d, ebx
  164.                 call    sub_1401131C0
  165.                 mov     rax, [rbp+10h]
  166.                 lea     rdx, [rbp-70h]
  167.                 test    rax, rax
  168.                 mov     r9d, ebx
  169.                 mov     r8, rsi
  170.                 setz    dil
  171.                 neg     edi
  172.                 movsxd  rcx, edi
  173.                 and     rcx, rdx
  174.                 mov     edx, ebx
  175.                 or      rcx, rax
  176.                 mov     [rbp+18h], rcx
  177.                 call    sub_140113280
  178.                 test    rax, rax
  179.                 jnz     short loc_14128848F
  180.                 lea     r9, unk_142BE3168
  181.                 lea     r8d, [rax+18h]
  182.                 lea     rdx, aCSvn_arkEng_44 ; "C:\\SVN_Ark\\Engine\\Source\\Runtime\\C"...
  183.                 lea     rcx, aResult    ; "Result"
  184.                 call    sub_140B5FD50
  185.  
  186. loc_14128848F:                          ; CODE XREF: sub_1412881C0+2AFj
  187.                 mov     rdi, [rbp+10h]
  188.                 jmp     short loc_14128849C
  189. ; ---------------------------------------------------------------------------
  190.  
  191. loc_141288495:                          ; CODE XREF: sub_1412881C0+260j
  192.                 mov     [rbp+18h], rdi
  193.                 mov     [rbp+20h], edi
  194.  
  195. loc_14128849C:                          ; CODE XREF: sub_1412881C0+2D3j
  196.                 mov     rax, [rbp+18h]
  197.                 mov     rsi, [rsp+168h]
  198.                 mov     [rsp+50h], rax
  199.                 test    rdi, rdi
  200.                 jz      short loc_1412884D3
  201.                 mov     rcx, cs:qword_142FAE3D8
  202.                 test    rcx, rcx
  203.                 jnz     short loc_1412884CA
  204.                 call    sub_140AEDD60
  205.                 mov     rcx, cs:qword_142FAE3D8
  206.  
  207. loc_1412884CA:                          ; CODE XREF: sub_1412881C0+2FCj
  208.                 mov     rax, [rcx]
  209.                 mov     rdx, rdi
  210.                 call    qword ptr [rax+28h]
  211.  
  212. loc_1412884D3:                          ; CODE XREF: sub_1412881C0+2F0j
  213.                 mov     eax, dword ptr cs:qword_142FBE330
  214.                 lea     r8, qword_142FBE338
  215.                 lea     rdx, [rsp+50h]
  216.                 mov     [rsp+58h], eax
  217.                 movzx   eax, word ptr cs:qword_142FBE328
  218.                 mov     ecx, 2
  219.                 mov     [rsp+5Ch], ax
  220.                 lea     rax, nullsub_1
  221.                 mov     [rsp+60h], rax
  222.                 lea     rax, sub_141287F00
  223.                 mov     [rsp+68h], rax
  224.                 lea     rax, sub_141287C70
  225.                 mov     [rsp+70h], rax
  226.                 call    r15
  227.                 test    al, al
  228.                 jz      short loc_141288529
  229.                 mov     bl, 1
  230.                 jmp     short loc_141288538
  231. ; ---------------------------------------------------------------------------
  232.  
  233. loc_141288529:                          ; CODE XREF: sub_1412881C0+1B8j
  234.                                        ; sub_1412881C0+1E3j ...
  235.                 mov     rcx, cs:qword_142FBE358
  236.                 call    cs:FreeLibrary
  237.  
  238. loc_141288536:                          ; CODE XREF: sub_1412881C0+19Fj
  239.                                         ; sub_1412881C0+1CAj
  240.                 xor     bl, bl
  241.  
  242. loc_141288538:                          ; CODE XREF: sub_1412881C0+367j
  243.                 cmp     qword ptr [rsp+30h], 0
  244.                 mov     r15, [rsp+140h]
  245.                 mov     rdi, [rsp+170h]
  246.                 jz      short loc_141288574
  247.                 mov     rcx, cs:qword_142FAE3D8
  248.                 test    rcx, rcx
  249.                 jnz     short loc_141288568
  250.                 call    sub_140AEDD60
  251.                 mov     rcx, cs:qword_142FAE3D8
  252.  
  253. loc_141288568:                          ; CODE XREF: sub_1412881C0+39Aj
  254.                 mov     r8, [rcx]
  255.                 mov     rdx, [rsp+30h]
  256.                 call    qword ptr [r8+28h]
  257.  
  258. loc_141288574:                          ; CODE XREF: sub_1412881C0+38Ej
  259.                 movzx   eax, bl
  260.                 jmp     short loc_14128857B
  261. ; ---------------------------------------------------------------------------
  262.  
  263. loc_141288579:                          ; CODE XREF: sub_1412881C0+23j
  264.                                         ; sub_1412881C0+30j
  265.                 xor     al, al
  266.  
  267. loc_14128857B:                          ; CODE XREF: sub_1412881C0+3B7j
  268.                 mov     rcx, [rbp+30h]
  269.                 xor     rcx, rsp
  270.                 call    sub_142556D00
  271.                 add     rsp, 148h
  272.                 pop     rbx
  273.                 pop     rbp
  274.                 retn
  275. sub_1412881C0   endp

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.875 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы