народ, забыл, как называется утилита которая добавляет указанную DLL в импорт ЕХЕ и делает его rebuild?
нет чтото вроде addimp... .exe impadd.exe .. както так... уже к готовому EXE добавляет в импорт указанную DLL и функцию
ltshck советую. очень много всего умеет. правда для эго надо ставить много патчей на плагинов, а еще надо скачать последнюю версию Brain!
Мдя... Топик радует информативностью. =_____=" А тулза называлась IIDKing. Есть на сайте, в инструментах: http://wasm.ru/baixado.php?mode=tool&id=242 Более новая версия в аттаче.
Хм.. Вопрос не в тему немного, но всегда интересно было..) А в длл стороннюю можно прописать импорт нашей ДЛЛ ? И обязательно разве, чтобы АПИ какие то вызывались, чтобы импорт подгрузился? Кста, программа эта IIDKing длл обрабатывать не может судя по всему... п.с. чайник, чайник, не пинайте Сколько не читал про PE формат, пока так и не пришел к однозначному выводу, нужно руками пробовать.. Но просто интересно, реально ли или все пустая трата времени?
Хм.. Ну так, я правильно понимаю, что когда приложение загрузит длл, в которой прописан импорт моей длл, то и моя дллка загрузится следом в это приложение? И так же, если я прав, интересно у кого DllMain первее сработает?
ты прав а теоретически первее сработает дллмейн той библиотеки, которая прописана в импорте. Ведь сначала надо инициализировать импорт, а потом уже передавать управление модулю
В последних статьях Питрека видел новый способ загрузки по требованию: переходники указывают на маленькие заглушки, которые, получив управление, загружают требуемую dll в память. До тех пор, пока какая-нибудь API не вызвалась, dll загружена не будет. По крайней мере я так понял.
ohne Теперь мы оба видим — вопрос был просто _интерпретирован_ по-разному. Всё в порядке с миром. Mika0x65 Да, про отложенный импорт мы не подумали; С другой стороны, delay-load import есмь лишь обёртка, реализуемая компилятором\линкером — с таблицей импорта она не связана и для системного загрузчика отложенный вызов ничем не отличается от вызова LoadLibrary\GetProcAddress. С третьей стороны, в DATA_DIRECTORIES есть Delay Import Directory (используемая, вероятно, лишь утилитами для просмотра импорта) — по легенде, этот факт даже сбил однажды с толку Matt'а Pietrek'а. wertyman Насколько мы знаем, формально порядок вызова DllMain не определён. Но, фактически, на данный момент можно наблюдать правило "идём из глубины". Т.е. если твоя DllMain вызвана с причиной DLL_PROCESS_ATTACH, то DllMain всех библиотек, которые импортирует твоя dll, уже были вызваны. Конечно, это верно только для простых случаев — ведь если какая-нибудь из импортируемых твоей dll библиотек импортирует твою dll (явно или косвенно), то принцип "идём вглубь" имеет не много смысла. Если один хочет знать больше, то он может почитать старые статьи Matt'а Pietrek'а.