Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.98/50: Рейтинг темы: голосов - 50, средняя оценка - 4.98
2 / 2 / 0
Регистрация: 17.02.2010
Сообщений: 60
1

Открытие неизвестных файлов, например файлов ресурсов игры для распаковки

17.01.2012, 19:44. Показов 10278. Ответов 22
Метки нет (Все метки)

Хочу научиться писать программы для открытия неизвестных файлов.
например, вышла какая-нибудь игра, а в ней ресурсы или конфиги в неизвестных форматах, но никто ещё не сделал соответствующих программ для редактирования. Так вот, как мне исследовать эти файлы, разбирать?
Другими словами, как мододелы пишут свои программы для моддинга?
от вас, форумчане, жду хотя бы ссылки на материал, который можно изучить
лучше всего на C#, но можно и C/C++ .
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.01.2012, 19:44
Ответы с готовыми решениями:

Просмотр содержимого файлов не известного для Windows формата (например, ресурсы игры)
Не знал, где спросить. Т.к программирую на VB, пишу здесь. Есть файл, содержащий ресурсы...

Какие есть библиотеки для распаковки zip файлов?
Какие есть варианты библиотек для c++ чтобы распаковывать zip? Конкретно у меня компилятор MinGW....

Вывод списка .txt файлов в папке и последующее открытие файлов
Ребята, подскажите или помогите реализовать программу, которая допустим при помощи OpenFileDialog,...

Консольное приложение: отображение структуры файлов и папок, перемещение по папкам, открытие файлов
Приложение написанное на языке СИ позволяющее в консольном режиме отображать структуру файлов и...

22
Заблокирован
17.01.2012, 19:55 2
C#
1
 System.Diagnostics.Process.Start("notepad.exe", "file.SUDALV");
,
0
2 / 2 / 0
Регистрация: 17.02.2010
Сообщений: 60
17.01.2012, 20:04  [ТС] 3
Цитата Сообщение от slacker Посмотреть сообщение
C#
1
 System.Diagnostics.Process.Start("notepad.exe", "file.SUDALV");
,
и что?понятно что бывают конфиги - просто переименованые текстовые файлы. А если это не так?
0
Эксперт С++
2644 / 2215 / 331
Регистрация: 03.05.2011
Сообщений: 4,659
Записей в блоге: 17
17.01.2012, 20:06 4
не лёгкое вы себе занятие нашли
чтобы вскрывать "неизвестные" а точнее запакованные файлы/архивы (проще говоря пак от англ. pack) в первую очередь нужно уметь работать с hex-редактором, уметь искать заголовки и многое ещё чего.
вот почитайте старую, но вполне адекватную статейку http://www.extractor.ru/articl... ie_arhivi/
зная адреса заголовков, размеры и прочее на основе этого можно уже писать распаковщик.
также могу предложить вам использовать скриптовый распаковщик QuickBMS http://aluigi.altervista.org/quickbms.htm (вообще у Luigi Auriemma много интересных программ на сайте), по синтаксису скриты очень схожи с синтаксисом C#
ну и пользуйтесь англоязычными форумами по данным вопросам, например (прямую ссылку на форумы запрещено давать) xentax.com и тамошний форум.
1
2 / 2 / 0
Регистрация: 17.02.2010
Сообщений: 60
17.01.2012, 20:09  [ТС] 5
Цитата Сообщение от _lunar_ Посмотреть сообщение
не лёгкое вы себе занятие нашли
а если для начала условиться, что файл, который мне нужно рассмотреть - не архив?
спасибо, сейчас почитаю те материалы)
0
Эксперт С++
2644 / 2215 / 331
Регистрация: 03.05.2011
Сообщений: 4,659
Записей в блоге: 17
17.01.2012, 20:11 6
Цитата Сообщение от SUDALV Посмотреть сообщение
а если для начала условиться, что файл, который мне нужно рассмотреть - не архив?
не нужно принимать слово архив буквально за архив типа rar, zip, 7z и др. Архивами могут быть любые файлы с любым расширением, пожатые различными методами.
0
2 / 2 / 0
Регистрация: 17.02.2010
Сообщений: 60
17.01.2012, 20:47  [ТС] 7
Цитата Сообщение от _lunar_ Посмотреть сообщение
не нужно принимать слово архив буквально за архив типа rar, zip, 7z и др. Архивами могут быть любые файлы с любым расширением, пожатые различными методами.
это понятно, а что насчёт файлов, которые вообще не содержат в себе других файлов, не архивов?
ну например вот сейчас полазил по папкам для примера нашёл некую программу, у которой есть файл eeprom.dsc , который на вряд ли является архивом, скорее всего это просто бинарный файл , в который определённым образом записана информация. есть ли возможность каким-либо способом попытаться подобрать подход к этому файлу, понять как оригинальная программа его читает?(не дезассемблируя саму программу)
0
2478 / 1922 / 346
Регистрация: 22.07.2011
Сообщений: 7,296
17.01.2012, 21:55 8
Без определения структур и их размеров не реально, я могу все что угодно в файл записать при этом не мусором может быть одна строка где то в середине )., короче дохлый номер без анализа программы.
1
2 / 2 / 0
Регистрация: 17.02.2010
Сообщений: 60
17.01.2012, 21:58  [ТС] 9
Цитата Сообщение от sau Посмотреть сообщение
я могу все что угодно в файл записать при этом не мусором может быть одна строка где то в середине )
да, но ты это сделаешь только если нарочно захочешь запутать файл.
в реальных файлах мне кажется этого почти нет.

