
GM писал(а):Как узнать какие Api-функции юзает ехешник, вообще, не в ран-тайме? Вряд ли кто нибудь ответит, ну все равно задам.
Zer писал(а):А по конкретнее, как вызов DLL в ASM кде выглядит? А то я на ASM'е с DLL никогда ничего не делал...
Zer писал(а):Хмм... Если компилятор будет заренее выделять место под функцию из dll то exe'шник получися весьма увесистым...
А раз он небольшой, то программа сама отыскивает эту функцию, определяет её размер, ге она начинается и олько потом загружает её в оперативную память... Значит всё-таки можно определить, какими API пользуется программа...![]()
Это ещё почему? Так не бывает. Библиотека загружается во время работы, а в файле прописан только вызов стандартными средствами (от 12 байт).
Выделяется место под загрузку (куда грузить-то?), и далее, как по тексту выше.
Zer писал(а):Это ещё почему? Так не бывает. Библиотека загружается во время работы, а в файле прописан только вызов стандартными средствами (от 12 байт).
Значит всё-таки прописана ссылка на API-функцию, а следовательно можно определить и саму фун. ...Выделяется место под загрузку (куда грузить-то?), и далее, как по тексту выше.
Вот и глядеть, откуда грузит и чего...
Zer писал(а):Да, код там действительно корявый... но VB очень хреново кодирует данные(в отличие от C++). Можно через поиск в HexEdit'е найти, например, свойство caption у вашей кнопки, тока символы разделены. Между ними CHR$(20), если не ошибаюсь.
Dagobert писал(а):Насчёт вызова функций могу сказать, что это делается так:
LoadLibrary - получение хэндла библиотеки
GetProcAdress - сами догадаетесь?![]()
А потом вызов по адресу. Я использовал CreateThread.
Сейчас этот форум просматривают: PetalBot, Yandex-бот и гости: 23