Инфа для размышления:
>> 1.2) В "любимой" нами оси есть очень интересное свойство - она
>> грузит системные DLL (библиотеки с функциями kernel32.dll,
>> user32.dll, advapi32.dll и т.д.) в память при запуске системы.
>> Вроде бы для ускорения запуска из них функций. Список этих DLL
>> находится в ключе реестра HKEY_LOCAL_MACHINE\SYSTEM
>> \CurrentControlSet\ Control\Session Manager\KnownDLLs. DLL имеет
>> одну интересную особенность - она может не только содержать
>> функции, но и выполнять кусок кода при инициализации и при
>> выгрузке. Таким образом, можно написать дополнительную dll, в
>> которой будет запуск при инициализации нашей проги или запись
>> параметра автостарта в реестр (см.выше). "Прицепив" dll к
>> запускаемому файлу, записав при запуске этого файла ее в системный
>> каталог винды и добавив параметр-имяDLL в реестр - можно добиться
>> запуска нашей программы. В случае добавления параметра автостарта
>> в dll, программа может удалять его при запуске. Даже не каждый
>> программер знает об этом, не говоря уже о.... Обнаружить очень
>> сложно. Работает на всех версиях винды. Может иметь дополнительные
>> функции (см.ниже).
>>
>> HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session
>> Manager\KnownDLLs
Это не я придумал

Но есть одно большое "НО".
Практические испытание

;============покусано - сорс на МарАЗМ-е==============
LibMain proc hInstDLL:DWORD, reason:DWORD, unused:DWORD
.if reason == DLL_PROCESS_ATTACH
;szText ATTACHPROCESS,"PROCESS_ATTACH"
;jmp @F
; MbTitle db "DLL_PROCESS_ATTACH",0
; MbMsg db "DLL_PROCESS_ATTACH",0
;@@:
;invoke MessageBox,NULL,addr MbMsg,addr MbTitle,MB_OK
M1:
invoke Beep, 1000,1000
invoke Sleep, 2000
jmp M1
.elseif reason == DLL_PROCESS_DETACH
M2:
invoke Beep, 100,100
invoke Sleep, 2000
jmp M2
.elseif reason == DLL_THREAD_ATTACH
.elseif reason == DLL_THREAD_DETACH
.endif
ret
LibMain Endp
;============покусано - сорс на МарАЗМ-е==============
Так вот - длл-ка лоадиться - стереть её нельзя 8(.
Необходимо стереть параметр в реестре и отребутить систему.
Прикол в том что ОНО НЕ РАБОТАЕТ ...
А принципиально должно ... (от этого не легче)
Теперь вопрос ПОЧЕМУ?
Мой френд исследовал паралельно:
> Допустим графическая система не погрузилась. ОК. Будем писать в файл.
> Фишка - CreateFile тоже не срабатывает. Ну не может же (!!!) наша
> дллка грузиться раньше (!!!) kernel32? IMHO вряд ли.
> Продолжаем исследование. Лезем к дядьке Биллу (кто кроме него знает
> что к чему?) и получаем ...
(там груз и лажа =Х=)
Я перепробывал:
20 сек. Sleep + Beep
Loop 2 sec + Beep + Loop 2 sec ...
Msgbox-es
Beeps
CreateFolder
etc ... 8(
Не работает ...
Я знаю что это не Васик


Де-то, хто-то баловался з запуском до Шелла ... может кто
уже сталкивался?
Заранее Гуры спасибо!
Сорсы в аттаче.
--
Н.Б. Традиционный секс с другими ветками реестра просьба НЕ ПРЕДЛАГАТЬ 8].