Точная сигнатура экспортируемой функции dll - узнать

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Eugenio
Постоялец
Постоялец
 
Сообщения: 393
Зарегистрирован: 08.05.2004 (Сб) 13:27
Откуда: Ekaterinburg

Точная сигнатура экспортируемой функции dll - узнать

Сообщение Eugenio » 01.10.2005 (Сб) 11:13

Собсна, сабж.
имя так декорировано, что вообще ни хрена не разберешь. Кроме того, что у нее за calling convention мне не известно.
А хотелось бы поюзать..
Есть ли у меня вопрос? У меня всегда есть вопрос

gaidar
System Debugger
System Debugger
 
Сообщения: 3152
Зарегистрирован: 23.12.2001 (Вс) 13:22

Сообщение gaidar » 01.10.2005 (Сб) 11:19

Dependencies Walker на сайте www.microsoft.com поищи. Поможет.
The difficult I’ll do right now. The impossible will take a little while. (c) US engineers in WWII
I don't always know what I'm talking about, but I know I'm right. (c) Muhammad Ali

Eugenio
Постоялец
Постоялец
 
Сообщения: 393
Зарегистрирован: 08.05.2004 (Сб) 13:27
Откуда: Ekaterinburg

Сообщение Eugenio » 01.10.2005 (Сб) 11:32

gaidar писал(а):Dependencies Walker на сайте www.microsoft.com поищи. Поможет.

Это тот, что в составе VStudio? А чем он поможет - выводит те же декорированные имена. Тут и dumpbin'ом можно обойтись..
Или про другое речь?
Есть ли у меня вопрос? У меня всегда есть вопрос

gaidar
System Debugger
System Debugger
 
Сообщения: 3152
Зарегистрирован: 23.12.2001 (Вс) 13:22

Сообщение gaidar » 01.10.2005 (Сб) 11:40

В последних версиях была кнопочка undecorate.
The difficult I’ll do right now. The impossible will take a little while. (c) US engineers in WWII
I don't always know what I'm talking about, but I know I'm right. (c) Muhammad Ali

Eugenio
Постоялец
Постоялец
 
Сообщения: 393
Зарегистрирован: 08.05.2004 (Сб) 13:27
Откуда: Ekaterinburg

Сообщение Eugenio » 01.10.2005 (Сб) 11:53

Das ist fantastisch. Спасибо, gaidar!
А вот сразу интересно стало, а как он параметры функций разбирает?
Почему-то думал, что в таблице экспорта только адрес и имя функции, и всё..
Есть ли у меня вопрос? У меня всегда есть вопрос

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 01.10.2005 (Сб) 12:22

Eugenio, декорация - это и есть закодированные параметры функций.
Изображение

Eugenio
Постоялец
Постоялец
 
Сообщения: 393
Зарегистрирован: 08.05.2004 (Сб) 13:27
Откуда: Ekaterinburg

Сообщение Eugenio » 01.10.2005 (Сб) 14:09

Понятно. Теперь припоминаю, в свое время мне объяснили, что для __stdcall-функций имя декорируется так (MS VC++):
_<functionname>@<число байтов, занимаемых параметрами>.
А тут что-то другое, символ "@" повторяется несколько раз, запутался я, короче.
Есть ли у меня вопрос? У меня всегда есть вопрос

Eugenio
Постоялец
Постоялец
 
Сообщения: 393
Зарегистрирован: 08.05.2004 (Сб) 13:27
Откуда: Ekaterinburg

Сообщение Eugenio » 01.10.2005 (Сб) 14:16

а если бы был def-файл с разделом Exports,
то как бы выглядели паарметры, ведь насколько припоминаю, при этом декорирование не используется?
Есть ли у меня вопрос? У меня всегда есть вопрос

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 01.10.2005 (Сб) 14:36

Тогда были бы только имена.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Eugenio
Постоялец
Постоялец
 
Сообщения: 393
Зарегистрирован: 08.05.2004 (Сб) 13:27
Откуда: Ekaterinburg

Сообщение Eugenio » 01.10.2005 (Сб) 15:19

Понятно.
Функция, к слову, оказалась именно тем, что надо. Я по названию подозревал :)
Спасибо всем
Есть ли у меня вопрос? У меня всегда есть вопрос


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот, SemrushBot, Yandex-бот и гости: 37

    TopList