Сейчас на форуме: bartolomeo (+4 невидимых)

 eXeL@B —› Вопросы новичков —› Интесесная тема. Как поместить dll в тело программы?
Посл.ответ Сообщение

Ранг: 4.8 (гость)
Активность: 0=0
Статус: Участник

Создано: 20 мая 2006 10:42
· Личное сообщение · #1

Задача следующая: Нужно поместить dll в тело программы asm. Собираюсь просто вставить весь код из dll
в виде DB XXh. На экспорт dll забить, а функкции вызывать добавляя смещение к началу кода из dll.
1) Как преобразовать DLL в хекс вида - DB XXh, XXh, XXh (думаю ида поможет )
1) Что если в DLL абсолютная адресация? Как ее преобразовать в относительную?(думаю ида опять поможет)



Ранг: 162.2 (ветеран)
Активность: 0.090
Статус: Участник

Создано: 20 мая 2006 11:11
· Личное сообщение · #2

Помоему проще скопировать в себя весь код, а потом собрать его в памяти, настроить релоки, и пользоваться как нормальноё dll-ой, только тогда внутри dll-ки нельзя вызывать GetModuleHandle( может ещё чего). Если dll не твоя то работать не будет, имхо.
Если есть возможность, то можно сохранять её каждый раз на диске, а потом грузить и пользоваться.




Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

Создано: 20 мая 2006 11:13
· Личное сообщение · #3

bloM пишет:
1) Как преобразовать DLL в хекс вида - DB XXh, XXh, XXh (думаю ида поможет )

В пакете МАСМ32 есть тулза BINTODB, она тебе поможет.



Ранг: 34.9 (посетитель)
Активность: 0.030
Статус: Участник

Создано: 20 мая 2006 11:21
· Личное сообщение · #4

A moget proshe zakinut dll v resurcy, pri zapuske izvlekat i podgrugat s pomosh'y LoadLibrary()?



Ранг: 450.1 (мудрец)
Активность: 0.260
Статус: Участник

Создано: 20 мая 2006 17:12 · Поправил: Asterix
· Личное сообщение · #5

ufmod.sourceforge.net/
в виндовом архиве есть утилита eff
она во много форматов конвертит, причем запускается как gui и как консольная по желанию ;)



Ранг: 310.8 (мудрец), 29thx
Активность: 0.430
Статус: Участник

Создано: 21 мая 2006 11:27
· Личное сообщение · #6

bloM пишет:
Что если в DLL абсолютная адресация?

DLL без обработки релоков будет работать только при загрузке по ImageBase.
Но, наверное, ты имел ввиду есть ли там абсолютные адреса - есть, если таблица релоков не пустая. Если DLL чужая, то придется проверить DLLMAIN - нет ли там какой инициализации. Короче, лучше доверить ее загрузку Виндам - меньше мороки.



Ранг: 34.9 (посетитель)
Активность: 0.030
Статус: Участник

Создано: 25 мая 2006 02:59
· Личное сообщение · #7

Mogesh poprobovat ripnut cod iz dll(esli ona ne sovsem bolshaya) TMG Ripper Studio tebe pomoget



Ранг: 203.3 (наставник)
Активность: 0.220
Статус: Участник
UPX Killer -d

Создано: 25 мая 2006 21:24
· Личное сообщение · #8

bloM
Есть на uinc.ru (кажется так сайт, в петулзах глянь) прога по пришиванию ДЛЛок к эгзэшнигам.

-----
Я медленно снимаю с неё UPX... *FF_User*




Ранг: 34.9 (посетитель)
Активность: 0.030
Статус: Участник

Создано: 26 мая 2006 00:52
· Личное сообщение · #9

AlexZ, tam biblioteka dlya prilinkovki dll k DELPHI progam, a nado v MASM



Ранг: 4.8 (гость)
Активность: 0=0
Статус: Участник

Создано: 04 июня 2006 08:56
· Личное сообщение · #10

TMG Ripper Studio? А с каим асмом он совместим? Я всегда пользуюсь IDA -> парсер -> fasm


 eXeL@B —› Вопросы новичков —› Интесесная тема. Как поместить dll в тело программы?
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати