Помогите понять функцию

Тема в разделе "WASM.RESEARCH", создана пользователем WIN32, 6 май 2011.

  1. WIN32

    WIN32 Member

    Публикаций:
    0
    Регистрация:
    20 янв 2007
    Сообщения:
    338
    Есть вот такой код:
    [​IMG]

    Вызывается следующим образом :
    Код (Text):
    1. sub_BCA8505      sub_BCA8505 proc near
    2. sub_BCA8505
    3. sub_BCA8505      var_18= dword ptr -18h
    4. sub_BCA8505      var_14= dword ptr -14h
    5. sub_BCA8505      var_10= dword ptr -10h
    6. sub_BCA8505      var_C= dword ptr -0Ch
    7. sub_BCA8505      var_8= dword ptr -8
    8. sub_BCA8505      var_4= dword ptr -4
    9. sub_BCA8505      arg_0= dword ptr  8
    10. sub_BCA8505
    11. sub_BCA8505      push    ebp
    12. sub_BCA8505+1    mov     ebp, esp
    13. sub_BCA8505+3    sub     esp, 18h
    14. sub_BCA8505+6    and     [ebp+var_4], 0
    15. sub_BCA8505+A    push    ebx             ; save ebx
    16. sub_BCA8505+B    mov     ebx, [ebp+arg_0]
    17. sub_BCA8505+E    lea     eax, [ebp+var_18]
    18. sub_BCA8505+11   push    eax             ; first param
    19. sub_BCA8505+12   lea     eax, [ebp+var_14]
    20. sub_BCA8505+15   push    eax             ; second param
    21. sub_BCA8505+16   lea     eax, [ebp+var_10]
    22. sub_BCA8505+19   push    eax
    23. sub_BCA8505+1A   push    ebx
    24. sub_BCA8505+1B   call    getPeInfo
    25. sub_BCA8505+20   add     esp, 10h
    26. sub_BCA8505+23   test    eax, eax
    27. sub_BCA8505+25   jz      loc_BCA8648
    Как я понял:
    1. Проверка на 'MZ '
    2. Проверка на 'PE '
    3. в agv4 - ptr to PE [ mov [edx],eax ]
    4. Опять проверка на 'PE '
    Дальше я не понял.

    Реверсер я без опыта, поэтому не серчайте :)
    P.S. Как в IDA Pro 5.5 сделать так, чтобы в окне стека показывалось значение из ESP ? ( EBP ) А то стоит как мертвый.
    UPDATE #1
    Код (Text):
    1. getPeInfo+46   xor     eax, eax
    2. getPeInfo+48   inc     eax
    3. getPeInfo+49   pop     ebp
    4. getPeInfo+4A   ret
    Функция возвращает BOOL