![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Дружелюбный
Форумчанин
Регистрация: 23.02.2012
Сообщений: 692
|
![]()
Всем привет!
![]() Мне посоветовали воспользоваться сквозным экспортом функций длл для того чтоб создать длл посредник, между приложением и настоящей длл. Для того чтоб перехватить выполнение функций этой длл в программе. По поиску ничего со словами "сквозной экспорт" не нашёл. Подскажите пожайлуста, как это??? -==ЛЮБОЕ ЗНАНИЕ ДОСТИГАЕТСЯ ТОЛЬКО СОБСТВЕННЫМИ УСИЛИЯМИ!!!==-
|
![]() |
![]() |
![]() |
#2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
А-а-а... Это наверное делается так:
Пишется некая ДЛЛ, которая содержит в себе точный аналог спецификации (набор функций и их параметров) подменяемой библы. Далее исходная библа переименовывается, и эта подставляется вместо нее. Получается что вызывая ее программы на самом деле попадают в твою библу, которая чего-то делая с данными потом переадресовывает их в оригинал. Теоретически конечно можно, но нужно знать спецификацию подменяемой библиотеки, иначе швах.
I'm learning to live...
|
![]() |
![]() |
![]() |
#3 |
Дружелюбный
Форумчанин
Регистрация: 23.02.2012
Сообщений: 692
|
![]()
Вот имено со спецификацией то вся и заваруха. Всё вы правильно сказали, но блин, как узнать експортируемые функции этой библы???
Странно, но сказали что сквозной экспорт всё решит, не встречали такой??? -==ЛЮБОЕ ЗНАНИЕ ДОСТИГАЕТСЯ ТОЛЬКО СОБСТВЕННЫМИ УСИЛИЯМИ!!!==-
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
![]()
А с какой целью Вам нужен посредник?
|
![]() |
![]() |
![]() |
#5 | ||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
Все равно заморочаешся с параметрами, особенно если функции перегруженные есть. Цитата:
I'm learning to live...
|
||
![]() |
![]() |
![]() |
#6 | ||
Дружелюбный
Форумчанин
Регистрация: 23.02.2012
Сообщений: 692
|
![]() Цитата:
Цитата:
P.S. У вас личка закрыта, так что если это нарушает правила форума, то просто отправьте на мой_ник_форума@mail.ru -==ЛЮБОЕ ЗНАНИЕ ДОСТИГАЕТСЯ ТОЛЬКО СОБСТВЕННЫМИ УСИЛИЯМИ!!!==-
|
||
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]()
Просто узнать экспортируемые функции - это пол беды. Вам надо ещё реверсить оригинал и выуживать передаваемые параметры(их тип), расположение в стэке(cldcl. stdcall, fastcall и т.д.) подмена это просто:
1. загружаете В АП процесса свою DLL 2. Получаете таблицу импорта процесса(еси там статическая загрузка конечно) 3. Адреса оригинальных методов передаете в DLL, DLL их будет дергать при вызове фейк-метода из вашей DLL. 4. Адреса методов из вашей фейк-dll записываете в таблицу импорта exe и обновляете её. 5. Все. Если же там динамическая загрузка, то патчами не обойтись. Надо хуки ставить. По поводу перегруженных, имя будет тоже но смещение в таблице экспорта/импорта будет другим. |
![]() |
![]() |
![]() |
#8 |
Дружелюбный
Форумчанин
Регистрация: 23.02.2012
Сообщений: 692
|
![]()
Этот способ уже устарел, любой достойный античит узнаёт адрес настоящей функции, и вызыват его минуя перехватсик.
Сплайсинг тоже не вариант, так как и это уж очень сильно палится. А вот сравнение, скажем по MD5, библиотек игры пока не каждый анти-чит делает. Поэтому тут только подмена длл, тем более при инжекте длл в процесс, она тоже сразу спалится, так как создастся дополнительный поток! Ну раз почти все современные игры используют d3d9.dll. То походу её можно подменить, тем более там основные функции по выводу графики. Вот только как найти методы с их параметрами??? -==ЛЮБОЕ ЗНАНИЕ ДОСТИГАЕТСЯ ТОЛЬКО СОБСТВЕННЫМИ УСИЛИЯМИ!!!==-
|
![]() |
![]() |
![]() |
#9 | ||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
Цитата:
Так что тема так и останется на грани поболтайки.
I'm learning to live...
|
||
![]() |
![]() |
![]() |
#10 | |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
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 |