· Начало · Статистика · WASM.RU · Noir.Ru ·

 WASM Phorum (Оффлайн - 24.11.2003) —› WASM.VIROLOGY —› Анониму (поиск адресов АПИ)

Посл.отвђт Сообщенiе


Дата: Мар 31, 2003 17:14:00

Вот чего я наваял (рассичтано на Тасм) по поводу поиска адресов апи. Так что не кричи, не все обзываются, многие ещё и деляться (амёбы, блин) кодом.
Думаю, другим сиё тоже будет интересно.

; getapi2k
; процедура находит адрес апи и адрес этого адреса в таблице экспорта
; вход: ecx -- длина имени
; esi -- адрес строки имени
; выход: ebx -- адрес адреса API в export table (пригодиться для перехвата вызовов АПИ кернела)
; edx -- адрес API
; eax -- адрес "головы" kernel32.dll

; (C) Ingrem, 2002

getapi2k proc
mov eax, fs:[0]
getapi2k_10:
mov ebx, [eax]
cmp ebx, -1
je getapi2k_20
mov eax, ebx
jmp short getapi2k_10
getapi2k_20:
mov eax, [eax+4]
xor ax, ax
getapi2k_1:
mov ebx, [eax]
cmp bx, 5A4Dh
je getapi2k_2
sub eax, 010000h
jmp short getapi2k_1
getapi2k_2:
mov ebx, eax
add ebx, [eax+3Ch]
add ebx, 78h
mov ebx, [ebx]
add ebx, eax
mov edx, [ebx+20h]
add edx, eax
push ebx
xor ebx, ebx
getapi2k_4:
push esi
push ecx
mov edi, [edx]
add edi, eax
repe cmpsb
je getapi2k_3
pop ecx
pop esi
add edx, 4
inc ebx
jmp short getapi2k_4
getapi2k_3:
pop ecx
pop ecx
pop ecx
shl ebx, 1
mov edx, 24h[ecx]
add edx, eax
add edx, ebx
mov edx, [edx]
and edx, 0FFFFh
mov ebx, 1Ch[ecx]
add ebx, eax
shl edx, 2
add ebx, edx
mov edx, [ebx]
add edx, eax
ret
getapi2k endp


Дата: Апр 5, 2003 17:40:07

В dll этот код работать не будет под НТ - там последний чанк в [fs:0] показывает не в кернел а в ntdll.dll


Дата: Апр 7, 2003 12:10:34

В dll этот код работать не будет под НТ - там последний чанк в [fs:0] показывает не в кернел а в ntdll.dll

Мммм... да, согласен. Годиться токо для EXE... вообще-то я больше по троянам и этот код сваял и пользовал для нахождения адресов АПИ с целью дальнейшего их пропадчивания (типа невидимость по Process32First/Next в мастдае, перехват FileFirst/Next и т.п.)


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.104