Сейчас на форуме: (+7 невидимых) |
![]() |
eXeL@B —› Вопросы новичков —› Как найти в ексешнике строку на кириллице в юникоде? |
Посл.ответ | Сообщение |
|
Создано: 17 марта 2014 20:13 · Поправил: VBA · Личное сообщение · #1 Помогите, пожалуйста, разобраться. Вот я сейчас написал сам для себя небольшую экспериментальную прогу на VB. Прога, разумеется, очень простая. Просто кнопка на форме. Когда щелкаем по кнопке, выскакивает MessageBox с текстом "Привет!". Вот исходник: Code:
Насколько я знаю, VB компиллирует строки в формате Юникод. Но в любом случае, должен быть какой-то инструмент для того, чтобы отыскать этот текст в файле. Разумеется, мне эта программа не нужна сама по себе, меня интересует способ нахождения текстов на кириллице в юникоде с целью крэкинга чужих программ. Но как же я буду искать такие тексты в чужих прогах, если даже в своей собственной отыскать не могу?! ![]() ![]() Вот, например, в исследуемой проге при проверке серийника выскочит сообщение на русском "Вы ввели неправильный номер". Если на английском будет сообщение, тогда все понятно, ищется легко, конечно, если нет дополнительных искусственных препятствий. А вот когда на русском сообщение, как его искать? P.S. Непонятно... Прикреплял к посту файл Project1.rar, а прикрепился какой-то 0d06_17.03.2014_EXELAB.rU.tgz, который даже я сам не смог открыть в Тотал Коммандере. Это какой-то сверхкомпактный архив автоматически создается, так что ли? ![]() ![]() |
|
Создано: 17 марта 2014 20:30 · Личное сообщение · #2 041f 0440 0438 0432 0435 0442 - Привет ----- Give me a HANDLE and I will move the Earth. ![]() |
![]() Ранг: 419.0 (мудрец), 647thx Активность: 0.46↗0.51 Статус: Участник "Тибериумный реверсинг" |
Создано: 17 марта 2014 20:50 · Личное сообщение · #3 |
|
Создано: 17 марта 2014 21:59 · Поправил: VBA · Личное сообщение · #4 plutos пишет: 041f 0440 0438 0432 0435 0442 - Привет plutos , намек понял ![]() Одним словом, ищем не string, а паттерн 1f0440043804320435044204. ![]() ELF_7719116 пишет: Есть плагин (говорят тут, аналогично http://exelab.ru/f/action=vthread&forum=5&topic=17556). Вроде даже сам видел в F0FF Olly (не уверен на 100%). Исправно прочитал ту тему (по ссылке) с самого начала до самого конца, но так и не понял, где можно взять этот чудесный плагин. Что такое "F0FF Olly" мне, честно говоря, не понятно. ![]() |
|
Создано: 17 марта 2014 22:17 · Личное сообщение · #5 наверно имелся ввиду плагин "F0FF Olly" одна из мильёна сборок олли ![]() |
|
Создано: 17 марта 2014 22:51 · Личное сообщение · #6 Vovan666 пишет: наверно имелся ввиду плагин Ultra String Reference."F0FF Olly" одна из мильёна сборок олли Понял. Спасибо за разъяснение. Попробовал установить. Версия Олле 1.10. Какая сборка, хрен ее знает ![]() ![]() Результат неутешительный ![]() ![]() Одним словом, самый надежный способ - поиск по паттернам, как посоветовал plutos. ![]() |
|
Создано: 17 марта 2014 23:02 · Личное сообщение · #7 |
|
Создано: 17 марта 2014 23:23 · Поправил: VBA · Личное сообщение · #8 sendersu пишет: Hiew все ище http://prntscr.com/31ovxy Ну ты прям телепатишь! ![]() Я вот тоже сижу тут и вспоминаю, что когда-то давным-давно (точнее, лет 10 тому назад) я уже собирался серьезно заняться крэкингом (да так и не собрался ![]() А сейчас вот тоже попытался найти в хиеве, но не смог. Нет там такой опции. Это HIEW 8.15_W32. ![]() Или может быть это только в ранних версиях хиева было, а потом он по каким-то причинам эту опцию убрал? У тебя какая версия? А, всё, нашел, вспомнил, как это делается! ![]() ![]() ![]() |
|
Создано: 17 марта 2014 23:31 · Поправил: Kindly · Личное сообщение · #9 VBA, FLEXHEX рулит. ![]() Простенький HxD находит, но в силу своей простоты не отображает дополнительную кодировку. WinHEX в обломе (хотя там несколько Unicode кодировок можно выставить, но по дефолту не находит точно). ----- Array[Login..Logout] of Life ![]() |
|
Создано: 17 марта 2014 23:44 · Поправил: VBA · Личное сообщение · #10 |
|
Создано: 18 марта 2014 00:47 · Поправил: VBA · Личное сообщение · #11 Если кому интересно, сейчас обнаружил способ, как сразу в нескольких файлах искать русский юникод. Значит так, 1. Запускаем Тотал Коммандер, Инструменты > Поиск файлов... Место поиска: та папка, в которой будем просматривать файлы. Отмечаем чекбоксы "С текстом" и "UTF-16". Вписываем текст, который будем искать. Жмем "Начать поиск". ![]() 2. Выделяем по очереди каждый найденный файл и жмем "Просмотр". ![]() ![]() 3. Видим что-то такое. ![]() 4. Выбираем в меню Вид > UTF16. ![]() 5. Правка > Поиск... Вводим искомый текст. ![]() Этот файл маленький, поэтому искомый текст сразу бросается в глаза безо всякого поиска ![]() Ну а дальше искомый текст благополучно находится, вот только пропатчить прямо здесь же, увы, не получится. ![]() Короче говоря, таким образом определяем, в каких файлах встречается нужный нам текст, запоминаем имена, а потом поочередно открываем их в хиеве и безжалостно патчим! ![]() ![]() |
|
Создано: 18 марта 2014 01:04 · Поправил: LinXP · Личное сообщение · #12 |
|
Создано: 18 марта 2014 01:41 · Поправил: VBA · Личное сообщение · #13 LinXP, хорошие проги, полезные. Буду их иметь в виду для работы с юникодом. Hex Workshop я давно уже видел среди прочих шестнадцатеричных редакторов, выложенных на сайте, но их там так много, что глаза разбегаются. Ну раз ты его рекомендуешь для работы с русским юникодом, то сейчас его скачаю (http://exelab.ru/download.php?action=get&n=ODc1) и буду использовать. Все-таки работать с ним наверняка удобнее, чем с хиевом ![]() И вторая прога тоже выглядит очень вкусно. Сейчас скачал ее по твоей ссылке, буду использовать. Спасибо! Плюс за мной. Сейчас пока не разрешают. Говорят, потерпи 24 часа ![]() ![]() |
![]() Ранг: 419.0 (мудрец), 647thx Активность: 0.46↗0.51 Статус: Участник "Тибериумный реверсинг" |
Создано: 18 марта 2014 07:38 · Личное сообщение · #14 Между прочим, если знаешь саму строку точно, то найти ее можно и в оле 2 без плагинов. В карте памяти, перед образом Ctrl+B (Search в меню) и в Unicode вводишь(на русском языке). ![]() |
|
Создано: 18 марта 2014 08:30 · Личное сообщение · #15 Вы все забываете о том что русские буквы будут отображаться олькой в том случае если шрифт стоит с поддержкой кириллиц ну и не забываем в опция ольки ставить галочку Stringd>Allow Diacritical Symbols ----- Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли. ![]() |
|
Создано: 18 марта 2014 17:34 · Поправил: Kindly · Личное сообщение · #16 |
|
Создано: 18 марта 2014 17:40 · Личное сообщение · #17 |
|
Создано: 18 марта 2014 19:36 · Поправил: kunix · Личное сообщение · #18 Kindly, "разделитель" - это старший байт двухбайтного целого числа, кодирующего символ. Так вышло, что русские буквы кодируются числами 0x04YY. ![]() |
|
Создано: 18 марта 2014 23:26 · Личное сообщение · #19 VBA Конечно программа коммерческая но всеже, на всякий случай, в VB Decompiler начиная с одной из предыдущих версий реализовано несколько видов поиска в HEX (включая UTF-8) а также редактирование Unicode строк в стринг референсах без ручного конвертирования в байты юникода. PS: Напомню, что декомпилятор не обязательно покупать за деньги. Лицензию можно получить написав нужный сообществу плагин или сделав перевод интерфейса или документации на отсутствующий язык (в данный момент требуется итальянский и документация на французском). ![]() ----- Никогда не делай то, что возможно. Стремись сделать то что невозможно впринципе! ![]() |
|
Создано: 19 марта 2014 01:33 · Поправил: VBA · Личное сообщение · #20 GPcH Я бы не хотел, чтобы у коллег по форуму сложилось ошибочное впечатление, что меня интересует только крэкинг программ, написанных на VB. Совсем наоборот! ![]() ![]() А почему я все-таки именно на VB написал ту самую пробную программу, с которой начал эту ветку? Да просто я других языков не знаю ![]() ![]() |
|
Создано: 19 марта 2014 11:57 · Личное сообщение · #21 VBA Тут еще такой момент. Юникод в строках в чистом виде чаще всего есть именно в VB5/6 если брать в рассчет нативные программы. В Delphi юникод стал использоваться для хранения строк как основной стандарт сравнительно недавно. В Visual C++ только версия студии 2003 стала считать DBCS как deprecated. Также Ultra String Reference о котором тут писалось выше - вполне себе хороший плагин! Насчет же VB - очень не советую его изучать и на нем что-то писать сейчас. Язык слишком устарел. Обрати внимание на Delphi последних версий или QT. Эти две среды активно развиваются и постоянно расширяют возможности си и паскаля. ----- Никогда не делай то, что возможно. Стремись сделать то что невозможно впринципе! ![]() |
|
Создано: 19 марта 2014 13:23 · Личное сообщение · #22 |
|
Создано: 19 марта 2014 15:17 · Поправил: VBA · Личное сообщение · #23 GPcH пишет: Также Ultra String Reference о котором тут писалось выше - вполне себе хороший плагин! Не, ну так вроде, мы в той ветке выяснили, что OllyDbg 2.01 безо всяких плагинов кириллицу находит. Тогда зачем мне этот плагин для первой версии? А кроме того, я с его помощью так и не смог отыскать свой привет ![]() ![]() GPcH пишет: Насчет же VB - очень не советую его изучать и на нем что-то писать сейчас. Язык слишком устарел. Обрати внимание на Delphi последних версий или QT. Эти две среды активно развиваются и постоянно расширяют возможности си и паскаля. А вот за это большое реальное спасибо! Я сейчас как раз стою на перекрестке и не знаю, какую дорогу выбрать. Ну то что VB изучать глубже не имеет смысла, это понятно. У него большой минус, что нельзя делать ассемблерные вставки без дополнительных шаманских танцев с бубном. Переходить на си или паскаль? Но это значит начинать с полного нуля. Трудновато... Слушай, а ты мне посоветуй, пожалуйста, как специалист в этой области. Вот я тут совершенно случайно наткнулся на язык Power Basic. Самое интересное, что я когда-то на нем даже немного пробовал писать еще под MS-DOS. А потом перешел на VB, VBA и совершенно забыл про существование этого языка, был абсолютно уверен, что он так и умер в досе, как и все прочие многочисленные диалекты бэйсика. Но не тут-то было! Оказывается он выжил благодаря тому, что его автор Bob Zale оказался, как я понимаю, трудоголиком, фанатиком своего дела, ну приблизительно, как Стив Джобс. И тоже как Джобс "сгорел на работе", умер 3 года тому назад. Как я понимаю, он поставил перед собой задачу реабилитировать бэйсик в глазах программистского сообщества. Ну типа, все говорят, что бэйсик очень медленный, а я вам докажу, что на нем можно писать очень быстрые программы, все говорят, что программы на бэйсике получаются очень большими по размеру, а я вам докажу, что они могут быть очень компактными. Ну и в принципе, доказал (хотя, конечно, сейчас это уже большим достоинством не считается, как я понимаю): http://ru.wikipedia.org/wiki/PowerBASIC Я на этом языке (в его современном виде) уже попробовал немного писать. Главное, приятно удивило то, что можно очень легко делать ассемблерные вставки. Ну так может быть мне на этом языке и сосредоточиться, а не начинать с нуля в си или паскале, что посоветуешь? r_e пишет: Надо же сколько приблуд для поиска. Подкину еще один методFar - Alt+F7 (Search) - Containing text: привет - Using code page: all standard code pages - OK Это Far менеджер? Но я уже вроде привык к Тотал Коммандеру, да и кириллический юникод в файлах Тотал Коммандер, как мы выяснили в этой ветке, вполне сносно находит. ![]() |
|
Создано: 19 марта 2014 18:03 · Личное сообщение · #24 |
|
Создано: 19 марта 2014 18:47 · Поправил: VBA · Личное сообщение · #25 |
![]() |
eXeL@B —› Вопросы новичков —› Как найти в ексешнике строку на кириллице в юникоде? |