Сейчас на форуме: site-pro, Rio, johnniewalker, vsv1 (+6 невидимых) |
eXeL@B —› Крэки, обсуждения —› Нужно понять алгоритм проверки ключей |
Посл.ответ | Сообщение |
|
Создано: 22 ноября 2012 21:56 · Поправил: Barash · Личное сообщение · #1 Всем привет. Есть программа, в которую необходимо ввести ключ. Собственно прощу помочь разобраться/написать алгоритм генерации ключей. В ассемблере я не слишком силен, но кое-что своими силами выяснить сумел. В общем-то я доковырял до той библиотеки, внутри которой происходит проверка ключа на валидность. Сама библиотека: Судя по информации PEiD: Microsoft Visual C++ 6.0 DLL [Debug], не упакован. Функция IsValidRegInfo принимает 4 параметра: 1 и 2 параметры содержат адреса строк, содержащие данные водимые при установке программы. Они, как я понял, никак не влияют на процесс проверки ключа. 3 параметр содержит адрес строки с ключом. (XXXXXX-YYYYYYYYYYYY-ZZZZZ) Примеры ключей в аттаче. Пароль: pass 4. Параметр зависит от типа лицензии – server, desktop, ещё может какая. Соответственно, если ключ валиден, то в регистре AX поднимается 1, если невалиден, то, 0. В самом ключе тоже есть информация о типе лицензии (первые 6 символов ключа). Поэтому тип лицензии указанный в ключе и в 4-ом параметре должны совпадать. Для версии server: 4 параметр - 91130 Ключ: NRMS10-YYYYYYYYYYYY-ZZZZZ Для версии desktop: 4 параметр - 1130 Ключ: NRMA10-YYYYYYYYYYYY-ZZZZZ Насколько я понял, путем каких-то вычислений происходит проверка второй части ключа(Y) и третьей(Z). Если они совпадают, то ключ верный. Также, насколько я понял, третья часть ключа(Z), по сути, это номер ключа, т.е. не может быть два ключа с одинаковой третьей частью. Прощу помочь 52b0_22.11.2012_EXELAB.rU.tgz - serialNum_.rar |
|
Создано: 22 ноября 2012 22:12 · Поправил: Vovan666 · Личное сообщение · #2 |
|
Создано: 23 ноября 2012 19:12 · Поправил: sivorog · Личное сообщение · #3 |
|
Создано: 23 ноября 2012 19:59 · Поправил: Barash · Личное сообщение · #4 sivorog пишет: случайно не софт от Xilisoft / ImTOO ? их легко запатчить, старые версии особенно нет. Программа называется Кроме того, если ломать программу, то с каждым обновлением придется всё это проделывать заново. |
|
Создано: 23 ноября 2012 22:26 · Личное сообщение · #5 Barash пишет: А ломать саму программу я думаю гораздо сложнее чем, разобраться в алгоритме генерации ключа, на основе которого можно сгенерировать файл лицензии. Я думаю, вы не правильно думаете В генерацию лицензии включили новый параметр CSSIGN, по мне так проще его обойти, чем разбираться как он генерируется. |
|
Создано: 23 ноября 2012 22:28 · Поправил: Vovan666 · Личное сообщение · #6 основная процедура проверки находится по адресу 10001140 похоже что помимо мд5 еще и рса там для каждой первой части ключа захардкорено число N Нужно понять что происходит в CALL 10001460 который принимат Code:
после чего считается md5 от 0x301100005E510000 где 30110000 - вроде тоже захардкорено для каждой первой части 5E510000 - последняя часть ключа (20830) мд5 сравнивается с OUT ВСЁ! |
|
Создано: 23 ноября 2012 22:32 · Личное сообщение · #7 |
|
Создано: 23 ноября 2012 22:36 · Личное сообщение · #8 |
|
Создано: 23 ноября 2012 22:45 · Поправил: c7111981 · Личное сообщение · #9 |
|
Создано: 24 ноября 2012 07:13 · Личное сообщение · #10 кейген с исходниками для NRMA10, для остального додумывай сам, пинок в нужном направлении получен. http://rghost.ru/41770744 | Сообщение посчитали полезным: Barash |
|
Создано: 24 ноября 2012 15:57 · Личное сообщение · #11 |
eXeL@B —› Крэки, обсуждения —› Нужно понять алгоритм проверки ключей |