Редактирование списка загруженных DLL процесса.

Тема в разделе "WASM.WIN32", создана пользователем PsReadRtfm, 13 янв 2007.

  1. PsReadRtfm

    PsReadRtfm New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    32
    В статье Ms-Rem'а есть кусок кода удаляющий из DLL из списка загруженных длл процесса
    http://wasm.ru/article.php?article=fwb
    Помогите разобраться как это же на Си реализовать
    Код (Text):
    1. format PE GUI 4.0 DLL
    2.  
    3. include '%fasminc%\win32a.inc'
    4. include 'structs.inc'
    5.  
    6. text    db 'Fuck you, world!', 0
    7. caption db 'Dll inject', 0
    8.  
    9. HideFromPeb: ; hInstance
    10.   push     esi
    11.   push     ebx
    12.   mov      esi, [esp+0Ch]
    13.   mov      eax, [fs:30h]
    14.   mov      eax, [eax+PEB.LoaderData]
    15.   add      eax, PEB_LDR_DATA.InLoadOrderModuleList
    16. @@:
    17.   mov      eax, [eax+LDR_MODULE.InLoadOrderModuleList.Flink]
    18.   cmp      esi, [eax+LDR_MODULE.BaseAddress]
    19.   jnz      @B
    20.   mov      esi, [eax+LIST_ENTRY.Flink]
    21.   mov      ebx, [eax+LIST_ENTRY.Blink]
    22.   mov      [ebx+LIST_ENTRY.Flink], esi
    23.   mov      esi, [eax+LIST_ENTRY.Blink]
    24.   mov      ebx, [eax+LIST_ENTRY.Flink]
    25.   mov      [ebx+LIST_ENTRY.Blink], esi
    26.   lea      eax, [eax+LDR_MODULE.InMemoryOrderModuleList]
    27.   mov      esi, [eax+LIST_ENTRY.Flink]
    28.   mov      ebx, [eax+LIST_ENTRY.Blink]
    29.   mov      [ebx+LIST_ENTRY.Flink], esi
    30.   mov      esi, [eax+LIST_ENTRY.Blink]
    31.   mov      ebx, [eax+LIST_ENTRY.Flink]
    32.   mov      [ebx+LIST_ENTRY.Blink], esi
    33.   pop      ebx
    34.   pop      esi
    35.   ret
    36.  
    37. entry $
    38.   cmp      dword [esp+8], DLL_PROCESS_ATTACH
    39.   jnz      @F
    40.   push     dword [esp+4]
    41.   call     HideFromPeb
    42.   invoke   MessageBox, 0, text, caption, 0
    43. @@:
    44.   mov      eax, 1
    45.   retn     0Ch
    46.  
    47.  
    48. section '.idata' import data readable
    49.   library user32, 'user32.dll'
    50.  
    51. include '%fasminc%\apia\user32.inc'
    52.  
    53. section '.reloc' fixups data discardable
     
  2. Cr4sh

    Cr4sh New Member

    Публикаций:
    0
    Регистрация:
    17 апр 2006
    Сообщения:
    668
    PsReadRtfm
    http://www.phrack.org/archives/62/p62-0x0c_Win32_Portable_Userland_Rootkit.txt
    см. раздел 4.7. - Module stealth
     
  3. PsReadRtfm

    PsReadRtfm New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    32
    Спасибо !