| eXeL@B —› Вопросы новичков —› Читабельные имена функций в MSVCP (ollydbg) | 
| Посл.ответ | Сообщение | 
| 
 | 
Создано: 26 апреля 2011 15:27  · Личное сообщение · #1 Существует ли способ в ольке привести что то типа Code: 
 К более читабельному виду?   | Сообщение посчитали полезным: kolega | 
| 
 | 
Создано: 26 апреля 2011 15:53  · Личное сообщение · #2 Подключать сигнатуры от IDA с помощью плагинов (например, Godup)   | Сообщение посчитали полезным: Tunnel Rat | 
| 
 | 
Создано: 26 апреля 2011 19:02  · Личное сообщение · #3 "Debugging Options" -> вкладка "Addresses" -> флаг "Demangle symbolic names"   | Сообщение посчитали полезным: borisuy, Tunnel Rat | 
| 
 | 
Создано: 26 апреля 2011 19:15 · Поправил: Isaev  · Личное сообщение · #4  | 
| 
 | 
Создано: 27 апреля 2011 09:15 · Поправил: Coderess  · Личное сообщение · #5  | 
| 
 | 
Создано: 27 апреля 2011 13:53  · Личное сообщение · #6 Coderess mapimp работает только с map-ами, сигнатуры не могёт.   | Сообщение посчитали полезным: Coderess | 
| 
 | 
Создано: 27 апреля 2011 16:29  · Личное сообщение · #7 Когда то понадобилось чтобы быстро имена функции из иды подгрузить в олю накидал скрипт для иды, который генерит скрипт для оли (плагин OllyScript). может поможет.   c6f4_27.04.2011_EXELAB.rU.tgz - ida2olly.idc
  | Сообщение посчитали полезным: Tunnel Rat | 
| 
 | 
Создано: 28 апреля 2011 20:38  · Личное сообщение · #8 Эх, если бы всё было так просто, как вы тут описываете ![]() В IDA те же зайцы, только вид сбоку. Пример листинга в ИДЕ, над которым я мучаюсь Code: 
 Примененные сигнатуры: Code: 
 Кстати, библа 32-битная - как ИДА умудрилась найти функи из "MFC 7-9 64bit", которую я подсунул ей от отчаяния и почему дважды применённая сигнатура ("Microsoft VisualC 2-9/net runtime") показывает разные результаты - это я думаю тема отдельного разговора. Тем не менее нужно где-то найти нормальные сигны на MSVCP90, MFC90 и т.д. В гугле нет ничего, поэтому вопрос-просьба к аксакалам форума - подайте, кто что может, а то мочи уже нет разгребать все эти "&MSVCP90.??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z>" ![]()  | 
| 
 | 
Создано: 28 апреля 2011 21:04  · Личное сообщение · #9 Kiev78 чет я не пойму над чем вы тут все бьетесь и причем тут сигнатуры к майкрософтовскому деманглу? ну вот я взял в иде это ??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ и переименовал первую попавшую функцию и плучил public: __thiscall std::basic_string<wchar_t, struct std::char_traits<wchar_t>, class std::allocator<wchar_t>>::~basic_string<wchar_t, struct std::char_traits<wchar_t>, class std::allocator<wchar_t>>(void) это называется демангл ![]()  | 
| 
 | 
Создано: 28 апреля 2011 21:09  · Личное сообщение · #10  | 
| 
 | 
Создано: 28 апреля 2011 21:51 · Поправил: Kiev78  · Личное сообщение · #11 Что такое демангл я знаю (или по крайней мере могу уточнить для себя в гугле). Проблема в том, что по такому названию ф-ции непонятно, что она делает. Максимум, о чем я могу догадаться, это что функция работает со строкой (строками - если судить по basic_string), и что какие-то из передаваемых аргументов - юникодные символы (если судить по wchar_t) да и то я не уверен. Где можно найти инфу об этих ф-циях (что они делают, что и как им передается, что и как они возвращают, и есть у них более говорящие названия). У меня есть кое-что по MFC (типа "MFCFAQ.CHM", "MFC - внутренний мир" Румянцева), но там рассматривается MFC с точки зрения программиста, мне же хотелось бы взглянуть на него с точки зрения исследователя программ. Может вы посоветуете какую литературу (если таковая имеется). То же самое касается MSVCP90 - где к примеру взять информацию о функции public: __thiscall std::basic_string<wchar_t, struct std::char_traits<wchar_t>, class std::allocator<wchar_t>>::~basic_string<wchar_t, struct std::char_traits<wchar_t>, class std::allocator<wchar_t>>(void) - что она делает и т.д. В общем жду от вас полезных ссылок по этой теме - я думаю это будет интересно не только мне. Ну и естественно спасибо за помощь (любую). ![]()  | 
| 
 | 
