Сейчас на форуме: ManHunter, Magister Yoda, rtsgreg1989 (+10 невидимых)

 eXeL@B —› Основной форум —› Исследование защиты Anti-Eyesstrain 2.72
Посл.ответ Сообщение

Ранг: 0.0 (гость)
Активность: 0.010
Статус: Участник

Создано: 11 июня 2005 15:52
· Личное сообщение · #1

Прога для снятия зрительного напряжения. Весит 1 метр.
Статья по проведенному исследованию доступна по адресу: webfile.ru/348651 в течение 14 дней до 15:39 25.06.2005. (78 r,)
Кто что-нибудь может посоветовать в каком направлении двигаться дальше прошу высказываться и присоединяться к взлому.
По-моему защита интересная.



Ранг: 0.0 (гость)
Активность: 0.010
Статус: Участник

Создано: 11 июня 2005 15:58
· Личное сообщение · #2

Забыл сказать при регистрации вводите ключ из 20-ти букв W (заглавных)
имя: аааааа иначе как в статье не получится.



Ранг: 17.7 (новичок)
Активность: 0.010
Статус: Участник

Создано: 12 июня 2005 18:12
· Личное сообщение · #3

Введенные номерки пишутся в два поля реестра
HKEY_CURRENT_USER\Software\Opti-Ergo Group\Anti-EyeStrain\USER_0\Code
HKEY_CURRENT_USER\Software\Opti-Ergo Group\Anti-EyeStrain\USER_0\Name

Я решил идти не от диалога ввода ключа, а от момента его чтения из
реестра. Для этого в IDA дизасмим eyesaver.exe и ищем строчку Code
На неё приходится один XREF. По нему попадаем в функцию

.text:00403E90 sub_403E90 proc near

там видны ссылки на строчки Code и Name. Значит именно здесь
происходит чтение этих ключей. В этой функции вызывается десяток
других функций, которые с виду ничего интересного не представляют...
кроме функции sub_403C20. В этой функции есть вызов _tolower, регистры
сравниваются с константами 30h, 39h, 61h, 7ah, у функции два типа
возвращаемых параметров: eax=0 и eax=1. Долгие практики дзен-крекинга
подсказываютмне, что эта крайне интересная функция и её бы нужно
поизучать.

Рег код должен быть 20 символов длиной. В первом цикле колбасятся
нехитрым образом первые 17 символов этого кода. Далее идет цикл, в
котором еще проще обрабатываеися имя. Далее, на основе полученых чисел
вычисляются значения трех переменных, значения которых сравниваются с
последними тремя символами рег кода. Если все три цифры правильные и
первый символ кода не 'x' (???), то проверка продолжается дальше.
Для того, чтобы миновать описаный этап проверки можно поступить
следующим образом:

1. Записать в реестр имя и левый код(20 символов)
2. В отладчике пройти все эти циклы, дойти до проверок, и записать
значения последних 3 символов кода.
3. Поправить код в реестре.

Все. Теперь первый этап проверки прокатывает. Остается второй. Там
происходят махинации со временем. Т.е. 2,3,4 цифры кода
рассматриваются как день месяц и год от первого января 2000 года.
Затем получается текуая метка времени и из нее вычитается время
полученое из ключа... Смысл всего этого: в ключе есть указание дня его
генерации, если на дворе такая дата еще не наступила, то считается,
что ключи из будущего не действительны

Вот вкратце и все.

Name: Sax0n
Code: AC65EFGHIJKLMNOPQD0Q



Ранг: 0.0 (гость)
Активность: 0.010
Статус: Участник

Создано: 12 июня 2005 22:37
· Личное сообщение · #4

Действительно все так. Оказывается в eyesaver.exe есть такая же процедура проверки кода, как и в eyes.exe. Но почему-то мне казалось верхом идиотизма, чтобы разработчик вставил в два файла одинаковую процедуру проверки. А ведь ее можно было найти путем простого поиска. Вместо этого я искал через RegQueryValueExA, видел, что код читается, но куда не смог отследить.
Еще конечно рассматривал, что 20 символов генерятся в промежуточные значения, а не семнадцать.

[b]Особенно меня в недоумение поверг нижеприведенный код [b/]

0041048F |> 8B4424 10 MOV EAX,DWORD PTR SS:[ESP+10] закладывается значение
00410493 B9 24000000 MOV ECX,24 и делитель
00410498 |. 99 CDQ Преобразование двойного слова (EAX) в учетверенное слово (EDX:EAX).
00410499 |. F7F9 IDIV ECX собственно деление
Результат в EDX (по-моему остаток деления) число 20
0041049B |. 8B4424 14 MOV EAX,DWORD PTR SS:[ESP+14]
0041049F |. BE 24000000 MOV ESI,24
004104A4 |. BF 24000000 MOV EDI,24
004104A9 |. 8BCA MOV ECX,EDX
004104AB |. 99 CDQ
004104AC |. F7FE IDIV ESI
Остаток 0
004104AE |. 8B4424 18 MOV EAX,DWORD PTR SS:[ESP+18]
004104B2 |. 8BF2 MOV ESI,EDX
004104B4 |. 99 CDQ
004104B5 |. F7FF IDIV EDI

Я так и не понял как получаются результаты деления в EAX ясно целое число, а в EDX остаток какой-то. Не мог бы ты объянить, что это такое. Самое главное, что этот остаток и есть значения одного из трех последних символов.

И по второму этапу проверки, как я понял там не должно получиться отрицательное чило в результате вычитания дат, тогда проверка прокатывает.

И еще как перевести шестнадцатитеричное время типа (79A21C40) в понятный вид (день, месяц, год)?


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



Ранг: 17.7 (новичок)
Активность: 0.010
Статус: Участник

