![]() |
eXeL@B —› Вопросы новичков —› Как создать loader для dll |
<< . 1 . 2 . |
Посл.ответ | Сообщение |
|
Создано: 06 августа 2011 14:15 · Поправил: AKAB · Личное сообщение · #1 |
|
Создано: 10 августа 2011 16:48 · Личное сообщение · #2 bowrouco, Вы опять о своём? ![]() Новый ник Вас совершенно меняет. При чём здесь криптор? ) Обычные условия, своя система, никто не мешает делать с ней, что вздумается )) Хотя хорошо, что Ваше стремление к универсальности вывело на такой уровень. Должен признать, что не все могут этим похвастаться. ) PE_Kill пишет: Задача - пропатчить библиотеку налету в памяти во время ее загрузки А ведь задача изначально не так звучала. )) AKAB, помогли тебе, нет? PE_Kill пишет: можно ли этим универсальным патчером такое сделать. Собственно ответ: нет Ну понятно. Но если такими короткими будут все ответы без вариантов? Вернёмся к сабжу Изначальная задача - задача 1 AKAB пишет: Скажите, пожалуйста, Как можно создать loader для dll Лично я понял это буквально. С помощью dup никак! Универсальный загрузчик - хороший отладчик, например OllyDbg: Code:
Неявный вариант задачи 1 -> Задача 2 - пропатчить библиотеку налету в памяти во время ее загрузки. Видимо, в ходе переписки ТС по ПМ с AoRC(Ace of Reversing and Cracking ![]() В ollydbg Options->Events->Pause on new module->OK->F9 до остановки на DllEntryPoint нужной dll (кстати, не то же самое, что DllMain). Патчим как надо, отпускаем. Если какая-то защита, то это уже другой вопрос! ![]() ----- IZ.RU ![]() |
|
Создано: 10 августа 2011 17:06 · Поправил: bowrouco · Личное сообщение · #3 DenCoder Если система своя мне например провайдера верификации хватает для подобных целей. Компилим длл, регаем в реестре и она загружается в процесс есчо до загрузки kernel32(и там есть официальные колбеки на загрузку модулей). Это далеко до длл нотификаций, тлс-ов, ep etc. И не нужны в таком случае никакие надстройки другие, инфекты и прочие извраты. > Хотя хорошо, что Ваше стремление к универсальности вывело на такой уровень. Должен признать, что не все могут этим похвастаться. Умник ёпта ![]() ![]() |
|
Создано: 10 августа 2011 17:12 · Личное сообщение · #4 |
|
Создано: 10 августа 2011 22:58 · Личное сообщение · #5 |
|
Создано: 11 августа 2011 02:43 · Поправил: Isaev · Личное сообщение · #6 |
|
Создано: 11 августа 2011 11:59 · Личное сообщение · #7 DenCoder http://www.wasm.ru/forum/viewtopic.php?id=37208 http://indy-vx.narod.ru/Bin/AVrf.zip ![]() |
|
Создано: 13 августа 2011 02:51 · Личное сообщение · #8 |
|
Создано: 13 августа 2011 13:13 · Личное сообщение · #9 Странно, ссылка ----- Stuck to the plan, always think that we would stand up, never ran. ![]() |
|
Создано: 19 августа 2011 10:23 · Поправил: alt · Личное сообщение · #10 |
|
Создано: 19 августа 2011 10:58 · Личное сообщение · #11 |
|
Создано: 19 августа 2011 11:46 · Личное сообщение · #12 PE_Kill пишет: Прочитай про адресное пространство процессов в винде. Лучше эксперимент проведу, когда время будет. а так вот что здесь написано: Именно тогда появились счетчики ссылок пользователей DLL - при каждом вызове функции ОС проверяет наличие загруженного в память экземпляра библиотеки. В случае положительного ответа счетчик ссылок пользователей данной DLL увеличивается на единицу. Если же экземпляр данной DLL в памяти не обнаружен, то операционная система загружает файл в память и присваивает счетчику значение "1". ![]() |
|
Создано: 19 августа 2011 11:55 · Личное сообщение · #13 |
|
Создано: 19 августа 2011 12:31 · Личное сообщение · #14 Archer пишет: Это в пределах одного процесса. Хотите сказать, что нужно одним и тем же ехе(ком) вызвать dll два раза. Первый раз ложно и пропатчить, а второй раз уже как положено. Archer пишет: Лучше почитай всё же. Мудрено... Я же не профи. Да и причем тут адресное пространство. Вопрос то в другом: откуда будет "грузиться" dll - с винта или из памяти. ![]() |
|
Создано: 19 августа 2011 16:08 · Личное сообщение · #15 |
|
Создано: 19 августа 2011 16:17 · Личное сообщение · #16 |
|
Создано: 19 августа 2011 16:27 · Личное сообщение · #17 |
|
Создано: 19 августа 2011 17:19 · Личное сообщение · #18 yanus0 пишет: ы спрашиваете глупости, потому вам по существу не отвечают. Нельзя загрузить 2 длл с одинаковыми именами и функциями. У разных процесов разные адресные пространства и между ними нет общего доступа. Спасибо, добрый человек, что не дали убиться об стену в процессе эксперемента ![]() ![]() |
|
Создано: 19 августа 2011 17:42 · Поправил: alt · Личное сообщение · #19 |
|
Создано: 19 августа 2011 17:53 · Личное сообщение · #20 |
<< . 1 . 2 . |
![]() |
eXeL@B —› Вопросы новичков —› Как создать loader для dll |