НОВОСТИ
Закончено опубликование всех проектов за 2009 и начало 2010 года. Маленький юбилей - общее количество проектов "перешагнуло" 90. Хотя каждый проект уникален в своем решении, качестве и подходе. И рассматривать "массу", не очень верный путь.
архив новостей
02.04.2010
СТАТЬИ - Исследование файла ключей Chessgenius (25.06.2007)

Исследование файла ключей Chessgenius

В прошлой статье я описывал взлом программы при помощи патчинга. Более интересно было бы взглянуть на структуру файла регистрации. Файл считывается в следующую область памяти:
Я немного пересмотрел имена переменных, добавил к ним префикс lgdat, а также переименовал метку hash на uncrypt.
Итак, первым словом из этой 56-байтной структуры является ключ, которым и расшифровывается остальная часть файла, если перевести этот участок кода на язык высокого уровня, то выглядеть это будет так:
Заметим, что шифрование и дешифрование происходит этой же функцией. После расшифровки этой структуры проверяется корректность ключа, то есть расшифрованное двойное слово lgdat.magic_number должно быть равным 234567. После чего начинаются операции с датами:
в переменную time2 записывается разность 12000 и lgdat.time2, а в переменную days записывается 365 +sec_to_days(lgdat.time-current_time). Затем,
В переменную reg_username копируется содержимое из структуры lgdat_username. Затем, файл считывается повторно и повторяется расшифровка. Честно говоря, я не совсем понимаю, зачем считывать файл снова?
Код абсолютно идентичен предыдущему. Далее начинается самое интересное! Содержимое lgdat копируется в локальную область, в нем изменяются поля lgdat_key (туда записывается текущее время), переменная lgdat.time2 увеличивается на единицу, структура обратно шифруется и записывается в файл! В случае успеха, все окей. Ниже приведен этот интересный участок кода:
Итак, похоже, что единственное что определяет корректность ключа – это магическое число 234567. Напишем же генератор файлов регистрации!

Вводим имя пользователя и все!

Настоящая статья предоставлена в ознакомительных целях и ответственность за использование ее в незаконных целях ложится на ваши плечи



Лев Трубач (leotr),
trubachlev@mail.ru,
icq: 348980438,
web: www.leotr.org


Республика Казахстан, г. Арыс.


размещение, распространение,копирование данной статьи без ведомаавтора - запрещена

© Разработка ТОО "LiO Programs" 1999-2010
1-1 1-2
2-1
тел: +7 7252 558115
сот: +7 701 3528510, +7 700 4503956
web: www.lio.kz, www.hlp.kz
email: lio@lio.kz