| 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. И не нужны в таком случае никакие надстройки другие, инфекты и прочие извраты. > Хотя хорошо, что Ваше стремление к универсальности вывело на такой уровень. Должен признать, что не все могут этим похвастаться. Умник ёпта  
  | Сообщение посчитали полезным: DenCoder, yanus0 | 
| 
 | 
Создано: 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   | Сообщение посчитали полезным: DenCoder | 
| 
 | 
Создано: 13 августа 2011 02:51  · Личное сообщение · #8  | 
| 
 | 
Создано: 13 августа 2011 13:13  · Личное сообщение · #9  | 
| 
 | 
Создано: 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 | 





 








. Я подозревал, что это так. Но вышеприведенный пример смутил.
 Для печати