Вопрос по Ассемблеру

Тема в разделе "WASM.ASSEMBLER", создана пользователем Cahek_zero, 15 ноя 2008.

  1. Cahek_zero

    Cahek_zero New Member

    Публикаций:
    0
    Регистрация:
    15 ноя 2008
    Сообщения:
    6
    Здраствуйте у меня вопрос по языку(я нуб)
    Код (Text):
    1. sub_488CE0(int, char *buf, int len, int)
    2. sub_488CE0 proc near
    3.  
    4. arg_0= dword ptr  4
    5. buf= dword ptr  8
    6. len= dword ptr  0Ch
    7. arg_C= dword ptr  10h
    8.  
    9. mov     eax, [esp+arg_0]
    10. push    ebx
    11. push    esi
    12. push    edi
    13. mov     edi, ecx
    14. lea     esi, [eax+eax*8]
    15. mov     eax, [esp+0Ch+len]
    16. mov     ecx, [esp+0Ch+buf]
    17. mov     edx, [edi+10h]
    18. push    0               ; flags
    19. shl     esi, 4
    20. push    eax             ; len
    21. push    ecx             ; buf
    22. mov     eax, [edx+esi]
    23. push    eax             ; s
    что здесь происходит?
     
  2. Clear_Energy

    Clear_Energy Алексей

    Публикаций:
    0
    Регистрация:
    3 ноя 2008
    Сообщения:
    375
    Нуб? Поменьше играй в линейку, побольше читай тех. литературу :)
     
  3. Cahek_zero

    Cahek_zero New Member

    Публикаций:
    0
    Регистрация:
    15 ноя 2008
    Сообщения:
    6
    как сразу спалили), ну подскажите чуть чуть
     
  4. Clear_Energy

    Clear_Energy Алексей

    Публикаций:
    0
    Регистрация:
    3 ноя 2008
    Сообщения:
    375
    Могу ошибаться, но это подготовка аргументов к передаче функции?
    По-моему это явно не обычная программа...
     
  5. Cahek_zero

    Cahek_zero New Member

    Публикаций:
    0
    Регистрация:
    15 ноя 2008
    Сообщения:
    6
    это проверка, данных перед отправкой, я немогу найти где происходит шифрование, шифрование должно быть ХОR
     
  6. Clear_Energy

    Clear_Energy Алексей

    Публикаций:
    0
    Регистрация:
    3 ноя 2008
    Сообщения:
    375
    Значит это не тот кусок кода
     
  7. Cahek_zero

    Cahek_zero New Member

    Публикаций:
    0
    Регистрация:
    15 ноя 2008
    Сообщения:
    6
    Код (Text):
    1. .text:00488CE0 ; =============== S U B R O U T I N E =======================================
    2. .text:00488CE0
    3. .text:00488CE0
    4. .text:00488CE0 ; int __stdcall sub_488CE0(int, char *buf, int len, int)
    5. .text:00488CE0 sub_488CE0      proc near               ; CODE XREF: sub_486920+141|p
    6. .text:00488CE0
    7. .text:00488CE0 arg_0           = dword ptr  4
    8. .text:00488CE0 buf             = dword ptr  8
    9. .text:00488CE0 len             = dword ptr  0Ch
    10. .text:00488CE0 arg_C           = dword ptr  10h
    11. .text:00488CE0
    12. .text:00488CE0                 mov     eax, [esp+arg_0]
    13. .text:00488CE4                 push    ebx
    14. .text:00488CE5                 push    esi
    15. .text:00488CE6                 push    edi
    16. .text:00488CE7                 mov     edi, ecx
    17. .text:00488CE9                 lea     esi, [eax+eax*8]
    18. .text:00488CEC                 mov     eax, [esp+0Ch+len]
    19. .text:00488CF0                 mov     ecx, [esp+0Ch+buf]
    20. .text:00488CF4                 mov     edx, [edi+10h]
    21. .text:00488CF7                 push    0               ; flags
    22. .text:00488CF9                 shl     esi, 4
    23. .text:00488CFC                 push    eax             ; len
    24. .text:00488CFD                 push    ecx             ; buf
    25. .text:00488CFE                 mov     eax, [edx+esi]
    26. .text:00488D01                 push    eax             ; s
    27. .text:00488D02                 call    ds:send
    28. .text:00488D08                 mov     ebx, [esp+0Ch+arg_C]
    29. .text:00488D0C                 cmp     eax, 0FFFFFFFFh
    30. .text:00488D0F                 mov     [ebx], eax
    31. .text:00488D11                 jnz     short loc_488D4C
    32. .text:00488D13                 call    ds:WSAGetLastError
    33. .text:00488D19                 cmp     eax, 2733h
    34. .text:00488D1E                 mov     [ebx], eax
    35. .text:00488D20                 jnz     short loc_488D3D
    36. .text:00488D22                 mov     ecx, [edi+10h]
    37. .text:00488D25                 mov     edx, [edi+50h]
    38. .text:00488D28                 inc     edx
    39. .text:00488D29                 lea     eax, [ecx+esi+54h]
    40. .text:00488D2D                 mov     [edi+50h], edx
    41. .text:00488D30                 pop     edi
    42. .text:00488D31                 pop     esi
    43. .text:00488D32                 mov     ecx, [eax]
    44. .text:00488D34                 pop     ebx
    45. .text:00488D35                 inc     ecx
    46. .text:00488D36                 mov     [eax], ecx
    47. .text:00488D38                 xor     al, al
    48. .text:00488D3A                 retn    10h
    49. .text:00488D3D ; ---------------------------------------------------------------------------
    50. .text:00488D3D
    51. .text:00488D3D loc_488D3D:                             ; CODE XREF: sub_488CE0+40j
    52. .text:00488D3D                 mov     eax, [edi+4Ch]
    53. .text:00488D40                 inc     eax
    54. .text:00488D41                 mov     [edi+4Ch], eax
    55. .text:00488D44                 pop     edi
    56. .text:00488D45                 pop     esi
    57. .text:00488D46                 xor     al, al
    58. .text:00488D48                 pop     ebx
    59. .text:00488D49                 retn    10h
    60. .text:00488D4C ; ---------------------------------------------------------------------------
    61. .text:00488D4C
    62. .text:00488D4C loc_488D4C:                             ; CODE XREF: sub_488CE0+31j
    63. .text:00488D4C                 pop     edi
    64. .text:00488D4D                 pop     esi
    65. .text:00488D4E                 mov     al, 1
    66. .text:00488D50                 pop     ebx
    67. .text:00488D51                 retn    10h
    68. .text:00488D51 sub_488CE0      endp
    69. .text:00488D51
    70. .text:00488D51 ; ---------------------------------------------------------------------------
    71. .text:00488D54                 align 10h
    72. .text:00488D60
     
  8. GoldFinch

    GoldFinch New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2008
    Сообщения:
    1.775
    нуб,
    в этой функции шифрования нет.
     
  9. Cahek_zero

    Cahek_zero New Member

    Публикаций:
    0
    Регистрация:
    15 ноя 2008
    Сообщения:
    6
    Код (Text):
    1. var_84= byte ptr -84h
    2. var_80= byte ptr -80h
    3. var_64= byte ptr -64h
    4. var_48= byte ptr -48h
    5. var_2C= byte ptr -2Ch
    6. var_28= dword ptr -28h
    7. var_24= dword ptr -24h
    8. var_1C= dword ptr -1Ch
    9. var_18= dword ptr -18h
    10. var_10= dword ptr -10h
    11. var_C= dword ptr -0Ch
    12. var_4= dword ptr -4
    13. argc= dword ptr  8
    14. argv= dword ptr  0Ch
    15. envp= dword ptr  10h
    16.  
    17. push    ebp
    18. mov     ebp, esp
    19. push    0FFFFFFFFh
    20. push    offset loc_403845
    21. mov     eax, large fs:0
    22. push    eax
    23. sub     esp, 78h
    24. push    ebx
    25. push    esi
    26. push    edi
    27. mov     eax, dword_406018
    28. xor     eax, ebp
    29. push    eax
    30. lea     eax, [ebp+var_C]
    31. mov     large fs:0, eax
    32. mov     [ebp+var_10], esp
    33. lea     eax, [ebp+var_2C]
    34. push    eax
    35. mov     [ebp+var_4], 0
    36. call    sub_4019E0
    37. mov     byte ptr [ebp+var_4], 1
    38. mov     esi, [ebp+var_28]
    39. mov     eax, [ebp+var_24]
    40. cmp     esi, eax
    а здесь есть шифрование?
     
  10. meduza

    meduza New Member

    Публикаций:
    0
    Регистрация:
    15 авг 2008
    Сообщения:
    212
    конечно нет.
     
  11. CrystalIC

    CrystalIC New Member

    Публикаций:
    0
    Регистрация:
    26 июл 2008
    Сообщения:
    500
    Годалки на кряклабе, давай модуль либо тему следует закрыть.
     
  12. Cahek_zero

    Cahek_zero New Member

    Публикаций:
    0
    Регистрация:
    15 ноя 2008
    Сообщения:
    6