нужен сорец фасма поиска в кернеле смещения api

Тема в разделе "WASM.BEGINNERS", создана пользователем La_plaza, 21 окт 2008.

  1. La_plaza

    La_plaza New Member

    Публикаций:
    0
    Регистрация:
    20 авг 2008
    Сообщения:
    95
    в общем есть у меня мой собственный сорец написанный год назад, вот вернулся к этому вопросу и открыл сорец. Что я могу сказать, там хлам полнейший, я вчера пытался разобраться что я там натворил и несмог(гыгы), я бы ноги себе поотрывал за то, как я "писал код" и "коментировал". Куча каких-то проверок и тд. короче весь код ненужен, только самая важная часть, хотя конечно я еще поковыряю свой код, но быстрее было бы отсюда забрать.
     
  2. GoldFinch

    GoldFinch New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2008
    Сообщения:
    1.775
    напеши новый, расшарь тут.
     
  3. Aspire

    Aspire New Member

    Публикаций:
    0
    Регистрация:
    19 май 2007
    Сообщения:
    1.028
    Это какая, интересно?
    Быстрее, но не полезнее.
     
  4. Osen

    Osen Рие

    Публикаций:
    0
    Регистрация:
    5 апр 2008
    Сообщения:
    283
    Адрес:
    Париж
    Код (Text):
    1. get_index:
    2.       xor     edx, edx
    3.       xor     eax, eax
    4.  
    5. .next_name:
    6.       push    esi
    7.  
    8. .next_sym:
    9.       cmp     byte [esi], 0
    10.       je      .found
    11.  
    12.       cmpsb
    13.       je      .next_sym
    14.  
    15. @@:
    16.       scasb
    17.       jne     @B
    18.  
    19.       pop     esi
    20.       inc     edx
    21.  
    22.       jmp     .next_name
    23.  
    24. .found:
    25.       pop     esi
    26.       mov     eax, edx
    27.  
    28.       ret
    29.  
    30. get_proc_addresses:
    31.       push    ebp
    32.  
    33.       mov     esi, get_proc_addr_str
    34.  
    35.       mov     edi, GetProcAddress
    36.  
    37.       push    edi
    38.  
    39.       mov     eax, [ebx + IMAGE_DOS_HEADER.e_lfanew]
    40.  
    41.       lea     ebp, [ebx + eax]
    42.  
    43.       mov     ebp, [ebp + IMAGE_NT_HEADERS.OptionalHeader.DataDirectory]
    44.  
    45.       add     ebp, ebx
    46.  
    47.       mov     edx, [ebp + IMAGE_EXPORT_DIRECTORY.AddressOfNames]
    48.  
    49.       add     edx, ebx
    50.  
    51.       mov     edi, [edx]
    52.  
    53.       add     edi, ebx
    54.  
    55.       pop     edx
    56.  
    57.       push    edx
    58.  
    59.       call    get_index
    60.  
    61.       mov     edx, [ebp + IMAGE_EXPORT_DIRECTORY.AddressOfNameOrdinals]
    62.  
    63.       add     edx, ebx
    64.  
    65.       mov     ecx, [ebp + IMAGE_EXPORT_DIRECTORY.nBase]
    66.  
    67.       lea     eax, [edx + eax*2 + 2]
    68.       lea     ecx, [ecx * 2]
    69.       sub     eax, ecx
    70.       mov     ax, word [eax]
    71.       and     eax, 0000FFFFh
    72.  
    73.       mov     edx, [ebp+IMAGE_EXPORT_DIRECTORY.AddressOfFunctions]
    74.  
    75.       add     edx, ebx
    76.  
    77.       mov     eax, [edx + eax * 4]
    78.  
    79.       add     eax, ebx
    80.  
    81.       pop     edx
    82.  
    83.       pop     ebp
    84.       ret