Какой программой открыть файлы dat и экзе?, Софт вопросы
|
G.K.
Грамотный
Группа: Пользователи Сообщений: 214 Регистрация: 23.06.2006 Пользователь №: 184.099
Респектов: 8
Предупреждений:
| Вобщем, я пару лет назад купил очень пиратский диск с игрой (дети Нила). В игре был один очень глупый, но очень серьёзный баг - вместо дома резчика по камню строится дом обычного каменщика, из-за чего невозможно построить кучу сооружений. Я в программировании- чайник, но сейчас думаю, что вполне мог бы починить этот баг сам, поскольку проблема, как я понимаю, только в том, что в каком-то файле вместо одного имени по ошибке написали другое. (я уже таким манером в одной игре кое-что поменял, просто путём подмены одного, вырезания другого, короче, чистой логикой).
Но там были файлы lua, они блокнотом открывались. А тут проблема в том, что для этого надо как минимум пооткрывать файлы .дат (блокнот выдаёт абракадабру), а, может быть, и экзешник.
Чем это всё можно прочитать и отредактировать?
Добавлено: ЗЫ. А, может быть, и длл придётся открыть тоже. | |
| |
4.09.2007 - 9:11 |
middleman
профи!
[SoftoRooMTeaM]
Группа: Наши Люди Сообщений: 3.366 Регистрация: 15.03.2005 Из: Украина, Харьков Пользователь №: 8.829
Респектов: 744
| Цитата | Quote сплошную абракадабру, в которой периодически попадаются читаемые строки латиницей
Это не текстовые фаилы. Это результат работы компилятора - машинный код. Исполняемый код ты не прочитаешь. Некоторые старые компиляторы оставляли текстовые строки отображаемые на экране в неизменном виде. Если ты даже поменяешь одну из этих строк измениться лишь отображаемое на экране слово. на игровой процесс это никаким боком не повлияет, т.к. последний задается исполняемым кодом, а не отображаемыми строками. В общем-то у тебя три варианта. Первый и самый простой это поискать багфикс, который исправит эту ошибку. Второй посложнее... Тебе нужно выяснить на каком языке была написана игра (возможно вплоть до билда компилятора) и найти или написать (что врядли) под него декомпилятор, который переведет машинный код обратно в команды языка, потом проправить программу и тем-же самым компилятором скомпилить обратно в машинные коды. Ну и третий, самый невероятный... это разобраться в ассемблере и поправить исполняемый код напрямую. Если открыть фаил под WinHex ты увидишь шестнадцатиричные коды. Если открыть его под каким-то дизассемблером, то увидишь эквивалентные этим кодам команды ассемблера. Каждый байт или несколько байт информации в этом фаиле будут представлять ту или иную команду машине. Вот их то тебе и надо будет править. Только эти команды реально влияют на игровой процесс. | |
| |
4.09.2007 - 23:30 |
G.K.
Грамотный
Группа: Пользователи Сообщений: 214 Регистрация: 23.06.2006 Пользователь №: 184.099
Респектов: 8
Предупреждений:
| Спасибо. А почему тогда у меня прекрасно открывались блокнотом файлы, скажем, lua? В них же тоже код, который на игру влияет огого как... Очень простой, причём. Багфикс, к сожалению, не выйдет, потому что официальные патчи на эту версию даже ставиться не хотят - диск покупал, привезенный прямо из карибского моря И уже не помню, что за фирма произвела этот диск, поскольку потом обменял его на другую игру В общем, расшифровать файл "дат", даже если он весит 1 кб, нельзя никак? ЗЫ. А как выясняется, каким языком и компилятором игру делали? У разрабов игры спросить - "как мне вашу игру пиратскую разворотить поудобнее, не подскажете, где соответствующий софт скачать?" Добавлено:Цитата | Quote Это не текстовые фаилы. Это результат работы компилятора - машинный код. Исполняемый код ты не прочитаешь. Некоторые старые компиляторы оставляли текстовые строки отображаемые на экране в неизменном виде. Нет, это нигде не оображается. Вот пример: Ш яяяя яяяяяяяяяяяяяяяя * • N N и НМЊ?НММ= Ђ Ђ Ђ Ђ C * graphics\interface\buttons\but_placeholder ыяяя а * graphics\interface\buttons\but_placeholder ыяяя $ @њ Ђ8 ? Ђ> { { N * graphics\interface\buttons\but_placeholder N Ђ? ђ * graphics\interface\buttons\but_placeholder – N N и НМЊ?НММ= Ђ Ђ Ђ Ђ * graphics\interface\buttons\but_placeholder ыяяя яяяя яяяяяяяяяяяяяяяя * у N N и НМЊ?НММ= Ђ Ђ Ђ Ђ * graphics\interface\buttons\but_placeholder ыяяя ѕ N N и НМЊ?НММ= k k k k 6 * graphics\interface\buttons\but_placeholder яяяя яяяяяяяяяяяяяяяя * яяяя яяяяяяяяяяяяяяяя * Ђ8 ' @њ @? ? 1 1 - * graphics\interface\buttons\but_placeholder шяяя Ђ? Д N N и НМЊ?НММ= Ђ Ђ Ђ Ђ * graphics\interface\buttons\but_placeholder ыяяя ¬ `к ' и НМЊ? ? * * 1 * graphics\interface\buttons\but_placeholder х Ђ8 Ђ8 N ? Ђ> ~ 1 , , a * graphics\interface\buttons\but_placeholder – % Ђ8 ' @њ @? ? k k ; ; ы * graphics\interface\buttons\but_placeholder ыяяя Ы N N и НМЊ?НММ= Ђ Ђ Ђ Ђ * graphics\interface\buttons\but_placeholder ыяяя “ * graphics\interface\buttons\but_placeholder # ьяяя яяяя яяяяяяяяяяяяяяяя * Ф \ * graphics\interface\buttons\but_placeholder яяяя яяяяяяяяяяяяяяяя * Ц @њ q ' ?ГхЁ> * graphics\interface\buttons\but_placeholder л Ђ8 @њ N @? ? * graphics\interface\buttons\but_placeholder * graphics\interface\buttons\but_placeholder ыяяя з Ђ8 N N @? ? * graphics\interface\buttons\but_placeholder # Ну, и т.д. | |
| |
5.09.2007 - 0:11 |
Evgeny101
Грамотный
Группа: Наши Люди Сообщений: 254 Регистрация: 27.05.2006 Пользователь №: 169.861
Респектов: 58
| Цитата | Quote(middleman @ 4.09.2007 - 10:11) Ну и третий, самый невероятный... это разобраться в ассемблере и поправить исполняемый код напрямую. А по мойму это самый реальный вариант.Но только дизассамблер и редактор здесь врядли поможет.Берёшь отладчик в руки и вперёд.Токо я не представляю как ты будешь игру отлаживать. А если честно забей на это дело.Что бы фиксить такие баги нужен исходный код игры(сорцы) | |
| |
5.09.2007 - 10:15 |
middleman
профи!
[SoftoRooMTeaM]
Группа: Наши Люди Сообщений: 3.366 Регистрация: 15.03.2005 Из: Украина, Харьков Пользователь №: 8.829
Респектов: 744
| Цитата | Quote А почему тогда у меня прекрасно открывались блокнотом файлы, скажем, lua? В них же тоже код, который на игру влияет огого как... Очень простой, причём.
Возможно lua в этой игрушке представляет собой какое-то подобие стандартного INI. т.е. списка настроек игры. вполне естественно, что их изменение может влиять на игровой процесс в какой-то мере, но подобные фаилы конфигурации врядли смогут влиять на то какое здание по какой команде строится. Тот кусок кода, что ты привел похож на список путей к элементам интерфейса, а значит это не исполняемый код, который нужно менять, а просто набор даных, используемых движком для поиска картинок, изменением которых в игре совершенно ниче не изменишь. максимум вызовешь ошибку или зависание если движок по исправленому пути не найдет соответствующей картинки. | |
| |
5.09.2007 - 11:09 |
G.K.
Грамотный
Группа: Пользователи Сообщений: 214 Регистрация: 23.06.2006 Пользователь №: 184.099
Респектов: 8
Предупреждений:
| Ладно, народ, спасибо, я в общем понял, что тут без камасутры не разберёшься... И визит к проктологу после отладки гарантирован... :/ Будет время - может, попробую чего-то поменять. Цитата | Quote А по мойму это самый реальный вариант.Но только дизассамблер и редактор здесь врядли поможет.Берёшь отладчик в руки и вперёд.Токо я не представляю как ты будешь игру отлаживать. А что такое отладчик, чем он отличается от дизассемблера и какие есть отладчики, доступные в сети для скачивания? ЗЫ. Кстати, дизассемблер скачал. Файлы дат он вообще не открывает, говорит,что это типа то ли не вин32 файл, то ли ещё что-то, и открывает только хекс - коды. Открыл им длл - выдало хекс коды+много строчек чего-то непонятного, что, очевидно, является ассемблером. Исправить что-то там, к сожалению, маловероятно, поскольку я абсолютно не представляю, какой регистр, или как там оно называется, соответствует какому объекту в игре, и вообще, что это был за длл... Цитата | Quote Возможно lua в этой игрушке представляет собой какое-то подобие стандартного INI. т.е. списка настроек игры. вполне естественно, что их изменение может влиять на игровой процесс в какой-то мере, но подобные фаилы конфигурации врядли смогут влиять на то какое здание по какой команде строится. Это не ини было, там явный язык программирования какой-то был, по сложности, на мой чайниковый взгляд, что-то вроде рнр, и других языков веб-программирования. В целом на игровой процесс оно влияло - поскольку там напрямую были команды - при таком-то действии вызвать такую-то модель, такую-то анимацию. Как я понимаю, там вполне можно было и сами объекты местами поменять. Видать, язык какой-то высокоуровневый очень. | |
| |
6.09.2007 - 17:31 |
-=$eReG@=-
Опытный юзверь
Группа: Пользователи Сообщений: 112 Регистрация: 28.03.2007 Из: Киев Пользователь №: 363.984
Респектов: 12
Предупреждений:
| lua - один из языков программирования. Использовался, например, в S.T.A.L.K.E.R.е(в распакованной версии игры - файлы с расширением .script). Кстати, достаточно простой и удобный. Цитата | Quote Возможно lua в этой игрушке представляет собой какое-то подобие стандартного INI. т.е. списка настроек игры скорее всего, но кроме настроек могут быть простенькие функции. Проверь всё, что идёт после слов "function" и особенно - "class(es)". Class в программировании означает "объект" подробнее: Цитата | Quote вместо дома резчика по камню строится дом обычного каменщика скорее всего, что дома - описаны как объекты. Но даже если ты их найдёшь, это вряд ли что-то даст. Проблема может быть в движке игры. Вобщем, если не выйдет, у тебя три варианта: 1)забей 2)лицензия(хорошая пиратка) + патч 3)assembler(самый бредовый, потому как игры состоят, как правило, из тысяч строчек кода). зы: если получится или возникнут вопросы - спрашивай. Удачи! | |
| |
|
|