Помогите, рассматриваю строку в дисассемблере(IDA 4.0.4.362) и дебаггере она там представлена в виде каких - то "левых" символов совсем не таких как в исходной строке (я изучаю свою прогу). Строка в исходнике на С++ объявлена как LPTSTR. Помогите увидеть её правильной =) P.S.Если вопрос глупый, посьба не прикалываться, а помочь. Плиз
Возможно такая древняя ида и не понимает юникод, но все более-меннее свежие детектят автоматом. "Встань" на свои "левые" символы и нажми 'u' (undefine) - получишь байтовое представление строки. Код (Text): .data:00403000 ;org 403000h .data:00403000 db 61h ; a .data:00403001 db 6Eh ; n .data:00403002 db 73h ; s .data:00403003 db 69h ; i .data:00403004 db 0 .data:00403005 db 75h ; u .data:00403006 db 0 .data:00403007 db 6Eh ; n .data:00403008 db 0 .data:00403009 db 69h ; i .data:0040300A db 0 .data:0040300B db 63h ; c .data:0040300C db 0 .data:0040300D db 6Fh ; o .data:0040300E db 0 .data:0040300F db 64h ; d .data:00403010 db 0 .data:00403011 db 65h ; e .data:00403012 db 0 .data:00403013 db 0 .data:00403014 db 0 .data:00403015 align 200h .data:00403015 _data ends "Встань" в начало строки. Если строка ansi, жми 'a' или Edit -> Strings -> ASCII. Если строка UNICODE, жми Alt+A и выбирай Unicode или Edit -> Strings -> Unicode. Должно получиться такое: Код (Text): .data:00403000 ;org 403000h .data:00403000 aAnsi db 'ansi',0 .data:00403005 aUnicode: .data:00403005 unicode 0, <unicode>,0 .data:00403015 align 200h .data:00403015 _data ends
по моему имеется в виду перекодировка нелатинских символов если это однобайтовый charset, то покопайся в idagui.cfg там есть таблицы перкодировки правда мой опыт показыает , что легче плюнуть и искать строки в hiew а потом просто назвать строку как - то осмысленно
Спасибо всем за ответы, сейчас начну юзать её как вы научили. Строка действительно кирилица, а вот заменить на другую я её никак не могу. Ещё раз спаибо за совет, всем своим знакомым порекомендую такой доброжелательный сайт