Форум: "Прочее";
Текущий архив: 2006.03.26;
Скачать: [xml.tar.bz2];
ВнизПодмена DLL Найти похожие ветки
← →
Новичоккк (2006-03-06 15:21) [0]Имеется DLL с множеством функций (её размер 7mb что уже о многом говорит). Мне надо назначить на одну из функций свое дополнительное действие. Возможно ли это? Вызовы всех функций переадресовывать на стандуртную DLL... Как реализовать? Что для этого надо? Насколько тяжело?
← →
Alkid © (2006-03-06 15:23) [1]Всё зависит от количества функций, экспортируемых этой DLL.
← →
Новичоккк (2006-03-06 15:29) [2]Т.е. надо получить список импортируемых функций? А как узнать число параметров и проче... Или это не надо? Никогда не занимался подобным...
← →
Alkid © (2006-03-06 15:31) [3]
> .е. надо получить список импортируемых функций? А как узнать
> число параметров и проче... Или это не надо? Никогда не
> занимался подобным...
Для получения списка экспортируемых функций можешь юзать
dumpbin. Если имена декорированные, то из них спокойно достаёшь параметры и тип результата. Если нет, то хуже - надо искать доп. информацию. А где - неизвестно.
← →
Alkid © (2006-03-06 15:32) [4]Хотя, торетически, можно написать на асме хитрую заглушку на каждую
функцию, которая будет передавать управление нужной функции в DLL, не
изменяя состояние стека. Тогда тебе нет необходимости знать прототипы всех функций.
← →
Новичоккк (2006-03-06 15:45) [5]Наверное в моем случае это не реально:
File Type: DLL
Section contains the following exports for Engine.dll
0 characteristics
4265DEB7 time date stamp Wed Apr 20 08:46:47 2005
0.00 version
1 ordinal base
9540 number of functions
9540 number of names
ordinal hint RVA name
1 0 0000B4BA ??0?$TArray@E@@QAE@ABV0@@Z
...
9540 2543 0065AF10 intUShadowBitmapMaterialexecDestroy
Summary
3954000 .data
C000 .idata
17A000 .rdata
88000 .reloc
450000 .text
← →
Alkid © (2006-03-06 15:47) [6]
> ??0?$TArray@E@@QAE@ABV0@@Z
Поясни. DLL дельфёвая? TArray на мысли наводит.
А вообще - 1-ая запись - декорированное имя. Последняя - нет.
Можно, опять же, вариант с заглушкой попробовать провернуть.
← →
Новичоккк (2006-03-06 16:00) [7]Переписывать 9540 функций - не реально
8952 22F7 00003E3B ?undefinePaths@FPathBuilder@@QAEXPAVULevel@@@Z
8953 22F8 00011234 ?walkMove@APawn@@QAE?AW4ETestMoveResult@@VFVector@@AAUFCheckResult@@PAVAActor@@M @Z
8954 22F9 00005088 ?walkReachable@APawn@@QAEHVFVector@@HPAVAActor@@@Z
8956 22FA 005E238C GPackage
8955 22FB 00011BE9 _DllMain@12
8957 22FC 00760378 autoclassAAIController
8958 22FD 0075A180 autoclassAAIMarker
8959 22FE 007631E0 autoclassAAIScript
8960 22FF 00752098 autoclassAActor
← →
jack128 © (2006-03-06 16:13) [8]а зачем вручную?? Написать прогу, которая сгерит исходник заклушек для этих 10000 функций..
← →
Alkid © (2006-03-06 16:13) [9]
> Переписывать 9540 функций - не реально
Это, наверное, и не обязательно. Однако, а что ты вообще хочешь сделать?
Мож тебе и не нужны все эти хакерские приколы?
← →
Новичоккк (2006-03-06 16:20) [10]А как будет выглядить объявление хотя бы для функции:
?undefinePaths@FPathBuilder@@QAEXPAVULevel@@@Z
Мне нужно выполнять свой код при вызове одной из функций, экспортируемой этой библиотекой. По-моему это можно сделать только таким способом.
← →
Alkid © (2006-03-06 16:45) [11]
> Мне нужно выполнять свой код при вызове одной из функций,
> экспортируемой этой библиотекой. По-моему это можно сделать
> только таким способом.
А зачем, если не секрет? :)
> ?undefinePaths@FPathBuilder@@QAEXPAVULevel@@@Z
А я тебе так просто этого не скажу, чессное слово :) Ты думаешь я умею раздекорировать имена вот так, на лету? :)
← →
Новичоккк (2006-03-06 17:27) [12]Долго объяснять. Это относится не к взлому, а к защите софта.
> А я тебе так просто этого не скажу, чессное слово :) Ты
> думаешь я умею раздекорировать имена вот так, на лету? :
> )
Мне бы направление, куда копать
> Если имена декорированные, то из них спокойно достаёшь параметры
> и тип результата. Если нет, то хуже - надо искать доп. информацию.
> А где - неизвестно.
Т.е. вот это:8957 22FC 00760378 autoclassAAIController
8958 22FD 0075A180 autoclassAAIMarker
8959 22FE 007631E0 autoclassAAIScript
8960 22FF 00752098 autoclassAActor
просто так оттранслировать не получится?
← →
Styx_ (2006-03-06 17:41) [13]К защите America"s Army?
← →
Новичоккк (2006-03-06 18:07) [14]А возможно как-нибудь следить за обращениями к этой DLL с помощью API? Может это будет проще?
← →
Новичоккк (2006-03-06 18:08) [15]Надо перехватывать только одну функцию
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2006.03.26;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.04 c