|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Июл 5, 2004 14:36:31 Заметил, что программы без таблицы импорта стартуются на всем (95-2k3), кроме win2k. Чем вызвано это различие в загрузчике win2k, и почему все восстановлено в xp? Есть ли решение, кроме как использования импортов в 2k? |
|
|
Дата: Июл 5, 2004 15:33:14 Есть ли решение, кроме как использования импортов в 2k? В аттаче максимум , что я видел работающее (таблица есть , но пустая) . Подробно тут . 1697209707__ssflat_pe.zip |
|
|
Дата: Июл 5, 2004 17:05:47 Насколько помню win2k пустые таблицы воспрнимает также как и отсутсвие, по ссылке в примерах импортится MessageBox, но все равно спасибо. |
|
|
Дата: Авг 18, 2004 14:59:41;===================================================== format PE GUI 4.0 at 793A0000h entry @F ;===================================================== section '.code' code readable writeable executable ;===================================================== rb 87B3h ;===================================================== @@: jmp eax ;=====================================================На w2ksp4 это работает , проверено :) Процесс чистый ("я" и ntdll.dll) , в eax лежит entypoint (прога зациклена) , SEH не установлен , пока не придумал как вывести хоть msgbox какой-то :) Не подскажете ? Имея только ntdll , пытался через int 2e файл создать , там долго надо разбираться с 11-ю параметрами . |
|
|
Дата: Авг 18, 2004 16:03:40 Если есть ntdll, то можно подгрузить другие библиотеки через LdrLoadDll. |
|
|
Дата: Авг 18, 2004 18:06:53 "2ksp4.exe - Недопустимое перемещение системной DLL" "Системная библиотека kernel32.dll перемещена в памяти. Работа приложения будет нарушена. Перемещение произошло из-за того, что библиотека C:\Temp\2ksp4.exe заняла область адресов, зарезервированную для системных DLL Windows. Обратитесь к поставщику за новой версией библиотеки." Не сможем мы подгрузить user32 или другую длл использующую кernel32 . Мы вместо него . Нда , скучно в таком процессе будет . |
|
|
Дата: Авг 18, 2004 23:19:14 · Поправил: bogrus;===========================================================
format PE GUI 4.0 at 793A0000h ; ImageBase kernel32.dll
entry start
;===========================================================
section '.code' code readable writeable executable
;===========================================================
repeat 9000h
nop
end repeat
;===========================================================
start: mov eax,[fs:18h]
mov eax,[eax+30h]
mov dword [eax+2Ch],@F-128h ; PEB.KernelCallbackTable
push 24h
push 0
mov eax,1139h ; beep
lea edx,[esp]
int 2Eh ; этот не сработает
@@: dd $-start+start+4
;===========================================================
mov ebx,5 ; сколько раз beep
@@: mov ecx,0FFFFFFh ; задержка
m1: nop
loop m1
push 24h
push 0
mov eax,1139h ; beep
lea edx,[esp]
int 2Eh ; а этот сработает
dec ebx
test ebx,ebx
jnz @B
;===========================================================
Не хотело мне с первого разу бипать , пришлось намудрить :) 403398632__2ksp4.zip |
|
|
Дата: Авг 19, 2004 01:05:48 Ну что, теперь будем оптимизировать? ;-) > dec ebx test ebx,ebx jnz @B dec ebx jnz @B |
|
|
Дата: Авг 19, 2004 04:55:24 Ну тогда и lea edx,[esp] можно поменять на mov edx,esp bogrus Хм, а идея интересная, imho можно умудриться и кernel32 "поверх себя" загрузить :) |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.079 |