Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.04.2013, 20:26   #1
vovken1997
Дружелюбный
Форумчанин
 
Аватар для vovken1997
 
Регистрация: 23.02.2012
Сообщений: 692
Вопрос Cквозной экспорт функций из DLL

Всем привет!
Мне посоветовали воспользоваться сквозным экспортом функций длл для того чтоб создать длл посредник, между приложением и настоящей длл. Для того чтоб перехватить выполнение функций этой длл в программе.
По поиску ничего со словами "сквозной экспорт" не нашёл.
Подскажите пожайлуста, как это???
-==ЛЮБОЕ ЗНАНИЕ ДОСТИГАЕТСЯ ТОЛЬКО СОБСТВЕННЫМИ УСИЛИЯМИ!!!==-
vovken1997 вне форума Ответить с цитированием
Старый 21.04.2013, 20:32   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А-а-а... Это наверное делается так:
Пишется некая ДЛЛ, которая содержит в себе точный аналог спецификации (набор функций и их параметров) подменяемой библы. Далее исходная библа переименовывается, и эта подставляется вместо нее.
Получается что вызывая ее программы на самом деле попадают в твою библу, которая чего-то делая с данными потом переадресовывает их в оригинал.
Теоретически конечно можно, но нужно знать спецификацию подменяемой библиотеки, иначе швах.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 21.04.2013, 20:43   #3
vovken1997
Дружелюбный
Форумчанин
 
Аватар для vovken1997
 
Регистрация: 23.02.2012
Сообщений: 692
По умолчанию

Вот имено со спецификацией то вся и заваруха. Всё вы правильно сказали, но блин, как узнать експортируемые функции этой библы???
Странно, но сказали что сквозной экспорт всё решит, не встречали такой???
-==ЛЮБОЕ ЗНАНИЕ ДОСТИГАЕТСЯ ТОЛЬКО СОБСТВЕННЫМИ УСИЛИЯМИ!!!==-
vovken1997 вне форума Ответить с цитированием
Старый 21.04.2013, 20:52   #4
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

А с какой целью Вам нужен посредник?
s-andriano вне форума Ответить с цитированием
Старый 21.04.2013, 20:53   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
как узнать експортируемые функции этой библы?
Ну... OllyDbg, IDA, всякие хакерские программулинки...
Все равно заморочаешся с параметрами, особенно если функции перегруженные есть.
Цитата:
не встречали такой?
Эсли это действительно то что я подумал, то встречал, и использовал.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 21.04.2013, 21:01   #6
vovken1997
Дружелюбный
Форумчанин
 
Аватар для vovken1997
 
Регистрация: 23.02.2012
Сообщений: 692
По умолчанию

Цитата:
Эсли это действительно то что я подумал, то встречал, и использовал.
О чём вы подумали???

Цитата:
А с какой целью Вам нужен посредник?
Мне это надо для создания своих читов. Если это запрещено, просто закройте тему или удалите. Хотя ведь это не вредоносное программное обеспечение, а даже скорее наоборот

P.S. У вас личка закрыта, так что если это нарушает правила форума, то просто отправьте на мой_ник_форума@mail.ru
-==ЛЮБОЕ ЗНАНИЕ ДОСТИГАЕТСЯ ТОЛЬКО СОБСТВЕННЫМИ УСИЛИЯМИ!!!==-
vovken1997 вне форума Ответить с цитированием
Старый 21.04.2013, 21:29   #7
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию

Просто узнать экспортируемые функции - это пол беды. Вам надо ещё реверсить оригинал и выуживать передаваемые параметры(их тип), расположение в стэке(cldcl. stdcall, fastcall и т.д.) подмена это просто:
1. загружаете В АП процесса свою DLL
2. Получаете таблицу импорта процесса(еси там статическая загрузка конечно)
3. Адреса оригинальных методов передаете в DLL, DLL их будет дергать при вызове фейк-метода из вашей DLL.
4. Адреса методов из вашей фейк-dll записываете в таблицу импорта exe и обновляете её.
5. Все.

Если же там динамическая загрузка, то патчами не обойтись. Надо хуки ставить.

По поводу перегруженных, имя будет тоже но смещение в таблице экспорта/импорта будет другим.
Человек_Борща вне форума Ответить с цитированием
Старый 21.04.2013, 21:39   #8
vovken1997
Дружелюбный
Форумчанин
 
Аватар для vovken1997
 
Регистрация: 23.02.2012
Сообщений: 692
По умолчанию

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

А вот сравнение, скажем по MD5, библиотек игры пока не каждый анти-чит делает.
Поэтому тут только подмена длл, тем более при инжекте длл в процесс, она тоже сразу спалится, так как создастся дополнительный поток!

Ну раз почти все современные игры используют d3d9.dll. То походу её можно подменить, тем более там основные функции по выводу графики. Вот только как найти методы с их параметрами???
-==ЛЮБОЕ ЗНАНИЕ ДОСТИГАЕТСЯ ТОЛЬКО СОБСТВЕННЫМИ УСИЛИЯМИ!!!==-
vovken1997 вне форума Ответить с цитированием
Старый 21.04.2013, 21:50   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
О чём вы подумали?
О том что сказал - подмене, заглушке.
Цитата:
Если это запрещено, просто закройте тему или удалите.
Знаешь почему я этого не сделаю? Потому что тебе светит птичка обломинго )
Так что тема так и останется на грани поболтайки.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 21.04.2013, 21:51   #10
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию

Цитата:
Ну раз почти все современные игры используют d3d9.dll. То походу её можно подменить, тем более там основные функции по выводу графики. Вот только как найти методы с их параметрами???
DirectX API. А темку я бы прибил..
Человек_Борща вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
DLL экспорт sexsex Общие вопросы Delphi 6 25.02.2012 12:14
экспорт в dll varelik Общие вопросы Delphi 3 13.01.2010 11:30
Ошибка при выхове функций Bass.dll из другой DLL SalasAndriy Общие вопросы Delphi 7 21.10.2009 23:36
экспорт функций и процедур из exe файла Пепел Феникса Общие вопросы Delphi 9 25.07.2009 22:14
экспорт функций С++ happy_horror Общие вопросы C/C++ 5 03.04.2009 07:54