Ломаем Hex Workshop v2.20b (я знаю, Что есть новее, но у меня эта версия) Автор......: matias Перевод....: nightcat//TEAM-53 Инструменты: w32dasm, Hiew Запускаем hworks32.exe и идём в About Hex Workshop... вводим что-нибудь в качесвте серийника и: "Registration Unsuccessful". Открываем файл в W32dasm. Кликаем по кнопке поиска и иищем: "Registration Unsuccessful". Идём на первую страницу и скроллим вниз пока не увидим: +++++++++++++++++ DIALOG INFORMATION ++++++++++++++++++ А ниже: Name: DialogID_0074, # of Controls=007, Caption:"Registration Successful", ClassName:"" 001 - ControlID:0403, Control Class:"EDIT" Control Text:"" 002 - ControlID:0407, Control Class:"EDIT" Control Text:"" 003 - ControlID:0001, Control Class:"BUTTON" Control Text:"&OK" 004 - ControlID:0040, Control Class:"STATIC" Control Text:"" 005 - ControlID:FFFF, Control Class:"STATIC" Control Text:"User Name:" 006 - ControlID:FFFF, Control Class:"STATIC" Control Text:"Please enter your name and organization to complete the registration process." 007 - ControlID:FFFF, Control Class:"STATIC" Control Text:"Organization:" Name: DialogID_0075, # of Controls=003, Caption:"Registration Unsuccessful", ClassName:"" 001 - ControlID:0001, Control Class:"BUTTON" Control Text:"&OK" 002 - ControlID:FFFF, Control Class:"STATIC" Control Text:"You have entered an invalid registration number." 003 - ControlID:FFFF, Control Class:"STATIC" Control Text:"Please confirm you entered a valid registration number or contact BreakPoint S" Ну вот, мы нашли диалог "Registration Unsuccessful" а еще там есть "Registration Successful" и его DialogID = 0074. Ну, раз уж мы его увидели, то его и ищем (DialogID_0074): * Possible Reference to Dialog: DialogID_0074, CONTROL_ID:0040, "" | :0040BCE6 B940000000 mov ecx, 00000040 :0040BCEB 83E1FE and ecx, FFFFFFFE Скроллим чуть выше и видим два джампа (jne and ja): :0040BC55 83F801 cmp eax, 00000001 :0040BC58 0F855E000000 jne 0040BCBC :0040BC5E B848F64500 mov eax, 0045F648 :0040BC63 83C010 add eax, 00000010 :0040BC66 50 push eax :0040BC67 E820660200 call 0043228C :0040BC6C 83C404 add esp, 00000004 :0040BC6F 83F820 cmp eax, 00000020 :0040BC72 0F871B000000 ja 0040BC93 Второе сравнение (cmp eax, 00000020) нам не интересно. А вот первое (cmp eax, 00000001) сравниваем eax с 1, что значит, что мы зареганы. И джамп, если не 1 (если не зареганы). Чтобы симулировать регистрацию нам нужно заменить jne на je: Заркываем w32dasm, открываем Hiew.exe и выбираем "hworks32.exe", жмём и выбираем режим Decode. , чтобы найти ".0040BC58". и редактируем 0F84 на 0F85. :0040BC58 0F845E000000 je 0040BCBC Теперь нам нужно заменить какой-нибудь условный переход в диалоге "Registration Unsuccessful" (DialogID_0075). Снова его ищем и: * Possible Reference to Dialog: DialogID_0075 | :0041BD53 6A75 push 00000075 :0041BD55 8D8D30FFFFFF lea ecx, dword ptr [ebp+FFFFFF30] Скроллим вверх пока не увидим услвный переход (jn, jne, ,ja): :0041BCCA 837DF000 cmp dword ptr [ebp-10], 00000000 :0041BCCE 0F8479000000 je 0041BD4D Меняем je на jne (0F84 на 0F85). Запускаем hworks32.exe и регистрируемся даже без серийника!