Взлом Quake 3 v1.17 Автор : Xcellent Перевод : NightCat^t53 1 - Запустим Quake3 и выберем single player 2 - Выберите любой уровень и нажмите "play" 3 - От фигня какая!! Сообщение "INSERT THE CD" Запоминаем текст, чтобы потом использовать. Запускаем W32Dasm, загружаем в него quake3.exe. Дальше по уже известной схеме -> String Data Reference, ищем то самое сообщение, которе у нас было "INSERT THE CD". Так, нашли? Нет. Ага, эта игрушка использует другое название диалога, не "INSERT THE CD", так что нам нужно найти что-то сходное с CD, вроде "CD not in drive", "CD not ready" или "Game CD not in drive". Вы должны найти последнее сообщение, "Game CD not in drive". Теперь дважды кликаем по нему, мы приземлимся в нужном месте, вы увидите что-то такое: * Referenced by a CALL at Address: |:004374FE | :00432460 83EC54 sub esp, 00000054 * Possible StringData Ref from Data Obj ->"fs_restrict" | :00432463 6834364B00 push 004B3634 :00432468 E823CEFEFF call 0041F290 :0043246D D81DF0F34A00 fcomp dword ptr [004AF3F0] :00432473 83C404 add esp, 00000004 :00432476 DFE0 fstsw ax :00432478 F6C440 test ah, 40 :0043247B 7418 je 00432495 :0043247D E8BE2E0100 call 00445340 <-- вызов процедуры проверки CD :00432482 85C0 test eax, eax <-- сравниваем результат :00432484 750F jne 00432495 <-- jump если результат ожидаемый * Possible StringData Ref from Data Obj ->"Game CD not in drive" <-- иначе показываем этот сраный диалог | :00432486 68A4BE4B00 push 004BBEA4 :0043248B 6A03 push 00000003 :0043248D E8FE9EFEFF call 0041C390 :00432492 83C408 add esp, 00000008 Так, посмотрим на :00432484, тут нужно изменить jne на jmp, таким образом даже если результат проверки прогу не устраивает (CD не в приводе), то всё равно она будет работать!! Легко, не правда ли? Но, чтобы пропатчить байты нужно знать, где их собственно патчить! Так что дважды кликаем по линии с jne, теперь посмотрим в статус бар и видим: Line: 103161 Pg 2063 and 2064 of 6946 Code data @:00432486 @Offset 00032484 in file..... В данном случае наш оффсет 32484. Так что запускайте свой хекс-редактор, загружайте quake3.exe, ищем оффсет 32484. Нашли? Ну а теперь меняйте 75 на EB и сохраняйте. Запустите Quake 3, и ВАУ!! Вы его взломали!!!! Xcellent xcellent@bol.com.br -- NightCat nightcat@bsuir.com ====================================================================== TEAM-53 TUTORiALs \\ www.BSUiR.com \\ #team-53, IRC.BY, IRC.BYNETS.ORG ======================================================================