Сейчас на форуме: padad42664, kris_sexy, site-pro, vasilevradislav (+6 невидимых) |
eXeL@B —› Крэки, обсуждения —› Не получается разобрать алгоритм генерации ключа |
. 1 . 2 . >> |
Посл.ответ | Сообщение |
|
Создано: 18 июля 2007 18:28 · Личное сообщение · #1 весит прога 26 мб : ftp://s1.nevosoft.ru/beeparty_rus.exe Есть кейген готовый, но интересен сам принцип генерации серийного номера.. Валидная пара такая: 9238 ----> 3273729373 патч сделать без проблем, но меня приперло сделать самому кейген :00401C83 8A88E8F24000 mov cl, byte ptr [eax+0040F2E8]
первые команды это занесение введенного юзером номера в память, затем пересылка всего серийника в другую ячейку.. непонятно зачем нужен call 00403188,а сама проверка как я понял это call 00401000 В Hex-виде валидный серийник будет выглядеть как C321255D а алгоритм генерации чего-то мутит с C22E4507 (это наверно константа, от которой пляшет процедура генерации) и эта константа во всех играх есть. Поковырял в отладчике ,нифига не понимаю как он генерит такой серийник в конце концов... |
|
Создано: 18 июля 2007 18:36 · Личное сообщение · #2 сами процедуры выглядят так: 1. :00403188 55 push ebp
и вторая: :00401000 68C1ED4000 push 0040EDC1
эта больше похожа на проверку.. |
|
Создано: 18 июля 2007 18:50 · Личное сообщение · #3 блин без отладчика трудно уследить че и куда перемещается, но помоему вся генерация состоит из XOR'а и двух AND'ов.. могу ошибаться, но автар посмотри, что в регистрах и если во вторую процедуру имя приходит в чистом виде, то скорее всего так и есть. имя передается через переменную где-то в 0040F3A8 ----- radio uno in ibisa ... |
|
Создано: 18 июля 2007 19:54 · Личное сообщение · #4 Nitrogen-а в студию! перед вводом ключа ставлю брекпоинт на 401С83, далее состояние регистров начальное: EAX 00000000 ECX FA9C2982 EDX 7FFE0304 EBX 0000000A ESP 0012F2D4 EBP 0012FE98 ESI 0012F306 ASCII ";pochta@mail.ru" EDI 0040F2F2 beeparty.0040F2F2 EIP 00401C83 beeparty.00401C83 C 0 ES 0023 32bit 0(FFFFFFFF) P 1 CS 001B 32bit 0(FFFFFFFF) A 0 SS 0023 32bit 0(FFFFFFFF) Z 1 DS 0023 32bit 0(FFFFFFFF) S 0 FS 0038 32bit 7FFDE000(FFF) T 0 GS 0000 NULL D 0 O 0 LastErr ERROR_SUCCESS (00000000) EFL 00010246 (NO,NB,E,BE,NS,PE,GE,LE) после выхода из первой процедуры: EAX 469E4654 ECX 0012F2D4 EDX 00000000 EBX 0000000A ESP 0012F2D0 EBP 0012FE98 ESI 0012F306 ASCII ";pochta@mail.ru" EDI 0040F2F2 beeparty.0040F2F2 EIP 00401C9D beeparty.00401C9D C 0 ES 0023 32bit 0(FFFFFFFF) P 1 CS 001B 32bit 0(FFFFFFFF) A 0 SS 0023 32bit 0(FFFFFFFF) Z 0 DS 0023 32bit 0(FFFFFFFF) S 0 FS 0038 32bit 7FFDE000(FFF) T 0 GS 0000 NULL D 0 O 0 LastErr ERROR_SUCCESS (00000000) EFL 00000206 (NO,NB,NE,A,NS,PE,GE,G) и после выхода из последней процедуры: EAX 00003F00 ECX 0000121E EDX 00002416 EBX 0000000A ESP 0012F2D0 EBP 0012FE98 ESI 0012F306 ASCII ";pochta@mail.ru" EDI 0040F2F2 beeparty.0040F2F2 EIP 00401CBF beeparty.00401CBF C 0 ES 0023 32bit 0(FFFFFFFF) P 1 CS 001B 32bit 0(FFFFFFFF) A 0 SS 0023 32bit 0(FFFFFFFF) Z 1 DS 0023 32bit 0(FFFFFFFF) S 0 FS 0038 32bit 7FFDE000(FFF) T 0 GS 0000 NULL D 0 O 0 LastErr ERROR_SUCCESS (00000000) EFL 00000246 (NO,NB,E,BE,NS,PE,GE,LE) |
|
Создано: 18 июля 2007 19:58 · Личное сообщение · #5 |
|
Создано: 18 июля 2007 20:02 · Поправил: overwriter · Личное сообщение · #6 |
|
Создано: 18 июля 2007 20:03 · Личное сообщение · #7 |
|
Создано: 18 июля 2007 20:06 · Личное сообщение · #8 |
|
Создано: 18 июля 2007 20:07 · Личное сообщение · #9 overwriter пишет: 9238 - номер, так? первая команда: вопрос как это можно поместить в cl? в cl идёт n-значный номер, который юзер вводит (ему присылают его по смс с номера 9238) Серийник сначала суется в адрес 40EDC1 , затем оттуда пересылается в 40F2E8 overwriter пишет: При таком раскладе ты его делаешь не сам его делает Нитроген))) El_Diablo пишет: игрушки с меил ру ломаешь что ли? если нечего сказать по тему, не флудить! ок? |
|
Создано: 18 июля 2007 20:09 · Личное сообщение · #10 |
|
Создано: 18 июля 2007 20:13 · Личное сообщение · #11 |
|
Создано: 18 июля 2007 20:15 · Личное сообщение · #12 |
|
Создано: 18 июля 2007 20:16 · Личное сообщение · #13 HavocTracer, я подправил свой пост. HavocTracer пишет: в cl идёт n-значный номер, который юзер вводит (ему присылают его по смс с номера 9238) 3273729373 - и вот это по твоему влазит в cl и потом двумя командами пересылается? HavocTracer пишет: если нечего сказать по тему, не флудить! ок? ОК. но я недоволен)))) ----- Researcher |
|
Создано: 18 июля 2007 20:36 · Личное сообщение · #14 |
|
Создано: 18 июля 2007 20:38 · Личное сообщение · #15 |
|
Создано: 18 июля 2007 21:16 · Поправил: Vovan666 · Личное сообщение · #16 HavocTracer пишет: я офигеваю - перед тем как писать ответ А как остальные офигевают. Перед тем как задать влпрос надо нажать поиск и вписать туда невософт. [url=http://exelab.ru/f/action=vthread&forum=1&topic=6383 ]http://exelab.ru/f/action=vthread&forum=1&topic=6383 [/url] [url=http://exelab.ru/f/action=vthread&forum=3&topic=6381 ]http://exelab.ru/f/action=vthread&forum=3&topic=6381 [/url] ну и где-то еще пару тем было. |
|
Создано: 18 июля 2007 21:32 · Личное сообщение · #17 HavocTracer вот за полного нуба меня запинговал( Прога весит 26 мегов, если бы я мог ее скачать уже бы сделал для тебя кейген, наверна, если алго не сложный. 26 метров - именно по этому ты наверное тут кодом разбросался. Наверное это поможет кому-либо тебе помочь) HavocTracer пишет: цикл видишь??? понял) не думал, что сие цикл пересылки, значит номер Null-terminated by '0', но эт и без меня было понятно)))) Сча погадаю тебе на гуще (диалапщик я). ----- Researcher |
|
Создано: 18 июля 2007 21:50 · Личное сообщение · #18 |
|
Создано: 18 июля 2007 21:52 · Личное сообщение · #19 |
|
Создано: 18 июля 2007 21:54 · Личное сообщение · #20 Прочитал все. Не хватит терпения. Я думаю ни у кого не хватит. Да и в 1 процедуре есть вызовы еще двух процедур не плохо бы посмотреть состояние регистров до вызова тех процедур, что внутри 1ой и после вызова , да и стэк неплохо бы посмореть.... не телепатов мало. У кого канал пошире поможет ----- Researcher |
|
Создано: 18 июля 2007 21:56 · Личное сообщение · #21 |
|
Создано: 18 июля 2007 22:01 · Личное сообщение · #22 |
|
Создано: 18 июля 2007 22:05 · Личное сообщение · #23 |
|
Создано: 18 июля 2007 22:09 · Личное сообщение · #24 |
|
Создано: 18 июля 2007 22:17 · Личное сообщение · #25 overwriter пишет: Прочитал все. Не хватит терпения. Я думаю ни у кого не хватит. Да и в 1 процедуре есть вызовы еще двух процедур не плохо бы посмотреть состояние регистров до вызова тех процедур, что внутри 1ой и после вызова , да и стэк неплохо бы посмореть.... поверь мне: если бы у тебя был хотя бы небольшой опыт написания кейгенов, то не составило бы труда уже только по виду кода сказать что и где генерится.. нет ни пакера навесного,ни RSA шифрования... Вот у меня опыта кейгеностроительства нет и поэтому смотрю на эти процедуры как баран на новые ворота, но ведь не все же здесь такие... |
|
Создано: 18 июля 2007 22:25 · Личное сообщение · #26 |
|
Создано: 18 июля 2007 22:29 · Поправил: HavocTracer · Личное сообщение · #27 |
|
Создано: 18 июля 2007 22:31 · Личное сообщение · #28 |
|
Создано: 18 июля 2007 22:39 · Личное сообщение · #29 |
|
Создано: 18 июля 2007 22:58 · Личное сообщение · #30 короче,в процедура проверки это вот: :00401020 8BF2 mov esi, edx :00401022 D3E6 shl esi, cl :00401024 33F0 xor esi, eax :00401026 81E6FFFFFF7F and esi, 7FFFFFFF :0040102C 83E905 sub ecx, 00000005 :0040102F 8BC6 mov eax, esi :00401031 79ED jns 00401020 в EDX хранится 2416h это 9238 наши, фактически 3 микропроверки: 1. ecx=eax после этого цикла 2. :00401043 A148EF4000 mov eax, dword ptr [0040EF48] :00401048 2BC1 sub eax, ecx :0040104A 83F802 cmp eax, 00000002 :0040104D 7F08 jg 00401057 3. eax не превышает FFFFFFFF (зачем надо???) Вот здесь надо копать имхо, т.е. она не тупо ключ сравнивает с введенным, а проверяет его с помощью каких то арифметических операций |
. 1 . 2 . >> |
eXeL@B —› Крэки, обсуждения —› Не получается разобрать алгоритм генерации ключа |
Эта тема закрыта. Ответы больше не принимаются. |