|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
05.07.2011, 16:22 | #1 |
Форумчанин
Регистрация: 14.12.2009
Сообщений: 716
|
Import gl функций
Всем здравствуйте. Вообщем пишу некие графические дополнения к игре, использую библиотеку opengl с расширениями cg, glsl.
Трудности заключаются в том что исходников игры в наличие нема и приходится работать всегда с дизассемблером. Если внедрять какие либо свои действия приходится перехватывать уже задействованные функции, внедрять свой код и обратно переключаться на оригинал, но это мне немного надоело. Как-то копался на одном форуме и наткнулся на один *.dll файл где были подключены шейдеры к данной игре, отреверсив я увидел следующее: Код анализировать не нужно, просто обратите внимание на вызов процедуры по адресу 00141F68 Код:
|
05.07.2011, 16:22 | #2 |
Форумчанин
Регистрация: 14.12.2009
Сообщений: 716
|
Сюда мы перешли по прошлому вызову. Здесь получаем системную директорию и загружаем opengl32.dll, дальше получаем адреса всех функций.
Код:
Импортить в ручную каждую функцию довольно не удобно, поэтому как мне кажется должен быть другой вариант импорта. Не очень хочется писать кучу функций в ручную, собственно вот и вопрос, как импортнуть все функции в мою .dll? Спасибо за ранее за любой толчок. |
05.07.2011, 16:40 | #3 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
динамическая линковка даёт возможность руками залинковать некоторые процедуры из любой длл в рантайме, в отличие от статической линковки, когда связывание происходит сразу при старте программы и указать путь к длл нельзя. Вот и вся разница, при чём тут перехват чего-либо не совсем ясно.
> как импортнуть все функции в мою .dll? если нет хидера, то никак
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
05.07.2011, 16:47 | #4 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
для статического испорта нужен еще и либ файл. кстати, а чем вам не подходит статическая линковка на нужные вам функции? Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
05.07.2011, 17:00 | #5 |
Форумчанин
Регистрация: 11.07.2010
Сообщений: 914
|
Вопрос ведь был о списке всех экспортируемых функций из dll и их адресов, а не о линковке.
А что PE формат не прочитать? IMAGE_EXPORT_DIRECTORY |
05.07.2011, 17:01 | #6 |
Форумчанин
Регистрация: 14.12.2009
Сообщений: 716
|
Статической линковкой при использование какой либо gl функции, программа просто напросто вылетает. Поэтому я и решил попробовать динамически слинковать и посмотреть что с этого выйдет.
EUGY интересный вариант, спасибо за подсказку. (Не буду против если дашь и материал по поводу) |
05.07.2011, 17:06 | #7 |
Форумчанин
Регистрация: 11.07.2010
Сообщений: 914
|
Информации море, трудно что-то конкретное посоветовать.
Но в первую очередь Debug Help Library, Image Help Library в MSDN |
05.07.2011, 17:12 | #8 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
> руками блин.
головой, блин ) понятно, что руками, вопрос-то был: "Не очень хочется писать кучу функций в ручную..." > IMAGE_EXPORT_DIRECTORY это, конечно, классно, а где брать описание параметров и их типов? Хотя для OpenGL проблем вобще быть не должно, там же все хидеры либы и прочие радости доступны в неограниченном количестве. В чём вобще проблема не ясно.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
05.07.2011, 17:13 | #9 |
Форумчанин
Регистрация: 14.12.2009
Сообщений: 716
|
Уже все ясно, спасибо большое за помощь.
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
import dll c++ | kaljan775 | Помощь студентам | 2 | 23.01.2011 18:52 |
import Java | Syltan | Общие вопросы по Java, Java SE, Kotlin | 0 | 15.06.2010 17:54 |
@import | Syltan | HTML и CSS | 1 | 15.04.2010 22:59 |
ощибка в import | Yurka | Общие вопросы по Java, Java SE, Kotlin | 1 | 11.12.2008 14:20 |
import из excel | Toxa | Общие вопросы Delphi | 2 | 25.03.2007 19:53 |