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

 eXeL@B —› Крэки, обсуждения —› Написание KeyGen'а для ApySpy32 v2.5
Посл.ответ Сообщение

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

Создано: 07 августа 2006 17:46
· Личное сообщение · #1

Возникла необходимость в использовании данной программы. Скачал, прилагаемое лекарство не сработало. Пошел на Асталависту, вбил в поиск - нашлось с десяток кряков и ни одного кейгена. Стало любопытно, обычно на широкоиспользуемые проги этих кейгенов, что грязи. Софтина старая (2000г.), решил, что даже моих навыков для взлома должно хватить. Ну защита действительно оказалась слабенькой. По мнению PEiD'а ApySpy упакован Petite 1.2, то есть распаковка а-ля UPX. Все хорошо, но я не смог обратить процесс проверки ключа на основе введеного имени. Не хватает мозгов. Кейген написал, но на основе банального перебора. В данном случае он очень эффективен и процесс паролегенерации прохоисходит за считанные милисекунды. А вот если бы пароль бы был символов на 200, да еще чуть-чуть усложнить алгоритм, то брутфорс не поможет. Если у кого есть желание, помогите плиз написать нормальный кейген, конечно, если он тут возможен. Под нормальным я подразумеваю не тупой перебор паролей с заданными условиями, а обращение алгоритма проверки валидности имени пользователя на основе введеного пароля.

Несколько слов о самой защите, чтобы было легче понять, что там к чему. Код защиты приводить не буду - он очень большой, опишу основные моменты и, где необходимо, укажу адреса в коде.
1) введеные имя и пароль сохраняются в реестре, потом оттуда же считываются для проверки.
2) длина имени не может быть меньше 6 символов, введеный пароль должен содержать минимум 16 символов, если в веденом пароле есть пробелы, то он сразу опознается как инвалидный.
3) если длина имени меньше 8-ми символов, то при проверке он расширяется до 8 путем добавления в конец имени начальных символов. Например, Максим станет МаксимМа.
4) из введеного пароля убирается 9-й символ.
5) по адресу 4050E5 начинается сам процесс проверки. С этого места и до 405103 на основе пароля вычисляется некое значение.
6) по адресу 40510F вызывается функция, которая на основе полученного в 5-м пункте значения вычисляет новое.
7) 405195 - тут финальная проверка. Полученное в 6-м пункте значение должно совпадать с введеным именем - иначе облом.

Может там и еще какие проверки есть, но если пароль удавлетворяет условию, что при "обработке" его функциями из пункта 5 и 6 получается значение, равное введеному имени - то все хорошо.

Здесь (270 KB, rar) лежит сама прога.
Отсюда (45 KB, zip) вы можете скачать уже распакованный exe'шник (если вы воспользовались ссылкой выше, то там уже будет крякнутый экзешник, но я его не проверял).
Тут (3 KB, не упакован) я прикрепил свой кейген (ну мало ли кому пригодится).



Ранг: 617.3 (!), 677thx
Активность: 0.540
Статус: Участник

Создано: 07 августа 2006 17:58
· Личное сообщение · #2

Кейген это хорошо, но лог сохраняется в 1 строчку, а в этой статье http://www.exelab.ru/art/?action=view&id=249 написано как еще и от этой болячки избавиться



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

Создано: 07 августа 2006 18:18 · Поправил: Sawamura
· Личное сообщение · #3

Vovan666
Спасибо за ссылку, как это я сам не заметил, специально ведь искал
Кейген я решил написать исключительно из спортивного интереса, к тому же, я не люблю патчи. Слишком часто попадаются неработающие, или убивающие прогу. А кейген - вроде как сам безопасный способ лечения (после покупки лицензии, конечно же).
Топик я созда для поиска решений написания "небрутфорсного" кейгена.

Vovan666 пишет:
Кейген это хорошо, но лог сохраняется в 1 строчку

Хм, у меня все нормально сохраняется, странно. Ты воспользовался моим кейгеном или кряком?




Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

Создано: 07 августа 2006 18:24
· Личное сообщение · #4

Sawamura пишет:
Спасибо за ссылку, как это я сам не заметил, специально ведь искал

Есть еще тутор и про кейген этой проги...



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

Создано: 07 августа 2006 18:29 · Поправил: Sawamura
· Личное сообщение · #5