Цитата Сообщение от sau Посмотреть сообщение
Без определения структур и их размеров не реально
ну вот, а как можно их попытаться их определить?только проанализируя код программы, его юзающей?
0
Эксперт С++
2644 / 2215 / 331
Регистрация: 03.05.2011
Сообщений: 4,659
Записей в блоге: 17
17.01.2012, 23:40 10
Цитата Сообщение от SUDALV Посмотреть сообщение
для примера нашёл некую программу, у которой есть файл eeprom.dsc , который на вряд ли является архивом, скорее всего это просто бинарный файл , в который определённым образом записана информация.
бинарный файл в большей степени это некий файл прошивки, BIOS и др. В таких файлах редко есть какая-либо структура или заголовки, в большинстве случаев это просто кусок кода с низкоуровневыми командами для управления флеш-памятью чипсета. С предложенным вами файлом могу лишь посоветовать искать через hex-редактор "ярко выраженные" сектора, судя по всему это файл относится к прошивки привода и поэтому там должны быть сектора условно называемые "Identify" или "Inquiry" - идентификаторы самого привода, как на скриншоте (Identify всегда перевёрнут).
вам надо определиться либо вы изучаете файлы подобно вышеописанному, либо действительно какие-то игровые ресурсы - файл в котором содержатся текстуры, видео/аудио данные и прочее, потому что это не одно и тоже.
Миниатюры
Открытие неизвестных файлов, например файлов ресурсов игры для распаковки  
0
2478 / 1922 / 346
Регистрация: 22.07.2011
Сообщений: 7,296
17.01.2012, 23:45 11
бинарный файл в большей степени это некий файл прошивки
- че О_о ?
1
Эксперт С++
2644 / 2215 / 331
Регистрация: 03.05.2011
Сообщений: 4,659
Записей в блоге: 17
17.01.2012, 23:48 12
да, и нечего странного здесь нет. Я лично нигде не видел например чтобы *.bin использовался игрой в качестве архива для текстур. Чаще это файлы дампа с какого-либо оборудования.
0
2478 / 1922 / 346
Регистрация: 22.07.2011
Сообщений: 7,296
17.01.2012, 23:50 13
а, ты в этом смысле, ото я уже испугался ), тут речь не о конкретном формате, а в общем..
0
Почетный модератор
Эксперт .NET
8702 / 3654 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
17.01.2012, 23:50 14

Не по теме:

_lunar_, бинарный файл. Вы файлы по расширению определяете что-ли?

Цитата Сообщение от SUDALV Посмотреть сообщение
ну вот, а как можно их попытаться их определить?только проанализируя код программы, его юзающей?
Можно попробовать определять по тому как происходит запись в файл, используя хуки на функции записи, но тем самым Вы себе усложните жизнь, легче использовать дизассемблер + отладчик.
0
_lunar_
17.01.2012, 23:54
  #15

Не по теме:

SSTREGG, конечно же нет, что за глупость.

0
slacker
17.01.2012, 23:56
  #16

Не по теме:

Если бы мы использовали, например, троичную систему, возможно файлы назывались бы тринарными)

0
2 / 2 / 0
Регистрация: 17.02.2010
Сообщений: 60
18.01.2012, 00:29  [ТС] 17
Цитата Сообщение от _lunar_ Посмотреть сообщение
вам надо определиться либо вы изучаете файлы подобно вышеописанному
да, именно это, а не архивы с текстурами

Добавлено через 3 минуты
Цитата Сообщение от SSTREGG Посмотреть сообщение
Можно попробовать определять по тому как происходит запись в файл, используя хуки на функции записи, но тем самым Вы себе усложните жизнь, легче использовать дизассемблер + отладчик.
т.е. самый верный способ всё таки изучить программу, использующую данный файл?
0
Почетный модератор
Эксперт .NET
8702 / 3654 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
18.01.2012, 00:31 18
Цитата Сообщение от SUDALV Посмотреть сообщение
т.е. самый верный способ всё таки изучить программу, использующую данный файл?
Если к файлу нет никакой спецификации (документации от разработчиков), то да.
1
siders666
09.07.2013, 15:32 19
SUDALV как с вами связатся лично? это насчет игр
6 / 6 / 0
Регистрация: 10.06.2013
Сообщений: 32
10.07.2013, 10:23 20
Недавно читал на Хабре несколько статей как раз по заданной теме, в них описывается как реально решались интересующие вас проблемы.
Статьи можно найти по запросу "Как мы делали наш последний любительский перевод" и "Любительский перевод игр: анатомия процесса".
Там же были и другие материалы, но к сожалению с ходу вспомнить заголовки не удалось...
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.07.2013, 10:23

Ассоциация файлов с программой, открытие нескольких файлов
Я ассоциировал файлы с расширением .scr со своей программой(свойства=>изменить). В свойствах...

Открытие файлов из собственного проводника файлов
Сделал свой проводник файлов на винте, каждый файл или папка это элемент List'а. Каким образом...

Хранение в программе файлов с возможностью распаковки на диск
Здравствуйте. Visual Basic изучаю недавно, и вот что интересует. Можно ли сделать так, чтобы вот...

Список имен файлов из архива без распаковки
С добрым утром. Вопрос : можно ли получить список имен файлов из архива (RAR,ZIP) не...

Открытие нескольких файлов для считывания данных
У меня есть несколько файлов , как лучше открыть их все для считывания чтобы дальше по программе...

Asus 5560 переустановка windows - во время распаковки файлов села батарея...
Помогите, подскажите пожалуйста. При переустановки windows, вовремя распаковки файлов села батарея...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru