Cracking Unreal 2.02 CD-Check by Xcellent Добро поджаловать в мой тутор!! В этот раз наша жертва Unreal 2.02. Приятная игра, плохая защита, я имею в виду хорошая для взлома!! Интсрументарий: W32Dasm 8.9 Hex-editor Прежде чем начать взлом нам нужно узнать, что происходит, если игра запускается без диска, так что запустим 2.02 и... вот дерьмо!.. "Please insert the Unreal CD-Rom and press OK to continue, or Cancel to exit." Теперь запускаем W32Dasm и открываем unreal.exe, жмём на String Data References и ищем наше сообщение... Вы не нашли? Ok, скажу вам правду, процедура проверки находится не в unreal.exe, она в window.dll!! Так что открываем window.dll и ищем сообщение, два раза кликаем на нём. Теперь вы увидите: * Reference To: Core.?appFSize@@YAHPBD@Z, Ord:0311h | :10B1C4AA FF15E4B6B310 Call dword ptr [10B3B6E4] :10B1C4B0 83C404 add esp, 00000004 :10B1C4B3 85C0 test eax, eax <-- сравнение результатов проверки :10B1C4B5 7F31 jg 10B1C4E8 <-- если всё хорошо, то запускаемся :10B1C4B7 6801200000 push 00002001 <-- иначе... * Possible StringData Ref from Data Obj ->"Cd Required At Startup" | :10B1C4BC 68089DB310 push 10B39D08 * Possible StringData Ref from Data Obj ->"Please insert the Unreal CD-Rom " ->"into your drive and press OK to " ->"continue, or Cancel to exit." | :10B1C4C1 68989CB310 push 10B39C98 ... Всё, что нужно сделать, это заменить jg на jmp. Нам нужно узнать оффсет, чтобы изменить байты в файле, так что доходим до адреса:10B1C4B5, полоска станет зелёной, посмотрите вниз, в статус бар и вы увидите @Offset:0001B8B5h. Теперь мы знаем, что offset = 1B8B5. Запустите Hex-редактор и ищите offset 1B8B, затем замените 7F на EB и сохраните. Запустите игру без диска и.... Круто!! Она взломана!! Эту игру очень легко взломать, единственное, что меня задержало на некоторое время это то, что проверка находится в window.dll. Я надеюсь вам понравилось... Xcellent - The Brazillian crack3r xcellent@bol.com.br Перевод NightCat // TEAM-53 for T-53 Tutorials