Создано: 13 июня 2005 00:34
· Личное сообщение · #5

IDIV - деление со знаком
EDX:EAX - делимое
аргумент (в данном случае ECX) - делитель
Результат:
EAX - частное
EDX - остаток

Часто применяется для реализации модулярной арифметики, чтобы результат лежал в определенных границах (учи мат. часть)
x = a + b (mod m)

На счет формата времени. Число - это количество секунд, прошедшее с начала эпохи UNIX
00:00:00, 1 янфаря 1970г. Для манипулирования таким форматом времени смотри функции time(), mktime(), asctime() (пишу по-памяти)

К специфическому юмору разработчиков ты скоро привыкнешь. По их словам любая защита неломаемая
Ключеген писать здесь - 10-15 минут. А с озвучкой. Посмотри папочку Wave\ru. Скока там звуков


ЗЫЖ
[solme] - это ниточка обсуждения, временно вынесенная из CTalk в отдельную
рассылку, для тех кто хочет приложить усилия и помочь себе сам, но просто
не знает с чего начать.
Подписка: solme-subscribe<at>yahoogroups<point>com
Отписка: solme-unsubscribe<at>yahoogroups<point>com
Отсылка сообщений: solme<at>yahoogroups<point>com
Подпишись, и можешь задавать туда вопросы. Мне удобней через почту...



Ранг: 0.0 (гость)
Активность: 0.010
Статус: Участник

Создано: 13 июня 2005 08:46
· Личное сообщение · #6

Что говорить программеры молодцы, только бы накрыть юзеров. В демо версии тебе и озвучка и графические упражнения (удаляющаяся и приближающаяся картинка), в в зарегеной ни шиша, а еще хотят 500р. С графикой это тоже юмор?



Ранг: 24.4 (новичок)
Активность: 0.040
Статус: Участник

Создано: 13 июня 2005 19:16
· Личное сообщение · #7

Хоть линк бы кинули



Ранг: 24.4 (новичок)
Активность: 0.040
Статус: Участник

Создано: 13 июня 2005 19:29
· Личное сообщение · #8

Нашёл. Интересые способы. Спасибо.



Ранг: 17.7 (новичок)
Активность: 0.010
Статус: Участник

Создано: 13 июня 2005 20:44
· Личное сообщение · #9

Astrolog пишет:
Что говорить программеры молодцы, только бы накрыть юзеров. В демо версии тебе и озвучка и графические упражнения (удаляющаяся и приближающаяся картинка), в в зарегеной ни шиша, а еще хотят 500р. С графикой это тоже юмор?


Со звуками - проблема твоя. Качат с сайта разработчика не хочешь, а на защиту грешишь... зелено...
Про упражнения - ищи как выбираются на основе серийника выдаваемые упражнения
(вспомни, что говорили разработчики по поводу индивидуальных серийников)
Разберись, что будет если первая буква серийника 'z'

Тока теперь сам



Ранг: 0.0 (гость)
Активность: 0.010
Статус: Участник

Создано: 14 июня 2005 09:10
· Личное сообщение · #10

Вообще ссылка на прогу в статье (см. начало топика). Но привожу и здесь ( я по этой качал)
mirsofta.ru/cgi-bin/soft.cgi?ct=redir&id=1115204623&url=http://www.svteam.ru/download/eyesetup.exe

Попробую разобраться с упражнениями.



Ранг: 0.0 (гость)
Активность: 0.010
Статус: Участник

Создано: 14 июня 2005 12:19
· Личное сообщение · #11

Я еще раз решил объяснить о генерации кода, если кто не понял (таким же чайникам как я)

Ставим бряки на следующие строчки:
0041048F |> 8B4424 10 MOV EAX,DWORD PTR SS:[ESP+10]код сгенеренный по возрастающей значение (символа - 57h) * номер символа
0041049B |. 8B4424 14 MOV EAX,DWORD PTR SS:[ESP+14]код сгенеренный по убывающей значение (символа - 57h) * (11h (17) - номер символа)
004104AE |. 8B4424 18 MOV EAX,DWORD PTR SS:[ESP+18]имя
Вводим имя и ключ, например
Anatol
ZC65EFGHIJKLMNOPQDTV
Записываем значения, которые перемещаются в регистр,
например B05, A19
берем калькулятор (встроенный Windows) и вычитаем в HEX режиме из этих чисед 24h до тех пор
пока не получим число меньше 24h, это и будет остаток. Прибавляем 57 и получаем код буквы. Вводим вместо последних трех символов в порядке проверки.
Делить при помощи калькулятора у меня не полшучилось, остаток в Hex режиме он не показывает (ну у кого получится делите, у кого нет - вычитайте)
Почему делится на 24h? потому что 9 цифр и 26 букв (a-z)остаток должен остатья в этих пределах, чтобы являть собой нужный символ.



Ранг: 0.0 (гость)
Активность: 0.010
Статус: Участник

Создано: 14 июня 2005 16:15
· Личное сообщение · #12

0040416A |. 3C 7A CMP AL,7A
0040416C 0F85 09030000 JNZ eyesaver.0040447B

В этих строках производится сравнение не равен ли первый символ ключа z/ Если равен показывается графика и меню. Если нет упражнения попроще. Насколько я понимаю прога работает только используя два варианта. Других видимо нет?




Ранг: 536.4 (!), 171thx
Активность: 0.660.13
Статус: Администратор
Создатель CRACKL@B

Создано: 14 июня 2005 16:58
· Личное сообщение · #13

Astrolog пишет:
Прога для снятия зрительного напряжения.

Наверное, монитор отключает.

-----
Всем не угодишь



 eXeL@B —› Основной форум —› Исследование защиты Anti-Eyesstrain 2.72
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


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