Parabola v1.8 - hardcoded serial number by NightCat \\ TEAM-53 Инструменты: W32Dasm и всё. =) Музыка.....: Ёхель - Ямайка Цель наша это вылечить программу от такого "бага", как регистрация. Баг и правда серьёзный. =) Называется программа просто - Parabola. У меня была версия 1.8, вполне возможно, что есть и версии поновее. Эта программа написана для помощи учащимся средних классов в решении квадратных уравнений. Из имеющейся, так сказать, "документации" стало понятно, что... "Программа "Parabola" используется и распространяется на условиях freeware." Это хорошо, но когда мы прогу запускаем, то видим окошко, где нас просят пройти "бесплатную" регистрацию. Кнопки не работают, короче получается какая-то, прям не побоюсь этого слова, DEMO-версия. Это не есть хорошо. В путь. Когда мы первый раз запускаем программу, то видим окно... вводим туда что-нибудь... всё равно что. Лично я ввёл "Алоха Гаваиии!!!". Прога сказала, мол, фигню вы вводите, молодой человек. Гружу её в Дизассемблер и ищу строку "Неверно введём пароль!". Нашёл: * Referenced by a (U)nconditional or (C)onditional Jump at Address: |:0044EC2A(C) | * Possible StringData Ref from Code Obj ->"Неверно введен пароль!" | :0044EC9C B858ED4400 mov eax, 0044ED58 :0044ECA1 E89EACFFFF call 00449944 Итак, сюда мы прыгаем из 0044EC2A, что же, скроллим вверх и видим: * Possible StringData Ref from Code Obj ->" diskriminant" | :0044EC1B BA20ED4400 mov edx, 0044ED20 :0044EC20 33C9 xor ecx, ecx :0044EC22 8A08 mov cl, byte ptr [eax] :0044EC24 41 inc ecx :0044EC25 E8BE3DFBFF call 004029E8 :0044EC2A 7570 jne 0044EC9C :0044EC2C A1481E4500 mov eax, dword ptr [00451E48] :0044EC31 8B00 mov eax, dword ptr [eax] :0044EC33 8B8008030000 mov eax, dword ptr [eax+00000308] :0044EC39 B201 mov dl, 01 :0044EC3B 8B08 mov ecx, dword ptr [eax] :0044EC3D FF515C call [ecx+5C] :0044EC40 A1481E4500 mov eax, dword ptr [00451E48] :0044EC45 8B00 mov eax, dword ptr [eax] :0044EC47 8B800C030000 mov eax, dword ptr [eax+0000030C] :0044EC4D B201 mov dl, 01 :0044EC4F 8B08 mov ecx, dword ptr [eax] :0044EC51 FF515C call [ecx+5C] :0044EC54 A1481E4500 mov eax, dword ptr [00451E48] :0044EC59 8B00 mov eax, dword ptr [eax] :0044EC5B 8B8054030000 mov eax, dword ptr [eax+00000354] :0044EC61 B201 mov dl, 01 :0044EC63 E804A1FEFF call 00438D6C :0044EC68 A1481E4500 mov eax, dword ptr [00451E48] :0044EC6D 8B00 mov eax, dword ptr [eax] :0044EC6F 8B8094030000 mov eax, dword ptr [eax+00000394] :0044EC75 B201 mov dl, 01 :0044EC77 E8F0A0FEFF call 00438D6C :0044EC7C A1481E4500 mov eax, dword ptr [00451E48] :0044EC81 8B00 mov eax, dword ptr [eax] :0044EC83 8B8050030000 mov eax, dword ptr [eax+00000350] :0044EC89 B201 mov dl, 01 :0044EC8B E8DCA0FEFF call 00438D6C * Possible StringData Ref from Code Obj ->"Спасибо за регистрацию!" | :0044EC90 B838ED4400 mov eax, 0044ED38 :0044EC95 E8AAACFFFF call 00449944 :0044EC9A EB0A jmp 0044ECA6 "Кхм", - подумал я, очень интересно. Открываю программу, ввожу в качестве пароля diskriminant и... программа зарегистрировалась. Моей радости не было предела! Веcь туториал (в принципе это и не тутор) был написан с целью показать вам, что иногда пароли к программе хранятся в самой программе и имеют статический вид. Т.е. не изменяются. Вот такие дела. =) Это был НочнойНот, который опять пудрил вам мозги. Алоха, ГАВАИИИ!!! ======================================================================= TEAM-53 TUTORiALs \\ www.BSUiR.com \\ #team-53 , IRC.By, IRC.BYNETS.ORG ======================================================================= Tab Machine - hardcoded serial by NiGHTCAT\\TEAM-53 Инструменты: W32Dasm и глаза Музыка.....: Alicia Keys, Jeden Osiem L Итак, это второй пример программы со вшитым серийником. Называется она Tab Machine и служит для... ну, короч, для чего-то служит, я, ей богу, не знаю. =) Она первая на глаза попалась. Но стоит она целых 4 доллара! Жуть... Запускаем её, сразу же выскакивает сообщение с вопросом о регистрации, жмём ДА! Вводим что-нить и получаем сообщение о неверном коде. Можно закрыть программу, ага, она еще и по окончани работы нам маленький НАГ выбрасывает. Грузим екзешник во W32Dasm и топаем в String References. Ищем там сообщение об ошибке, но, о боже, что это... мы видим такие строки : "CC:\windows\hs_tab_registration.hsf" ... "SSerial Number: SRX76H-TBM326" "SSorry, incorrect code" "SSRX76H-TBM326" Кааак инетересно. Запускаем программу, вводим SRX76H-TBM326 и жмём ОК! Хо-хо, мы зареганы! =) Какое счастье. Теперь пойдём в папку C:\windows\ и действительно находим там файл hs_tab_registration.hsf с текстом: Serial Number: SRX76H-TBM326 Да уж, очень интересно. Ну почему бы не занести запись в реестр? Хм, ну меня это уже не касается. =) Такие дела. ======================================================================= TEAM-53 TUTORiALs \\ www.BSUiR.com \\ #team-53 , IRC.By, IRC.BYNETS.ORG =======================================================================