Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 3 817

/ вопрос открыт /

Доброго времени суток, уважаемые эксперты!
Хочу узнать, можно ли как-то в Delphi создать программу, которая бы читала .DLL файлы с различных игр? Просто в них, на сколько я понимаю, заложен сам игровой процесс - т. е. что нужно сделать, чтобы выдала игра тот или иной файл на экран и т. д. Или уже есть какие-то программы подобного рода? Подскажите, пожалуйста!

A000Y Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: A000Y (статус: Посетитель)
Вопрос отправлен: 26 февраля 2010, 08:13
Состояние вопроса: открыт, ответов: 0.


Мини-форум вопроса

Всего сообщений: 13; последнее сообщение — 26 февраля 2010, 16:26; участников в обсуждении: 3.
Dron

Dron (статус: Студент), 26 февраля 2010, 09:40 [#1]:

В общем смысле DLL - это такие же программы, как и EXE. Извлечь из них информацию можно только анализом машинного кода или дизассемблированием, что для обычного любителя-программиста является крайне сложной задачей.
Но иногда встаёт задача вытащить из игры музыку/графику/что-то ещё - здесь поможет программа Dragon Unpacker. Она анализирует файлы на наличие в них файлов стандартных форматов. Разработчики всячески прячут ресурсы, но в некоторых случаях их действительно можно извлечь. То же самое может оказаться применимым и к ходу игры - если всё записано в каких-то файлах наподобие INI, то можно попытаться достать их.
С уважением.
Вадим К

Вадим К (статус: Академик), 26 февраля 2010, 10:02 [#2]:

Игровой процесс может быть заложен где угодно. Например сейчас любят для этого дела использовать скрипты, написанные на LUA. Но там в основном "сценарий".

То есть скажем коротко - нет общего правила, как и где размещать какой код.
Галочка "подтверждения прочтения" - вселенское зло.
A000Y

A000Y (статус: Посетитель), 26 февраля 2010, 14:08 [#3]:

Dron, спасибо, но в том то и дело, что всякая музыка и т. д. лежат отдельными файлами - их достать не проблема... А вот с ходом игры - проблематично!

Вадим К, спасибо, но в моем конкретном случае "сценарий игры" лежит в одном из трех .dll файлов [больше ему просто негде быть] (кстати, файл формата .LUA тоже имеется, но он совсем мало весит - и в нем всего 2 строчки - если его текстовым просмотреть редактором) Но при этом есть lua5.1.dll...

Еще раз большое спасибо за помощь) Значит можно подвязывать этим страдать)
Вадим К

Вадим К (статус: Академик), 26 февраля 2010, 14:15 [#4]:

lua5.1.dll - это интерпретатор для языка LUA.

А с чего такая уверенность, что сценарий игры именно в dll? он может быть где угодно. Всё зависит от фантазии разработчиков.
Галочка "подтверждения прочтения" - вселенское зло.
A000Y

A000Y (статус: Посетитель), 26 февраля 2010, 14:30 [#5]:

>lua5.1.dll - это интерпретатор для языка LUA.

без особых проблем его как-то прочитать можно?

>А с чего такая уверенность, что сценарий игры именно в dll? он может быть где угодно. Всё зависит от фантазии разработчиков.

В игре 2 папки - одна видео, другая аудио - в первой только видео файлы - в другой только аудио. Есть сам EXE игры и 3 dll файла... + 1 файл - параметры конфигурации и почти пустой .LUA файл... И все... вроде, кроме dll файлов спрятать больше некуда сценарий)
Вадим К

Вадим К (статус: Академик), 26 февраля 2010, 14:39 [#6]:

а зачем читать файл lua5.1.dll? Вы точно понимаете смысл слова интепретатор и смысл слова "прочитать"?
Хотя если сильно хочется почитать, то можно вот тут http://www.lua.org/ftp/ взять исходники этой библиотеки. Но уверяю, там "сценария игры" не найдете.
а почему бы сценарий на запрятать в exe?
Галочка "подтверждения прочтения" - вселенское зло.
A000Y

A000Y (статус: Посетитель), 26 февраля 2010, 14:57 [#7]:

> а почему бы сценарий на запрятать в exe?

- можно и запрятать в exe... но все равно его от туда достать не легче, чем из dll (не важно, где бы он не был бы). Или легче?
Вадим К

Вадим К (статус: Академик), 26 февраля 2010, 15:09 [#8]:

а в каком виде ожидается сценарий? он ведь может быть размазан по код тонким слоем так, что не соберешь.
Галочка "подтверждения прочтения" - вселенское зло.
A000Y

A000Y (статус: Посетитель), 26 февраля 2010, 15:16 [#9]:

Ну это я не знаю) Это я думал уже на месте разобраться... мне там единственное что нужно - узнать, каким образом (при каких условиях) запускается 1 видео файл, название которого мне известно)
Вадим К

Вадим К (статус: Академик), 26 февраля 2010, 15:29 [#10]:

ну тогда в чем проблема? кто мешает поискать его имя в всех подозрительных файлах? а сами файлы можно открыть даже блокнотом (главное не жать "сохранить" и не забыть сделать резервную копию). хотя лучше пользоваться хекс редактором.
Галочка "подтверждения прочтения" - вселенское зло.
A000Y

A000Y (статус: Посетитель), 26 февраля 2010, 15:38 [#11]:

>ну тогда в чем проблема? кто мешает поискать его имя в всех подозрительных файлах?

Проблемы найти файл - нет! Есть проблема залезть в exe файл и узнать, каким образом он будет в игре появляться

>а сами файлы можно открыть даже блокнотом (главное не жать "сохранить" и не забыть сделать резервную копию).
блокнот шифрование не распознает - выдает набор квадратиков, букв Ю и Я и т. д.

>хотя лучше пользоваться хекс редактором.
сейчас поищу - попробую) Спасибо!
Вадим К

Вадим К (статус: Академик), 26 февраля 2010, 15:42 [#12]:

"блокнот не распознает шифрование"... не, блокнот не дизассемблер. но строку в бинарнике он может найти не хуже хекс редактора.

Может ещё затариться дизассемблером? но это уже немножко выходит за пределы этого сайта...
Галочка "подтверждения прочтения" - вселенское зло.
A000Y

A000Y (статус: Посетитель), 26 февраля 2010, 16:26 [#13]:

>Может ещё затариться дизассемблером? но это уже немножко выходит за пределы этого сайта...

Затариться то можно, но не думаю, что он мне поможет, с моими то знаниями во всем этом)

Еще раз большое спасибо!

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:40
Выполнено за 0.03 сек.