Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Системное программирование и WinAPI > Экспорт длл


Автор: bass 15.11.2010, 22:44
Ребят вот все пишем подложки под разные длл может придумаем какую нибудь дллл которая при загрузке считывала экспортируемые функции длл и сама их экспортировала??? и на счет переменных тоже можно подумать.......

Автор: 500mhz 17.11.2010, 18:41
а зачем?

Автор: Sartorius 17.11.2010, 18:53
bass, нормальный компилятор вместе с dll позволяте создать статическую библиотеку импорта. Или ты о чужих dll-ках? К таким обычно импортирующие lib-ы или  сорцы поставляются.
 ЗЫ
 Проблема в том, что анализ таблицы экспорта dll не даст представления о сигнатурах функций. Узнать их можно только проанализировав disassembly. Эту работу сейчас нормально может выполнить только человек.

Автор: bass 17.11.2010, 20:29
Цитата(Sartorius @ 17.11.2010,  18:53)
bass, нормальный компилятор вместе с dll позволяте создать статическую библиотеку импорта. Или ты о чужих dll-ках? К таким обычно импортирующие lib-ы или  сорцы поставляются.
 ЗЫ
 Проблема в том, что анализ таблицы экспорта dll не даст представления о сигнатурах функций. Узнать их можно только проанализировав disassembly. Эту работу сейчас нормально может выполнить только человек.

Ты прав но если иметь ини файл?????
Да и для подложки не обезателно знать сколько параметров передается..................

Автор: ASMatic 17.11.2010, 20:50
Цитата(bass @  17.11.2010,  18:29 Найти цитируемый пост)
Ты прав но если иметь ини файл?????

если это своя библиотека - зачем ини файл?? smile 
-есть же как минимум секция даты или релоков...тот же текст - места больше чем предостаточно для хранения таблиц с адресами функций.

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

Автор: bass 18.11.2010, 16:42
Цитата(ASMatic @ 17.11.2010,  20:50)
Цитата(bass @  17.11.2010,  18:29 Найти цитируемый пост)
Ты прав но если иметь ини файл?????

если это своя библиотека - зачем ини файл?? smile 
-есть же как минимум секция даты или релоков...тот же текст - места больше чем предостаточно для хранения таблиц с адресами функций.

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

Затея такая подменяю своей длл гина или еще что то и она работает как прозрачная.......
А инишник для тех функций которые надо перехватывать.....

Автор: 500mhz 18.11.2010, 17:16
ТС так бэ и писал что wrapper требуеться, в инете куча сорцов по реалтайм генерации враперов. Проще говоря на выходе у тебя будет дллка пустышка (ну если не добавить свой функционал) с импортом и экспортом. Насчет переменных нефига там думать, когда вызываеться функция они ужедавно на стеке лежат. Единственное что нада будет делать, переименовать оригинальную дллку.

Автор: ASMatic 18.11.2010, 21:21
Цитата(bass @  18.11.2010,  14:42 Найти цитируемый пост)
А инишник для тех функций которые надо перехватывать..... 

тут уже точно меня в "угол" загнал! Зачем инишник в таких ситуациях?? - Ну да...мускуля не охота с собой таскать дабы длл знала что перехвачивать...... - незя вкомпалить неймы или что ты там в инишник сунеш???

в1 - я тебя вообще не понял
в2 - тебе нужен новый мозг! smile 

Автор: bass 18.11.2010, 21:29
Цитата(500mhz @ 18.11.2010,  17:16)
ТС так бэ и писал что wrapper требуеться, в инете куча сорцов по реалтайм генерации враперов. Проще говоря на выходе у тебя будет дллка пустышка (ну если не добавить свой функционал) с импортом и экспортом. Насчет переменных нефига там думать, когда вызываеться функция они ужедавно на стеке лежат. Единственное что нада будет делать, переименовать оригинальную дллку.

Все понял куда ковырять..... А про переменные которые передаются в функции я знаю что они в стеке......
Ведь длл может экспортировать переменную , правда не кто так не пишет...... 

Автор: 12usver12 29.11.2010, 22:52
называется proxydll 
вот почитай например тут 
http://www.codeproject.com/KB/DLL/CreateYourProxyDLLs.aspx?msg=2068154

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