|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Май 13, 2004 01:42:11 Некрые проги вызывают функции не по простому их имени а по какойто фигне наз. Decorate: напримерclassCDataPathProperty@CDataPathProperty@@2UCRuntimeClass@@B и как потом это понимать? разясните от чего оно зависит stdcall _cdecl или еще чего? как его сделать Undecorate ? |
|
|
Дата: Май 13, 2004 01:57:10 · Поправил: Funbit ты про mangled names ? расшифровывать их ида, к примеру, умеет, сам алгоритм расшифровки я не знаю, поищи где-нибудь в гугле, может найдешь про stdcall, _cdecl и др тут почитай http://xtin.km.ru/view.shtml?id=136 |
|
|
Дата: Май 13, 2004 01:57:17 · Поправил: Funbit p.s> надо сделать дизабл кнопки Post после нажатия, чтобы избежать 2х дубликатов постов.. |
|
|
Дата: Май 13, 2004 02:02:07 если ты знаешь, то есть соглашения о передаче параметров: stdcall, fastcall, cdecl... А фигня, как ты ее назвал, называется замангливание имен, в частности то что ты привел, если мне не изменили глаза конвенция языка C (cdecl). Такое имя удобно для компилера, но не очень удобно для тебя. Если возмешь IDA и откроешь какой-нить файл со стандартными сишными функциями внутри, то увидишь именно это, там же в IDA есть опция DEMANGLE NAMES, выбрав которую ты увидишь более удобочитаемые имена. А вообще поэксперементируй с компилиром сей, возьми функцию и задавай ей разные параметры, так ты поймешь, что значит каждая фигня в ее имени. |
|
|
Дата: Май 13, 2004 02:15:15 Значе если объявить в масме процедуру типа С то это будет сdecl ? |
|
|
Дата: Май 13, 2004 02:16:38 zzzyab Ага |
|
|
Дата: Май 13, 2004 02:47:40 Мда... Хоть кто-нибудь из вас, ребята, по форуму искал перед тем как спросить? Если нет - приобретайте такую привычку. Поиск по слову "undname" |
|
|
Дата: Май 13, 2004 03:04:21 А типа я знал, я искал по "Decorate" так оно называется в моем хелпе. |
|
|
Дата: Авг 25, 2004 01:54:43 Вот и я тут поизвращаться решил. Есть у меня .OBJ файл с такими вот декорироваными именами. И есть либа .LIB и куда запхать всё это: когда obj скармливаешь LINK.exe он давится и говорит, что unresolved external - и поделом мне, ведь там ф-я, для примера, ZwClose@4 называется __imp_?ZwClose@@YGJPAX@Z. И чё делать? И ещё: сишный код большой - легче скомпилить в свою lib, а потом юзать в масме. Мож чё придумать шоб не декорировал? Ведь живут же люди как-то?! С уважением PPS |
|
|
Дата: Авг 25, 2004 05:46:05 PavPS А ты FAQ, вообще, читал? |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.045 |