>> будет грузится в указанный ImgageBase (легаси).
> Для начала - либа никогда не может надеяться на то что ее
> в Base вгрузят. Потому что никто не гарантирует что layout адресногоЯ в общем-то не спорю (хотя видел либы с выпилинными реалоками - т.е какие то спецы игрались с флэгами компилятора или, возможно, это была либа, обработанная "противо-крякерской-защитой")
Т.е да:
> вопрос сводится в основном к желанию loader'а либы сделать рандомизацию
--
> Поэтому насколько я помнб, все либы собираются как position-independent. Чтобы при
> такой ситуации иметь возможность перенести либу в другие адреса.
Не только либы -- борлэнд-компиляторы (делфи 5 и 7, Си++ точно не помню) одно время даже екзешники такие выдавали - т.е с нужными реалокми.
> На минутку, либы можно еще и явно вгружать и импортировать из них
> функции.
Да, можно -- но для "суперсекурных" дополнений антивирей желательно загрузить либу как можно раньше, что бы значит контроль был и все такое (я честно не понял, зачем нужно грузить либу, если все равно добавляются хуки в ядро)
Там довольно много штатных средств -- тот же comodo грузил свою дллку через AppInit
http://support.microsoft.com/KB/197571
> The AppInit DLLs are loaded by using the LoadLibrary()
> function during the DLL_PROCESS_ATTACH process of User32.dll.
Ну или SetWindowsHookEx.
> Нет, ну я понимаю что микрософт может лохануться даже в этом. Но
> не все же такие упыри.
Вот как раз МС не лоханулись -- у них даже утилита есть, которой можно менять опции -- т.е "forcing aslr" и все в таком духе. А вот "хай-секюрити-софт" -- как раз наоборот :)
http://www.slideshare.net/JoxeanKoret/breaking-av-software-3... (ну или https://www.google.de/search?q=breaking+av+software+pdf )
см.
34
>Some libraries of the core of some AV engines
>are not ASLR enabled.Even in “major” AV engines...
>
>...there are non ASLR enabled modules.
>
>...there are RWX pages at fixed addresses.
>...they disable DEP.
38 (Panda)
>Some libraries of the core of some AV engines
>are not ASLR enabled.Even in “major” AV engines...
>
>...there are non ASLR enabled modules.
>
>...there are RWX pages at fixed addresses.
>
>...they disable DEP.
48
>And, also, one can write an exploit targeting
>Panda Global Protection users for any program.
>Why? Because the product injects 3 libraries
>without ASLR enabled in all processes. Yes.
54
>Most libraries and binaries in Forticlient doesn't
>have ASLR enabled.
56 (Каспер)
>Libraries avzkrnl.dll and module vlns.kdl, a
>vulnerability scanner (LOL), are not ASLR
>enabled.
>One can write a reliable exploit for Kaspersky
>AV without any real effort.
60(BKAV)
>They don't have ASLR enabled for their services...
Там кстати и насчет сабжа есть:
https://bugzilla.clamav.net/show_bug.cgi?id=10650
Хотя в целом сабж очень таки не плох ;)
>[оверквотинг удален]
>
>Ran for about 2 weeks.
>
>Only 1 DOS (found manually)
>1 infinite loop with a
>malformed PE.
>Asked to remain silent until
>a public patch is published.
>
>Honestly, I was very surprised.