Консультация № 192211
22.12.2017, 16:24
0.00 руб.
1 9 0
Здравствуйте, уважаемые эксперты! Прошу вас ответить на следующий вопрос:

Делаю реверс написанной мной программы, её пароль "ап", при запуске программы для трассировки ввел пароль "rrr"(рис 1),
Пароль "ап" (43F0430h) (рис 2), функция сравнения (рис 3).

Если делать программу где строка задается отдельно и на английском языке, а потом производиться сравнение строк
Код:
str1:='password'
if (str1=str2) then ....

то пароль в Ida виден сразу.

В данном случае строка задается в условии
Код:
if(str1="ап")


Как в такой ситуации узнать пароль?
Объясните пожалуйста каким образом идет сравнение?

Прикрепленные файлы:
5dfde7542bcd816cf03842f8a6318afcecd225f5.rar

Обсуждение

давно
Посетитель
7438
7205
22.12.2017, 17:57
общий
Адресаты:
Сдается мне, ваши строки в кодировке UNICODE
Об авторе:
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен
давно
Посетитель
401251
75
23.12.2017, 10:08
общий
Да они в Unikode. И у меня не получается разобраться. В какую сторону копать?
давно
Посетитель
7438
7205
23.12.2017, 13:28
общий
Адресаты:
Как ни парадоксально не звучит, в сторону UNICODE
Разберитесь с кодировкой, символы в ней двубайтные, кириллица в ней находится в адресах 0x0400-0x04ff
Хотя бы запустите стандартную "Таблицу символов" и посмотрите коды символов.
Об авторе:
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен
давно
Старший Модератор
31795
6196
23.12.2017, 16:50
общий
Адресаты:

Цитата: Caesar
Как в такой ситуации узнать пароль?

Недостатком такой защиты - есть ввод строки.
Строка вводится, значит она должна будет размещена в памяти, к которой потом будет обращаться функция сравнения. Ввели пароль, смотрите куда его поместила программа, начинаете следить за этим адресом. При обращении функции сравнения к нему, нужно обратить внимание с чем введенная строка сравнивается. Это и будет эталонный пароль.

Найдите в сети книгу К.Касперски "Техника и философия хакерских атак, записки мыша", в ней расписаны и проанализированы основные виды защит ПО.
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

давно
Посетитель
7438
7205
26.12.2017, 16:35
общий
Адресаты:
Разобрались или нет?
Об авторе:
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен
давно
Посетитель
401251
75
27.12.2017, 05:38
общий
Да разобрался. Там все просто было оказывается, а я пару дней провозился.
Я не понял только момента. Пароль храниться в виде
Пр: 430 0 44Fh где 43 и 44 это ряд в таблице символов unicode UTF-16, а 0 и F это номер символа в ряду.
На что указывает 0 по середине - это разделитель?
Или запись должна быть такой 0430 044F, и первый ноль опущен (тогда запись полная 2 байта)
давно
Посетитель
401251
75
27.12.2017, 06:39
общий
27.12.2017, 14:39
Подскажите где можно найти cracme для разбора процесса обновления?
А так же где достать cracme, которые описываются в книге К.Касперски "Техника и философия хакерских атак, записки мыша"
давно
Посетитель
7438
7205
27.12.2017, 11:00
общий
Адресаты:
Или запись должна быть такой 0430 044F, и первый ноль опущен
Именно так
Об авторе:
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен
давно
Старший Модератор
31795
6196
27.12.2017, 14:55
общий
Адресаты:
Цитата: Caesar
где достать cracme, которые описываются в книге

тут
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

Форма ответа