Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Загрузка dll из памяти


Автор: Diesel Draft 3.4.2007, 01:10
как загрузка dll из памяти не используя временных файлов
 smile 

Автор: dvamaster 3.4.2007, 05:03
Могу посоветовать, виртуальную память, туда можно писать
и выполнять (в отличие от обычной).

Нужно только каким-то волшебным образом разобрать DLL
на составляющие и сполняемый код залить в виртуальную
память и запустить.

В общем подробностей не знаю.

Автор: Yanis 3.4.2007, 06:44
Diesel Draft
Ищи TFakeDll на UINC.ru.

Автор: Diesel Draft 3.4.2007, 11:20
Мне интересно как работает функция LoadLibrary. По суте можно загрузить длл в память и просто сказать где она начинается. Только это просто идея. Что скажете?

Автор: W4FhLF 4.4.2007, 15:04
Diesel Draft, да всё это возможно и, более того, давно уже реализовано и статьи написаны(wasm), всё упирается в твоё непонимание устройства процесса как такового в памяти и не знании PE формата. 

Автор: Diesel Draft 4.4.2007, 16:07
возможно я не правильно высловилса. Я имею виду загрузку длл минная LoadLibrary, которая берет его из диска. Изучения asm дало понимание процессов, но причуды windows их погубили  smile 

Я не знаю что такое PE формат, поэтому если хто то даст линк или объяснит то я буду очень признателен. 
 smile 

Автор: Alexeis 4.4.2007, 21:30
Цитата(Diesel Draft @  4.4.2007,  16:07 Найти цитируемый пост)
Я не знаю что такое PE формат, поэтому если хто то даст линк или объяснит то я буду очень признателен. 


http://wasm.ru/docs/2/pe_docs.zip

Автор: Diesel Draft 5.4.2007, 10:53
кстати Yanis, я попробовал TFakeDll. Мне понравилось. Надо еще протестить на глюки и совместимой. А так думаю все ок  smile 




теперь давайте розкажу зачем это мне. Я пишу программу которая умеет патчить, но так как патчей очень много то я хочу сделать обновление. Эта программа платная. Поэтому я должен заметить функции. А самый лудшый способ хранить их это длл. Плюс к по этому я должен хранить информацию про функции и их назву, чтоб программа могла сама найти нужный.

Автор: Yanis 5.4.2007, 11:44
Diesel Draft
Слушай, что у тебя с русским языком? Литературного от тебя никто не требует, но всё таки. Может перед постом будешь в ворде набирать текст? Наверное несколько минусов уже должны как то повлять smile

Ну это так, отвлеклись и хватит smile


Цитата(Diesel Draft @  5.4.2007,  11:53 Найти цитируемый пост)
теперь давайте розкажу зачем это мне. Я пишу программу которая умеет патчить, но так как патчей очень много то я хочу сделать обновление. Эта программа платная. Поэтому я должен заметить функции. А самый лудшый способ хранить их это длл. Плюс к по этому я должен хранить информацию про функции и их назву, чтоб программа могла сама найти нужный. 

Ничего не понял. Ты собираешься свою программу патчить или чужую? Мысли какие то сбитые.

Автор: Diesel Draft 5.4.2007, 12:08
Yanis, Если чесно то это уже после ворда  smile  . А так я просто никогда не учил русский вот теперь мне минусы сунут в репу   smile 



Я буду патчить прошивки. Каждая прошивка имеет свою функцию

Автор: Yanis 5.4.2007, 12:18
Так. Помолясь разбираемся. 
Прошивки это и есть dll или в dll будет код патча? smile

Автор: Diesel Draft 5.4.2007, 12:24
Короче есть файл (прошивка). И есть программа которая должна менять (патчить) єтот файл. Так как файлы бывают разные то надо делать обновление из интернета программ (функций, длл). Для этого я использую длл, в которой и знаходитса та часть программы которая знает как именно меть этот файл


П.С. извините если плохо объясняю 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)