Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
6-1084770253
Graf
2004-05-17 09:04
2004.07.11
Работа TCP под ДОС


3-1087459727
serg128
2004-06-17 12:08
2004.07.11
Как получить значение вычислимого поля?


3-1086861049
GanibalLector
2004-06-10 13:50
2004.07.11
IBDataSet


14-1087932871
gn
2004-06-22 23:34
2004.07.11
сегодня получил письмо чуть бутербродом не подавился


1-1087997689
XeLax
2004-06-23 17:34
2004.07.11
преобразовать строку





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский