· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.RESEARCH —› Кто-нибудь исследовал "Space rangers"?

Посл.отвђт Сообщенiе


Дата: Янв 1, 2004 12:53:56

Игрушка, сохраненки которой практически невозможно изменить из-за страшно хитрого шифрования. Может, кто-нибудь сталкивался? Кроме всего прочего, при запуске SI без ID выдает "Debugger found"...


Дата: Янв 1, 2004 14:38:40

Sharp
Если тебя интересует как поставить кучу денег, то исследовать ничего не нужно. В начале игры берешь отправляешь двигатель на продажу. Вместо того чтобы сразу кликнуть на ОК, переключаешься в винду, запускаешь ArtMoney и ищешь число денег предлагаемое за двигатель. Таких значений будет не много. Берешь и правишь их все на минус_желаемое_количество_денег. После чего жмешь в игре ОК, а затем покупаешь двигатель назад. Только очень много денег ставить не стоит, так как количество денег у других зависит от количества денег у игрока. В результате они скупят все оружие и перебьют всех клисан и игра станет совсем не интересной.


Дата: Янв 3, 2004 17:20:55

Скажи конкретно, что в ней тебя интересует? Как править сейв и потом лоадить его?


Дата: Янв 4, 2004 04:32:58

Меня интересуют антиотладочные приемы, используемые SR, как IceDump их обходит (к слову, это на него матерится DrWeb - FSAPIHook?) и что за страшный алгоритм шифрования используют SR в своих сейвах. По поводу движка - стоит попробовать, но изменять деньги не так интересно (к слову, прямое изменение денег ни к чему не приводит). Куда как интереснее изменять параметры оборудования. И еще - у них есть не такой уж и большой файл ToServer.dat, предназначенный для чемпионатов. Не имея никаких предосудительных намерений ;) хотелось бы узнать, как он шифруется...


Дата: Янв 8, 2004 17:20:56

Объяснения будут довольно пространными в силу того, что на данный момент EXE'шником не распологаю (если интересно конкретно, приаттач EXE):
Идея такая: сейв довольно понятного формата, но прога кодит его XOR'ом из какой-то таблицы (не разбирался откуда она берётся), + при лоаде проверяет его контрольную сумму (процедуру проверки сумму можешь посмотреть сам, ниже покажу где она).
В общем, так, пользовался я для этого Win32Dasm'ом (идой не распологал, да и не нужна она тут) ключевыми словами были "Save" и "Load". Находишь что-то вроде- "Save", кусок кода,"Load", кусок кода,"Score", кусок кода (порядок следования не помню, может не так). Надеюсь для чего каждый используется- понятно. Где-то после слова "Load" идёт условный jump, который и вырубает пропатченый сейв, что с ним (в смысле с jump'ом) делать, тоже понятно (сделай backup- пригодится). По-моему непосредственно перед jump'ом идёт проверка CRC (не дословно CRC, а в смысле конторольная сумма- долго писать)- небольшая и понятная процедура.
Теперь относительно как получить сейв в читабельном виде. Не помню, как, вроде вообще чисто интуитивно смотрел что-то вроде xor byte ptr [e?x],al и нашел. Подряд идут три процедуры xor'енья для byte'а, word'а, и dword'а (стоит сказать, что эти три процедуры встречаются ДВА раза- но я не нашел где вызывается вторая (или первая- не помню) тройка). Ты должен чем-нить убить xor для byte, тут- твоя фантазия.
Далее, поправив проверку после "Load'a" и прибив xor,запускаешь SR, создаёшь новую игру и сейваешся. Надеюсь, как опознать сделанный сейв ты знаешь:) Далее стандарт: открываешь его, ищешь свое Имя (встречается вроде 2 раза) и пытаешся понять формат (можешь наделать несколько сейвов с небольшими измененияи и сравнивать). Что я немного помню:
описание состоит из 2-х частей:
а) технологии (в том числе и корабль), пушки, спец-технологии ...
б) (прмоему после слова ship далее от Имени) ранг,награды (прикольная вещь:),навыки (типа торговли, починки ...), и т.д.

технологии содержат- код (ID), крутость (1-5), цена, ВЕС, поломанность и параметры зависящие от конкретной технологии,
пушки- чуть посложнее (добавляется местоположение на корпусе) думаю разберёшься.
спец-технологии- тоже ничего сложного (другое дело: армейский пеленгатор и ментальный комуникатор :).
Блин, по сейву вроде всё.
Теперь предупреждаю с пропадченого EXE- НЕ ИГРАТЬ. Черевато, как минимум- вылетом, неработоспособностью квестов. Моё решение: подредактировали сейв, запускаем через TD32 SR, ставим бряк на "Save" (выше искали), пытаемся в игре сейвнутся, вылетаем в TD32, восстанавливаем XOR BYTE PTR [E?X],AL, выходим из SR, восстанавливаем оригинальный SR (вот backup и понадобился) и играем с него. Коряво, до ужаса коряво, но все таки первое решение (и последнее- лень).
На примере TD32 никакой антиотладки не заметил- спокойно работал.
Что до ToServer.dat- не разбирал. Да и зачем- все можно получить через сейв. Если что непонятно- спрашивай.


Дата: Янв 11, 2004 12:35:41

а теперб вопрос - нахрен патчить сейвы или поганить exe, если можно той же артмани пропатчить в памяти прямо или свой трейнер написать :)


Дата: Янв 11, 2004 20:39:19

2Sem: спасибо, попробую.
2Baron Gede: артмани его не берет, а поменять параметры оборудования вообще нельзя, так как они не меняются между продажей/покупкой


Дата: Янв 12, 2004 02:03:45

>Кроме всего прочего, при запуске SI без ID выдает Debugger found"...
Просто сам екзешник запакован ORiEN`ом. Это такой пакер. Распаковывается легко, но SR потом проверяет контр. сумму, где точно не помню, если надо, пиши. У меня расспакованый экзешник пашет нормально, менять там можно чего угодно.


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.101