Сейчас на форуме: _MBK_, ManHunter, Magister Yoda, rtsgreg1989 (+9 невидимых) |
![]() |
eXeL@B —› Основной форум —› Не подходит 100% верный ключ. |
Посл.ответ | Сообщение |
|
Создано: 26 августа 2005 14:03 · Личное сообщение · #1 Программе (игре) для регистрации требуется ввести имя и номер. Ввожу имя iddqd, серийник 1234567 в Ольке вижу, что он сравнивает мой серийник с 7AGB2167UQ3PQACMMHYEELHLSO5HPOLWZA4RAE8YTOFUXMBYVNNAWMREKIDSJV9Iiddqd пытаюсь вводить этот серийник (и без слова iddqd), но ничего не помогает. Может его надо преобразовать в какую-то другую систему ? Но в какую ? В 10-ную я пробывала. Помогите пожалуйста. Игра называется Invasion Waves. Скачать можно здесь: _http://www.topshareware.com/WildSnake-Arcade--INVASION-WAVES-download -15516.htm Platform : Windows 95/98/Me/NT/2000/XP Price : USD $19.95 File Size : 8.29 MB ![]() |
|
Создано: 26 августа 2005 14:17 · Личное сообщение · #2 |
|
Создано: 26 августа 2005 14:40 · Личное сообщение · #3 Да вродь не проверяется нигде. В том-то и проблема. Строки типа cmp eax,esi я не вижу вобще. Просто после строк типа: push ebp ; ASCII "1234567" push ecx ; ASCII "7AGB2167UQ3PQACMMHYEELHLSO5HPOLWZA4RAE8YTOFUXMBYVNNAWMREKIDSJV9Iiddqd " Происходит вывод сообщения о неверном ключе. Между сохранениями регистров в стек нет никаких процедур (call или jmp). Вот так в W32Dasm выглядит процедура проверки: * Referenced by a CALL at Addresses: |:00427933 , :004282F0 , :00428314 | :00419069 55 push ebp :0041906A 8BEC mov ebp, esp :0041906C 51 push ecx :0041906D C70548E4730201000000 mov dword ptr [0273E448], 00000001 :00419077 6A01 push 00000001 :00419079 E83FC2FFFF call 004152BD ;здесь также нет никаких процедур проверок. :0041907E 83C404 add esp, 00000004 :00419081 837D0800 cmp dword ptr [ebp+08], 00000000 :00419085 7424 je 004190AB :00419087 6A00 push 00000000 :00419089 682E8F4100 push 00418F2E :0041908E A1E8105700 mov eax, dword ptr [005710E8] :00419093 50 push eax * Possible StringData Ref from Data Obj ->"REGISTERFAIL" | :00419094 6854934900 push 00499354 :00419099 8B0D34E47302 mov ecx, dword ptr [0273E434] :0041909F 51 push ecx * Reference To: USER32.DialogBoxParamA, Ord:0093h | :004190A0 FF1550A24800 Call dword ptr [0048A250] :004190A6 8945FC mov dword ptr [ebp-04], eax :004190A9 EB22 jmp 004190CD * Referenced by a (U)nconditional or (C)onditional Jump at Address: |:00419085(C) | :004190AB 6A00 push 00000000 :004190AD 682E8F4100 push 00418F2E :004190B2 8B15E8105700 mov edx, dword ptr [005710E8] :004190B8 52 push edx * Possible StringData Ref from Data Obj ->"REGISTEROK" ![]() |
|
Создано: 26 августа 2005 14:48 · Личное сообщение · #4 |
|
Создано: 26 августа 2005 14:58 · Личное сообщение · #5 iddqd пишет: :00419081 837D0800 cmp dword ptr [ebp+08], 00000000 Ищи, откуда взялась эта локаль. Скорее всего, ты показал процедуры выбора сообщения (хотя может быть и в 004152BD). Вернись и посмотри, откуда этот параметр (ebp+08). Прога Дельфовая, посмотри лучше в DeDe по названию функций. ----- Всем привет, я вернулся ![]() |
|
Создано: 26 августа 2005 15:08 · Личное сообщение · #6 |
|
Создано: 26 августа 2005 15:36 · Поправил: DrFits · Личное сообщение · #7 |
|
Создано: 26 августа 2005 15:42 · Личное сообщение · #8 |
|
Создано: 26 августа 2005 15:44 · Личное сообщение · #9 |
|
Создано: 26 августа 2005 17:05 · Личное сообщение · #10 iddqd Это НЕ "правильный 100% ключ" ;) - это какая-то константа, с которой потом идут извращения... Обрати внимание на процедуру по адресу 431872 : там ниже будет запрос реестра 004318EB |. FF15 08B04800 CALL DWORD PTR DS:[<&ADVAPI32.>; \RegQueryValueExA и 00431955 |. FF15 08B04800 CALL DWORD PTR DS:[<&ADVAPI32.>; \RegQueryValueExA Запрашиваются "Registered User" и "License Code" А по адресу: 004322D6 |. FF15 0CB04800 CALL DWORD PTR DS:[<&ADVAPI32.RegSetValu>; \RegSetValueExA и 00432309 |. FF15 0CB04800 CALL DWORD PTR DS:[<&ADVAPI32.RegSetValu>; \RegSetValueExA эти два значения вносятся в реестр в случае удачной проверки... PS. На работе машина старая - практически подвешивается во время бряка в Ольке - дома мож посмотрю ещё ;) DrFits пишет: замени 74 на EB Этот финт меняет мессагу с неудачной на удачную регитрацию, но DEMO, по ходу, не убирает... ![]() |
|
Создано: 26 августа 2005 17:19 · Личное сообщение · #11 |
|
Создано: 26 августа 2005 17:38 · Личное сообщение · #12 в Flashget похожая процедура регистрации. Почитай туторы по её взлому. Чтобы найти пральный ключик надо искать процедуру (call) которая сравнивает данные считанные из реестра. Разберись каким образом происходит сравнение и будет тебе счастие. ![]() ----- Ни одно доброе дело не должно остаться безнаказанным !!! ![]() |
|
Создано: 26 августа 2005 17:58 · Личное сообщение · #13 |
|
Создано: 26 августа 2005 22:22 · Личное сообщение · #14 Какая-то срань!!! Олька в разных местах брякается, но машина (Пень 2.66ГГц с 512 RAM) уходит почти в завис - только через убитие жертвы из Task Manager удаётся вернуть в нормальное состояние. В частности, бряк на RegQueryValueExA нормально работает ТОЛЬКО "на подходах", а по адресу 004318EB как раз идёт лажа... Кажися, какая-то "кракозябра" припрятана ![]() ![]() |
|
Создано: 26 августа 2005 23:13 · Личное сообщение · #15 estet, я с этой игрой, мягко говоря, мучаюсь уже 4 дня. У меня на ХР выход есть такой. Сделать у игры минимальное разрешение экрана. Когда сработает бряк игра виснет, затем нажимай Alt+F5 (перевод Ольки в режим поверх всех окон) и Ольку становиться видно. А если потом нажать F9, то игра просто сворачивается, а Олька остаётся, но уже не в 640 на 480, а установленном видео режиме. ![]() |
|
Создано: 31 августа 2005 01:54 · Личное сообщение · #16 |
|
Создано: 31 августа 2005 07:07 · Личное сообщение · #17 |
|
Создано: 31 августа 2005 14:22 · Личное сообщение · #18 |
|
Создано: 31 августа 2005 17:49 · Личное сообщение · #19 dissas Считывание имени и LicenseCode ловятся на GetDlgItemTextA, потом идут подряд три CALL, потом EndDlg и куча вызовов DDRAW. Замена REGISTERFAIL на REGISTEROK (адрес см выше) меняет только template для DlgBoxIndirectParamA - регистрации по настоящему не происходит. А эта грёбаная огромная константа PUSH-ается неоднократно в разных местах... ![]() |
|
Создано: 31 августа 2005 18:07 · Личное сообщение · #20 |
|
Создано: 01 сентября 2005 09:29 · Личное сообщение · #21 |
|
Создано: 01 сентября 2005 12:11 · Личное сообщение · #22 Откуда ты взял 7e? mov edx, 40A .text:00428CFD sub edx, 3B9h .text:00428D03 mov [ebp+var_28], edx = 51 .text:00428D06 cmp [ebp+var_28], 5Ch .text:00428D0A ja loc_42967E не прыгаем .text:00428D10 mov ecx, [ebp+var_28] .text:00428D13 xor eax, eax .text:00428D15 mov al, ds:byte_4297A6[ecx] - 4297A6+51=4297F7 -> 3 .text:00428D1B jmp ds:off_42978A[eax*4] - 42978A+C=429796 -> offset loc_4294E5 .text:004294E5 call sub_43226B - запись ключа в реестр .text:004294EA push 0 .text:004294EC call sub_419E19 - REGISTEROK т.е. всё ОК! .text:004294F1 add esp, 4 .text:004294F4 mov dword_4AB228, 0 .text:004294FE mov dword_4ABB20, 3 ...................................................................... .............. А PostMessageA которые посылают 40А сообщение в коде 3 штуки! ![]() |
|
Создано: 01 сентября 2005 15:12 · Поправил: Malice · Личное сообщение · #23 dissas пишет: Откуда ты взял 7e? Ну вроде отсюда: ![]() 00428C4E |> 8B55 D8 MOV EDX,[LOCAL.10] 00428C51 |. 83EA 7E SUB EDX,7E 00428C54 |. 8955 D8 MOV [LOCAL.10],EDX и 00428C29 |. 8B55 D8 MOV EDX,[LOCAL.10] 00428C2C |. 83EA 01 SUB EDX,1 00428C2F |. 8955 D8 MOV [LOCAL.10],EDX ps сейчас посмотрел - был не прав 40a надо ![]() ![]() |
![]() |
eXeL@B —› Основной форум —› Не подходит 100% верный ключ. |