Сейчас на форуме: zds, kris_sexy (+6 невидимых)

 eXeL@B —› Крэки, обсуждения —› .net - хранение строк
Посл.ответ Сообщение

Ранг: 0.4 (гость)
Активность: 0=0
Статус: Участник

Создано: 02 ноября 2006 17:38 · Поправил: Riz
· Личное сообщение · #1

Доброго времени суток, некоторое время ломал простенькую програмку нарисанную на VB.net - требуемого результата удалось добится, но хочется сделать последний штрих - подредактировать несколько надписей в программе.

IDA выдаёт строки, вроде
ldstr "текст"

Гугление показало, что строка сохранена в неком юникодном потоке(в виде блоба), а потом грузится по идентификатору(смещению?). Собственно вопрос - как бы эти строки подредактировать. Просто просмотр в hex никаких надписей не выявляет, как заставить ИДУ сказать откуда она берёт строки - тоже не знаю. Очень надеюсь на объяснение или линк на мануал. Спасибо.

Упс - пролетел мимо нужной ветки форума, прошу прощения.



Ранг: 56.4 (постоянный)
Активность: 0.020
Статус: Участник

Создано: 02 ноября 2006 23:29
· Личное сообщение · #2

Просмотр в HEX даст результат если будеш смотреть в Unicode. Это справедливо, если не применен обфускатор с шифрованием строк.



Ранг: 0.4 (гость)
Активность: 0=0
Статус: Участник

Создано: 03 ноября 2006 01:48
· Личное сообщение · #3

Смотрю в юникоде, всё равно ничего не видно. Ни русских ни англ. надписей(а они то должны быть точно видны? даже чисел нет). Смотрю и winhex и просто блокнотом в режиме открытия юникода(ну да, криво - просто проверял). Обфускация по идее никакой нет, по крайней мере никакого кода отвечающего за преобразование строк нету - не тот уровень программы. Ида откуда-то берёт эти строки, можно ли её заставить показать откуда(не думаю что это какие-то сложные результаты анализа)? Т.к. после команды места явно недостаточно для хранения текста. И самое странное в списке строк в иде - пусто. Ну и декомпилятор нетовский эти строки прекрасно видит.



Ранг: 56.4 (постоянный)
Активность: 0.020
Статус: Участник

Создано: 03 ноября 2006 02:42
· Личное сообщение · #4

Сборку прицепи, если небольшая или положи куданить...



Ранг: 56.4 (постоянный)
Активность: 0.020
Статус: Участник

Создано: 03 ноября 2006 02:56
· Личное сообщение · #5

Показать офсеты строк тебе поможет RemoteSoft .NET Explorer, правда в смещение в файле все равно придется немного посчитать, но тем не менее...
Еще попробуй CFF Explorer III - он тоже покажет тебе много интересного, включая смещения (в нем еще и калькулятор RVA->offset есть).



Ранг: 0.4 (гость)
Активность: 0=0
Статус: Участник

Создано: 03 ноября 2006 03:27
· Личное сообщение · #6

Долгим вглядыванием в код удалось найти все строки, но они странно записаны, 00 между каждой буквой. С чего-бы такое?



Ранг: 352.4 (мудрец), 4thx
Активность: 0.150
Статус: Участник
retired

Создано: 03 ноября 2006 03:37
· Личное сообщение · #7

Riz пишет:
Долгим вглядыванием в код удалось найти все строки, но они странно записаны, 00 между каждой буквой. С чего-бы такое?

unicode



Ранг: 0.4 (гость)
Активность: 0=0
Статус: Участник

Создано: 03 ноября 2006 03:44
· Личное сообщение · #8

Хм, да - действительно. Туплю.

Тогда последний - самый глупый вопрос, WinHex не показывает юникод, чем бы смотреть тогда?



Ранг: 56.4 (постоянный)
Активность: 0.020
Статус: Участник

Создано: 03 ноября 2006 04:01
· Личное сообщение · #9

WinHex по определению показывает только циферки, поэтому не совсем понятно что ты хочешь от него добиться... Если нужен поиск по коду, то он (WinHEX), поддерживает поиск Unicode строк в коде. Ну а если хочеш чего-то большего попробуй тулзы которые я говорил.


 eXeL@B —› Крэки, обсуждения —› .net - хранение строк
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати