|
|
| Посл.отвђт | Сообщен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 |