Создано: 28 апреля 2011 22:05  · Личное сообщение · #12 что бы понимать что это за функция public: __thiscall std::basic_string<wchar_t, struct std::char_traits<wchar_t>, class std::allocator<wchar_t>>::~basic_string<wchar_t, struct std::char_traits<wchar_t>, class std::allocator<wchar_t>>(void) нужно быть как миниму программистом, и разбиратся что такое std в противном случае я не вижу смысла знать вам что и зачем это такое без знания программирования, обьяснить вам не представляется возможным ps ну можете скачать MSVC, и поскать в хидерах ![]()  | 
![]() Ранг: 419.0 (мудрец), 647thx Активность: 0.46↗0.51 Статус: Участник "Тибериумный реверсинг"  | 
Создано: 28 апреля 2011 22:31  · Личное сообщение · #13  | 
| 
 | 
Создано: 28 апреля 2011 22:41 · Поправил: gena-m  · Личное сообщение · #14 как ИДА умудрилась найти функи из "MFC 7-9 64bit", которую я подсунул ей от отчаяния ИДА может найти и не такое, если ей подсовывать все подряд, а с сигнатурами лучше вообще не добавлять, если точно не уверены что эти функции там есть, у работы с сигнатурами своя "специфика". Тем не менее нужно где-то найти нормальные сигны на MSVCP90, MFC90 и т.д Их не нужно искать, а нужно делать самому или попросить у кого они есть, но это отдельная тема, в которой тоже много нюансов, можете почитать в топике , возможно что то полезное найдете по изготовлению сигнатур, но в данном случае они вам не помогут. ----- Надежда - есть худшее из зол, ибо она продлевает наши страдания.© Ф. Ницше ![]()  | 
| 
 | 
Создано: 29 апреля 2011 12:57  · Личное сообщение · #15  | 
| 
 | 
Создано: 30 апреля 2011 03:14  · Личное сообщение · #16  | 
| 
 | 
Создано: 11 мая 2011 20:19  · Личное сообщение · #17 reversecode пишет: сырцы stl(std), mfc открыты Где и кем они открыты? Можно ли их глянуть? А то гугль не в курсе. Например вот как выглядит код одной из функций MSVC90: Code: 
 Что это за функция такая, которая возвращает 1 в AL, если дворд начиная с 14h байта какого-то массива (указатель на который передается через ECX) равен нулю. Как эта функция называется и в чём её смысл? Всё что я хотел, так это узнать есть ли какой нибудь аналог МСДН для этих функций? ![]()  | 
| 
 | 
Создано: 11 мая 2011 21:08  · Личное сообщение · #18  | 
| 
 | 
Создано: 12 мая 2011 00:10 · Поправил: DenCoder  · Личное сообщение · #19 Kiev78 пишет: Что это за функция такая, которая возвращает 1 в AL Обыкновенная булева функция Kiev78 пишет: если дворд начиная с 14h байта какого-то массива Не массива, а класса! Менее вероятно, что структуры, потому как через ecx обычно производится доступ к полям класса. Посмотри, что по адресу в ecx. Если первые несколько полей указывают на такие же классы, значит это действительно какой-то ассоциативный контейнер (одна из реализаций list, map, vector, stack, может CString, CStringList...). Также найди таблицу методов, реверс которых может помочь в определении. А вообще у иды должны быть флирты на MFC. ----- IZ.RU ![]()  | 
| eXeL@B —› Вопросы новичков —› Читабельные имена функций в MSVCP (ollydbg) | 








 





 Для печати