Ara
Не подскажешь, где его можно почитать? На Краклабе я (с помощью Vovan666 ) нашел только твою статью, но там про патч и почти ноль объяснений по самому алгоритму



Ранг: 617.3 (!), 677thx
Активность: 0.540
Статус: Участник

Создано: 07 августа 2006 18:33
· Личное сообщение · #6

Проверил после кейгена все равно лог в 1 строчку пишется. Это баг разработчиков.




Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

Создано: 07 августа 2006 18:46
· Личное сообщение · #7

Sawamura пишет:
Не подскажешь, где его можно почитать?

Хмм, точно не припомню, сорри. Но где-то я ее читал.



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

Создано: 07 августа 2006 19:09 · Поправил: Sawamura
· Личное сообщение · #8

Vovan666
А ты пробовал зарегестрировать "чистую" версию, или крякнутую? Может быть там неявная проверка пароля стоит. У меня почему-то ApySpy не хочет в одну строку писать, может я что неправильно делаю При каких манипуляциях получается лог-файл в одну строку?

Ara
Мне понравилась твоя статья про патчинг ApySpy32 Ничего лишнего - все только по делу, и в тоже время - доступно и понятно. Жаль только тонкости самого алгоритма защиты не рассматриваются, но для патча они и не нужны.
Ктсати, а ты не помнишь, в той статье, про кейген для этой программы, упоминалось написание паролегенератора методом перебора (как у меня) или обращение алгоритма проверки введеных данных?



Ранг: 617.3 (!), 677thx
Активность: 0.540
Статус: Участник

Создано: 07 августа 2006 19:22
· Личное сообщение · #9

Регистрировал чистую специально скачал по ссылке.
Открываю блокнот в ApySpy, запускаю, Save LOG, после чего в логе всё 1 строкой.
Сейчас проверил если открывать лог не блокнотом, а каким-нибудь другим более продвинутым редактором, то всё нормально отображается.




Ранг: 299.6 (наставник)
Активность: 0.30
Статус: Участник
Armadillo Killer

Создано: 07 августа 2006 19:26
· Личное сообщение · #10

Ara А где тутор можно почитать ?



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

Создано: 07 августа 2006 23:33
· Личное сообщение · #11

Vovan666 пишет:
после чего в логе всё 1 строкой.

ЛОЛ!!! блин, конечно, потому что прога использует fwrite("\n") а не fwrite("\r\n").

-----
MicroSoft? Is it some kind of a toilet paper?




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

Создано: 07 августа 2006 23:58
· Личное сообщение · #12

Vovan666
Чтобы в блокноте читалось не в одну строку, нужно поставить в нем галочку "перенос слов"



Ранг: 191.8 (ветеран), 46thx
Активность: 0.170
Статус: Участник

Создано: 11 августа 2006 02:33
· Личное сообщение · #13

Заодно может и эта с исходниками в помощь
spock.uccs.edu/pub/APISpy32/



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

Создано: 12 августа 2006 10:17
· Личное сообщение · #14

Ratinsh, пасибо за исходники, правда сомневаюсь, что в данном случае это сильно поможет Но посмотреть стоит.



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

Создано: 12 августа 2006 13:54
· Личное сообщение · #15

кейген на асме для ApySpy32 v2.5. Где брал не помню.

9e89_12.08.2006_CRACKLAB.rU.tgz - keygen_asm.rar



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

Создано: 12 августа 2006 17:45
· Личное сообщение · #16

MASSER, и тебе пасибо за кейген Некоторая польза от него для меня есть - оказывается от функции, которую я упомянул в пункте 5) первого поста можно смело отказаться. Хм, и как это автор кейгена до этого догадался, вот бы узнать Методом тыка, или тому есть "научное" доказательство? Нет, ну теперь-то понятно, что использовать для вычислений можно Имя Пользователя в обход вычисления на его основе некоторого значения, но можно ли до этого дойти априорно? А вот в целом, увы, в основе этого кейгена лежит все тот же брутфорс. Пусть и несколько более оптимизированный (автору не лениво было с нуля весь алгоритм перебивать на ассемблере, в то время как я просто скопирал кусок кода из IDA'ы), но в основе своей - точно такой же. Ну и автор что-то поленился писать код для 6 и 7-ми буквенных Имен, впрочем это уже не имеет особого значения.


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


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