Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2002.10.17;
Скачать: [xml.tar.bz2];

Вниз

Как получить список имен процедур DLL   Найти похожие ветки 

 
Севостьянов Игорь   (2002-09-04 22:33) [0]

Как получить список имен процедур DLL, например, так как это делает Dependency Walker от MS ( http://www.dependencywalker.com/)?


 
Anatoly Podgoretsky   (2002-09-04 22:34) [1]

TDump


 
Севостьянов Игорь   (2002-09-04 22:36) [2]

Нет - мне надо ... программно ...


 
ggrisha   (2002-09-05 09:36) [3]

Посмотри на http://www.firststeps.ru/ там был готовый пример правда на с++


 
Игорь Шевченко   (2002-09-05 10:46) [4]

Севостьянов Игорь © (04.09.02 22:36)


> Нет - мне надо ... программно ...

Можно глупый вопрос - зачем ?


 
Толик   (2002-09-05 11:08) [5]

http://delphibase.endimus.ru/?action=viewfunc&topic=filedll&index=1


 
Севостьянов Игорь   (2002-09-05 11:24) [6]

>>ggrisha © (05.09.02 09:36)
Спасибо - Попробую найти

>>Игорь Шевченко © (05.09.02 10:46)
Можно глупый вопрос - зачем ?

Понимаешь есть такие имена процедур в dll или bpl не важно
@Borlndmm@SysGetMem$qqri
Так вот мне хочется разобраться с тем как получить список (универсальность мать его так) я не знаю как она будет обзыватся после компиляции пакета Delphi

Ну а дальше разбираться в получении нормальных имен функций

таких как в данном примере SysGetMem


Q: How do I view the parameter and return types of a function?

A: For most functions, this information is simply not present in the module. The Windows’ module file format only provides a single text string to identify each function. There is no structured way to list the number of parameters, the parameter types, or the return type. However, some languages do something called function "decoration" or "mangling", which is the process of encoding information into the text string. For example, a function like int Foo(int, int) encoded with simple decoration might be exported as _Foo@8. The 8 refers to the number of bytes used by the parameters. If C++ decoration is used, the function would be exported as ?Foo@@YGHHH@Z, which can be directly decoded back to the function"s original prototype: int Foo(int, int). Dependency Walker supports C++ undecoration by using the "Undecorate C++ Functions Command".


 
Севостьянов Игорь   (2002-09-05 11:33) [7]

>>Толик © (05.09.02 11:08)

Спасибо это вроде оно...

Еще идеи есть ?


 
Игорь Шевченко   (2002-09-05 12:38) [8]

Если объявить
exports
имя_процедуры

в пакете, то ее имя будет без всяких изменений.

А для того, чтобы провести undecoration (или demangling) имени, можно воспользоваться tdump, который показывает преобразованные имена. В инете была программа по преобразованию имен, где-то на сайте borland. Точных координат не помню.

С уважением,


 
Севостьянов Игорь   (2002-09-05 13:22) [9]

Мне как и надо программно (после получения списка) получить
корявые названия и нормальные

undecoration name = normal name

Грубо говоря, я знаю нормальное название, но не знаю как оно будет выглядеть в "корявом" виде... Каждый раз заглядывать в TDump не "универсально"



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2002.10.17;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.009 c
14-56282
Bboy
2002-09-23 12:35
2002.10.17
Какой переводчик лучше поставить???


1-56095
Феликс
2002-10-08 21:07
2002.10.17
А почему так долго?


3-55915
alf_
2002-09-26 21:28
2002.10.17
DBGrid


3-55943
alenka
2002-09-22 23:27
2002.10.17
Хорошая книга по БД


3-55974
antoniz
2002-09-25 16:06
2002.10.17
Как перхватить соощение об ошибке ADO





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