Форум: "Основная";
Текущий архив: 2004.07.11;
Скачать: [xml.tar.bz2];
ВнизФункции из DCU Найти похожие ветки
← →
ПсихЪ © (2004-06-21 09:41) [0]Как можно узнать имена функций, елси есть DCU, но нету PAS файла?
← →
Digitman © (2004-06-21 10:26) [1]в дизайн-тайм набери в IDE-редакторе имя интересующего модуля (оно должен фигурировать в USES), набери "точку" следом за именем модуля - IDE откроет выпадающий список глобально доступных идентификаторов модуля
← →
Amoeba © (2004-06-21 11:35) [2]Можно воспользоваться утилитой DeDe.
← →
Семен Сорокин © (2004-06-21 11:41) [3]dcu2pas - увидишь заголовки
← →
ПсихЪ_клон (2004-06-23 13:20) [4]Спасибо, но... в том-то и дело, что dcu2pas выдаёт ошибку при декомпиляции требуемого файла, хотя его можно нормально использовать в своих программах.
> Digitman
Так и поступил, только вот там есть 2 функции, которые каким-то образом скрыты... ): Я знаю, что они там есть, но как их осмотреть, хотя бы список их параметров - не знаю... ): Они экспортятся в DLL.
← →
Amoeba © (2004-06-23 14:06) [5]DeDe должен помочь.
← →
evvcom © (2004-06-23 14:54) [6]
> Они экспортятся в DLL.
Они не обязательно экспортятся в dll из этого dcu и в том же виде. То что доступно другим модулям (в том числе и в секции exports) должно быть обязательно в интерфейсной части модуля. А это увидишь как советовал Digitman. Tot? если курсор стоит после точки (или части набранного имени), а список скрылся, можно нажать Ctrl+Space
← →
ПсихЪ_клон (2004-06-23 15:21) [7]
> evvcom
Дык в том-то и дело, что эти функции вероятно не доступны для других модулей, но при создании DLL с этим модулем они экспортятся...
← →
evvcom © (2004-06-23 15:30) [8]Конечно, можно сделать и такое, но я бы назвал этот способ "через ж...". Если делалось как принято, то что-то здесь не так. В любом случае, можно поискать в каком-нибудь hex-редакторе название этой "стелс"-функции. Если названия нет, а реально она там присутствует, то точно "через ж..." сделано, а если есть, то функция должна быть в interface секции.
← →
ПсихЪ_клон (2004-06-23 15:37) [9]Название есть, его там можно обнаружить обычным поиском при открытии сего файла в ВинКоме по F3. Но кроме вышеописанного способы эти функции больше никак определить не удаётся. Вот сейчас DeDe-таки скачал, посмотрим его изнутри... (:
← →
Digitman © (2004-06-23 15:45) [10]
> ПсихЪ_клон
можно и не DeDe .. если операция разовая, то можно воспользоваться практически любым иным более-менее серьезным дизассемблером ..
получаешь листинг дизассемблированной библ-ки, ищешь свою ф-цию по имени в списке эксп.имен, смотришь размеры вх.параметров и по обращению к ним в теле ф-ции по последовательности маш.инструкций определяешь хотя бы примерное их назначение.. в большинстве случаев примерное назначение и будет конкретным
← →
Digitman © (2004-06-23 15:51) [11]есть и иной вариант, безо всяких внешних дизассемблеров
сделай тестовое приложение, которое будет вызывать эксп.ф-цию с любыми параметрами (желательно таки знать соглашение о вызове, хотя и это необязательно)
ставь брейкпойнт на точке вызова эксп.ф-ции, стартуй хост-приложение в режиме встр.отладки. лови брейкпойнт, переходи в CPU-окно и анализируй в реальном времени, какие параметры какого типоразмера ожидаются эксп.ф-цией
← →
ПсихЪ_клон (2004-06-23 16:51) [12]Всё!!! (:
DeDe - мегарулез!!! (:
Спасибо всем, кто помогал мне советами!
Разобрался!
Нужно было написать безглючную версию этого файлика. Он был весь проглюченный и без исходников, теперь всё отлично! (:
Ещё раз всем спасибо!
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.07.11;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.032 c