Решил открыть что-то новое, мини-гайды по патчингу и отладке! Погнали.
Итак, я устаналиваю Фотошоп(заняло полчаса).
И вот запускаю и вижу ошибку.
Открываю в отладчике
Вижу какая-то ошибка и я конечно иду в Call Stack! Что это такое? Программа что-то делает и записывает в эту табличку последние использованные подпрограммы.
Где написано Система-ты ничего не можешь сделать! Системные файлы не изменить.
Я пошёл пониже до Пользователь где написано и вот что я увидел.
Какой-то call и сражу за ним ошибка! Иду по F7 и вижу вот что.
Я немного ошибся! До этой команды есть jne а за ним jmp который перегрыгивает эту ужасный call с ошибкой.
Он мне и нужен!
Меняю!
Было:
Стало:
И теперь иду дальше-снова eror! Что делать? Конечно иду в Call Stack и смотрю что выше перепрыгивает ошибку.
Много всегда но я потыкав F7 и F8 нашёл вот это.
Классика test rax,rax и если бы там был 0 то ошибки бы не было.
Эта инструкция значит, если rax содержит 0 ПЕРЕПРЫГНУТЬ через ошибку.
Исправляем.
Сохраняем файл и вот готово! Фотошоп немного ругается но работает.
Этим мини-гайдом я решил открыть серию руководств по изменению кода! В этой первой части мы НЕ разбираясь просто пропатчили переходы и всё.
А что там было внутри...да кто его знает.
Теперь всё работает можно пользоваться.
Вот я решил делать практическую работу и показать некоторые фишечки и решения.
Гугл Диск