Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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
1-1125862322
ArtemESC
2005-09-04 23:32
2005.09.25
"Выкомпилировать" функцию


14-1125491147
MeF Dei Corvi
2005-08-31 16:25
2005.09.25
Ошибки или нет?


14-1125968559
vidiv
2005-09-06 05:02
2005.09.25
Как принтер так печатает?!


14-1125159609
Juice
2005-08-27 20:20
2005.09.25
Выбор компьютера


2-1124229284
Просьба
2005-08-17 01:54
2005.09.25
Как отследить уход мыши с TImage?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский