категории | RSS

Gothic 3:Forgotten Gods. Переустановка

Gothic 3: Forsaken Gods. Переустановка.

В этой статье я расскажу как можно переустановить subj после неправильного удаления его с диска.
Инструменты :OllyDbg со стандартным набором плагинов, notepad++ (для написания этой статьиsmile)

***Статья предназначена только для того, чтобы указать разработчикам на неправильный ход установки, а юзерам -
дать возможность переустановки игры***

Часть первая - первое утро.
Однажды погожим летним утром я встал и понял, что мне не в чего играть. Тогда я не долго думая сбегал в
магазин и купил там лицензионный диск Готики (магазин назывался DC++ smile) . Недолго думая я поставил игру, и
предвкушая прекрасный геймплей загрузил ее. Недолго поиграв, я наткнулся на первый баг, матернулся, и полез в
инет за патчем. Скачав его (порядка 300mb), поставил, решил что все глюки исправились (ну или хотя бы большинство),
загрузился. Глюки остались. Мне это как то надоело, и я недолго думая снес Готику, просто удалив ее папку.

Часть вторая - второе утро.
На следующее утро я остыл, и подумал, что ладно уж, глюки так глюки, поиграю и с ними. Вставил диск, нажал
setup - и о чудо мне говорят "Извините, но на данном компьютере игра уже установлена" (!!!) и дальше установка
закрывается без возможности выбора. Я прочистил весь реестр, все папки, все,что могло остаться от Готики - но
ничего не помогло. Тогда я взял в руки OllуDbg winked

Часть третья - собственно работа.
Загрузив setup.exe в OllyDbg (далее оля), я решил найти место вызова этого злобного окошка с противной надписью.(скрин 1).
Последовательно проходя по всем процедурам и ждя появления этого окошка,я дошел вот до такого места:
409FD1 MOV EDX,DWORD PTR SS:[EBP-10]
409FD4 MOV ECX,setup.0040B240
409FD9 MOV EAX,DWORD PTR DS:[40CDFC]
409FDE CALL setup.004097BC
В этой процедуре происходит вызов окошка. Что то заставило меня взглянуть в регистры и там я увидел вот что:
EAX 01B528A8 ASCII "C:\Users\admin\AppData\Local\Temp\is-29MK9.tmp\setup.tmp"
EDX 01B528F0 ASCII "/SL5="$B04E6,69632,0,G:\setup.exe" "
Ого ! программа установки пишет сюда ":\Users\admin\AppData\Local\Temp\is-29MK9.tmp\setup.tmp" какой то файл!
Смотрим на него, и это оказывается не какой-то tmp, а самый настоящий exe ! Загружаем теперь его в олю, пускаем
по f9 и видим (скрин 2). Программа не хочет запускаться у нас сама без инсталлятора !! Что за жизнь...
хмм, что же делать ? но тут я вижу, что в регистрах кроме места записи стоит что то очень похожее на параматры
запуска программы! Ну что же, проверим ? Ок. Запускаем с этим параметром, и о чудо, она запускается, но опять
выдает противное окно(скрин 1). Ну что же, на этот раз сделаем умнее, поставим breakpoint на процедуру MessageBoxA.
(пояснение - отладчик вылезет сразу, как только программа попытается вывести противное окно, вызываемое функцией MessageBoxA).
Т.о. мы попадаем в процедуру, начинающуюся с адреса 0042EB68, собственно в ней и есть вызов нехорошего окна.
Что же делать? Но я замечаю, что выше вызова окошка есть какое-то сравнение:
42EB77 CMP BYTE PTR DS:[492678],0
42EB7E JE SHORT setup.0042EB86
Исправляем его на противоположное:
42EB77 CMP BYTE PTR DS:[492678],0
42EB7E JNZ SHORT setup.0042EB86
Жмем f9 ... появляется окно, но оно немного другое . (скрин 3) неужели все старания впустую?. Жмем на ОК и ... Установка
началась!!! Хвалим себя за догадливость и устанавливаем игру заново.

Часть последняя - Вывод.
Разработчики поленились рассмотреть вариант неправильного удаления игры владельцем - в результате чего пришлось написать эту статью. Спасибо им.
С вами был antilox, до встречи !

Прикрепленный файл: 2649_scrins.rar (20.50 кб)

DimonVideo
2009-06-04T14:40:06Z
Здесь находятся
всего 0. За сутки здесь было 0 человек

Комментарии 3

#3   antilox    

Название исправил. Немного.
Да да, все понял


0 ответить

#3   oooii3gg    

Будет чудесно, если автор исправит название игры на forsaken gods. А то набегут негодующие и начнут в это название тыкать.

Теперь по теме.
Мораль сей басни такова:
Коль горяча уж голова,
Не надо делать все сперва,
А думать после.


0 ответить

#3   TheOnlyOne    

как то все сложно) можно и без отладчика было. но если сам писал то круто)


0 ответить

Яндекс.Метрика