Сейчас на форуме: johnniewalker, NIKOLA (+7 невидимых) |
eXeL@B —› Крэки, обсуждения —› Исследование Actual Window Manager 8.10 - алгоритм генерации ключа |
Посл.ответ | Сообщение |
|
Создано: 09 января 2017 13:18 · Поправил: yuryrce · Личное сообщение · #1 Разбираю Actual Window Manager 8.10 Написана на Delphi 5, не пакована. Ссылки: Общий вид ключика: aimZZXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYY Определённую часть алгоритма разобрал: 1. 45 символов длина 2. Начинаться он должен с "aim" 3. ZZ - цифры равны версии - 81 4. YYYYYYYY - дата окончания лицензии. Там свой формат, вникать пока особо не стал, т. к. затруднений не вызовет его понять. Взята с потолка цифра 00000059, чуть позже должна быть 0000005A и т.д. (пока года хватит). С этим сам в состоянии разобраться. 5. XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - это xTea Вопрос именно по 5 пункту. Ключ шифрования имеется: Code:
Шифрую сторонним софтом (KeygenerAssistant, например), а прога то ли что-то мудрит в недрах функции расшифровки, то ли там нашлёпка над xTea. В результате расшифровки прога видит совершенно не то, что было зашифровано Тестовый юзер: AnyUserName Тестовый ключ: aim81E7E898358D1D53CC655C80ACD11B5F6C00000059 C ними она доходит до проверки 5 пункта. Список ключевых адресов: Code:
CALL 0049F4E4 по адресам 0049C94F и 0049C965 можно не смотреть. Это копирование 5й части введённого ключа. Весь мозг уже себе вынес. Обложился и декомпилированным файлом из IDA/HexRays и IDR и олькой. Может кто-то свежим взглядом посмотрит и натолкнёт на мысль PS: TCipher_Xtea похоже самопальный класс - не гуглится. Если у кого есть таковой в наличии, прошу поделиться. Может это хоть немного упростит процесс Дополняю тут, т. к. запрещено постить SReg пишет: постарайся найти и заюзать такую же либу, как и в сабже Так я и хотел - не гуглится TCipher_Xtea сраный. Похоже это разработка производителя софта. DimitarSerg пишет: внимательно дебажь цикл и рядом отлаживай и смотри оригинальный хтеа Буду пробовать Prober пишет: По константе легко ищется Можно саму константу хотябы посмотреть? Первый раз с подобными шифрами имею дело. Раньше только самопал и немодифицированные встречал PS: дёргать код невпервой. Дёргал полностью ещё с QIP2005 начиная cryptX, дока помогла с константами разобраться |
|
Создано: 09 января 2017 13:35 · Личное сообщение · #2 yuryrce А IV (initialization vector) нашел ? Возможно там измененный вектор инициализаций или каличество раундов разное. Вот посмотри на имплементацию XTEA может найдешь разницы: | Сообщение посчитали полезным: yuryrce |
|
Создано: 09 января 2017 13:41 · Личное сообщение · #3 |
|
Создано: 09 января 2017 13:49 · Личное сообщение · #4 |
|
Создано: 09 января 2017 14:26 · Личное сообщение · #5 |
|
Создано: 09 января 2017 15:01 · Личное сообщение · #6 Я в паре-тройке своих кейгенов с теа/хтеа использовал это: http://www.shokhirev.com/nikolai/programs/code/Cryptography/uTeaSet_pas.html и внимательно дебажь цикл и рядом отлаживай и смотри оригинальный хтеа. Code:
----- ds |
|
Создано: 09 января 2017 15:52 · Личное сообщение · #7 Ставить не хотелось, взял вторую ссылку: yuryrce пишет: --> Отдельно папка из установленной <-- Хотя ставить всё-таки пришлось Версия оказалась 8.9.2, но вряд ли это принципиально. В алгоритме 32 раунда, похож на TEA/XTEA, но модифицированный, стандартный код не даст нужный результат. Там рядом 2 процедуры лежат, одна - дешифратор, ну а вторая - по всем признакам обратная, т. е. шифратор. По константе легко ищется. Проще будет её выдернуть, чем разбираться с модификациями и в ЯВУ их переводить. | Сообщение посчитали полезным: yuryrce |
|
Создано: 10 января 2017 04:00 · Поправил: yuryrce · Личное сообщение · #8 Вроде нашёл что дёргать - sub_468820 и sub_468968. Там дельта 0x9E3779B9. Похоже придётся выборочно дёргать руками. Натравил TMG Ripper Studio - много лишнего тащит. Половина функций стандартные Delphi. Добавлено спустя 5 часов 19 минут Уже рипнул вторую полностью, работает как часы на примере из проги. PS: в одной из них есть константа C6EF3720 в недрах, в другой её нет. Я правильно понял, что та, которая содержит эту константу, та и расшифровывает? Методом научного тыка определил, что можно их менять местами. Т.е. одной шифровать, второй расшифровывать и наоборот. Взрыв мозга Добавлено спустя 7 часов 20 минут Успешно рипнуты обе функции. Работают идеально. Почти 600 строк в итоге вышло. Теперь можно продолжить разбирать алгоритм. Всем спасибо. Остальное сам. Пожалуй, прикрою топик. |
eXeL@B —› Крэки, обсуждения —› Исследование Actual Window Manager 8.10 - алгоритм генерации ключа |
Эта тема закрыта. Ответы больше не принимаются. |