![]() |
Снятие с QIP проверки CRC
Небольшая заметка по модификации QIP Бывает такое, что необходимо чтото подправить в интерфейсе QIP. И вот вы берете какой нибудь редактор ресурсов типа ResHack, подправляете то, что вам нужно, сохраняете и.... при запуске qip орет Sorry, qip.exe file is corrupted Для того чтобы снять проверку CRC нам потребуются 2 вещи: 1) Cам qip.exe 2) Отладчик OllyDbg Для теста был взят QIP 8080 Шаг 1: Открываем qip.exe в OllyDbg. Ждем, пока пройдет анализ кода и нас не кинет на точку входа в программу. Шаг 2: Необходимо найти часть, где располагается сообщение об ошибке в памяти. Для этого в окне CPU нажимаем комбинацию клавиш Ctrl+B (поиск бинарных данных). В открывшемся окне в поле ASCII вписываем текст Sorry, qip.exe file is corrupted и нажимаем OK. Результатом выполнения будет код на экране примерно таков: Код:
00604FEC . 53 6F 72 72 79 2>ascii "Sorry, qip.exe f"Шаг 3: Теперь нам нужно найти команду, в которой используется этот адрес. Для этого выделяем адрес начала строки (00604FEC) и нажимаем Ctrl+R (поиск ссылки для этого адреса). В результате откроется окно с командами, где используется этот адрес и их адрес в памяти. Мы видим следующую картину: References in qip:CODE to 00604FEC Address Disassembly Comment 00604F1F mov edx, 604FEC ASCII "Sorry, qip.exe file is corrupted." 00604FEC ascii "Sorry, qip.exe f" (Initial CPU selection) Теперь мы знаем, что наш текст был записан в регистр командой mov edx, 604FEC находящейся по адресу 00604F1F. Делаем двойной клик на этой строке, чтобы переместиться на тот участок кода. Теперь в окне CPU мы можем наблюдать часть кода: Код:
$-1C >|. 55 push ebpСразу замечаем, что выше есть инструкция: $-9 > 75 1D jnz short 00604F35 ; qip.00604F35 Которая, как бы перепрыгивает код вывода сообщения. Шаг 5: Изменяем логику проверки инструкции на противоположную. jnz(если не равно нулю) мы должны заменить её на jz(равно нулю) Для этого двойным щелчком открываем окно редактирования, где изменяем jnz на jz и нажимаем на кнопку Assemble, а потом Cancel(Отмена). Шаг 6: Вроде всё хорошо, но изменения, которые мы сделали, находятся пока что только в оперативной памяти. Для сохранения изменений в файле необходимо в контекстном меню выбрать пункт Copy to executable file. В открывшемся окне , в контекстном меню выбираем пункт Save File, и сохраняем с именем qip1.exe. Теперь появится файл qip1.exe в, котором будет отключена проверка CRC. Теперь можно закрыть отладчик. Вот и всё ) (С) SLESH |
Слеш ты как всегда на высоте - спасибо именно это мне и нужно было
|
| Время: 06:11 |