Форум: "WinAPI";
Текущий архив: 2005.09.25;
Скачать: [xml.tar.bz2];
ВнизРаздел импорта Найти похожие ветки
← →
GrayFace © (2005-07-29 02:37) [0]Такая задача: я хочу добавить в редактор карт Heroes 3 WOG монстров из WOG (их нельзя ставить в замки). Я нашел место, куда вставить свой код и хочу поставить туда вызов функции своей библиотеки.
Я добавил ее в раздел импорта, но не знаю, по какому адресу будет находиться ссылка на нее.
А заодно, близкий вопрос - зачем в Delphi для каждой импортируемой функции создаются маленькие заглушки с кодомcall [$aabbccdd]
? Почему этот код просто не всавляется в место вызова.
← →
n0name (2005-07-30 08:39) [1]>Я добавил ее в раздел импорта, но не знаю, по какому адресу будет находиться ссылка на нее.
Это как? То есть ты хочешь узнать по какому адресу она загружена?
← →
Digitman © (2005-07-30 14:17) [2]
> хочу добавить в редактор карт Heroes 3 WOG монстров из WOG
>
галиматьища какая-то : "монстры" , "WOG", "Heroes", "замки" ..
КАКОЕ отношение вся этя тряхомудия имеет к таблице импорта pe-модуля ?
каого вообще ляда ты полез править IAT вручную ?!
какая тебе разница, что и куда там Делфи "всавляет" касаемо импорта ?!
← →
GuAV © (2005-07-30 15:12) [3]
> А заодно, близкий вопрос - зачем в Delphi для каждой
> импортируемой функции создаются маленькие заглушки с
> кодом call [$aabbccdd]? Почему этот код просто не
> всавляется в место вызова.
Не знаю, но предполагаю, что это для возможности ставить breakpoint на вызов функции вне зависимости от места вызова (ставится на строку с external - и останавливается на вызове хоть из переменной).
← →
PAVIA © (2005-07-30 15:51) [4]Я вобще не понимаю, что написал GrayFace.
> Почему этот код просто не всавляется в место вызова.
Не знаю почему у тебя он не вставляеться, у всех он вставляется.
> Не знаю, но предполагаю
Сделано это для того чтобы знать адресс функции. Так-как DLL может быть загружена в "произвольное" место.
> Я добавил ее в раздел импорта, но не знаю, по какому адресу
> будет находиться ссылка на нее.
Ну кто тебе сказал, что ссылка будет?
> Такая задача: я хочу добавить в редактор карт Heroes 3 WOG
> монстров из WOG (их нельзя ставить в замки).
Как, это связано со всем остальным не представляю.
← →
GuAV © (2005-07-30 16:06) [5]
> Так-как DLL может быть загружена в "произвольное"
> место.
И что дальше ?
← →
alpet © (2005-07-30 18:02) [6]GrayFace © (29.07.05 02:37)
1. Какой толк от того, что разделе импорта exe-файла редактора вдруг обьявится твоя фукнция. Только что DLL будет подгружаться и все. Редактор сам никоим образом не возжелает вызвать эту функцию в необходимый тебе момент.
2. "Заглушки" кстати имеют вид:
mov eax,eax
jmp [_idata.func_pointer]
Можешь считать для успокоения, что вызовы функций у библиотеки подгружаемой run-time выполняются без таких заглушек.
← →
GrayFace © (2005-07-31 03:47) [7]Я хочу добавить в одно место определенный код. Для этого я решил заменить там одну команду на вызов процедуры из моей dll. (процедура будет начинаться с замещаемой комманды)
Digitman © (30.07.05 14:17) [2]
каого вообще ляда ты полез править IAT вручную ?!
Ну, не совсем вручную - использовал LordPE.
PAVIA © (30.07.05 15:51) [4]
> Такая задача: я хочу добавить в редактор карт Heroes 3 WOG
> монстров из WOG (их нельзя ставить в замки).
Как, это связано со всем остальным не представляю.
Чтобы было ясно, что я не крякерством занимаюсь.
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2005.09.25;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.041 c