0 / 0 / 0
Регистрация: 06.06.2013
Сообщений: 17
1

Можно ли определить содержимое файла?

06.06.2013, 17:43. Показов 1809. Ответов 25
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, помогите с проблемой, в общем я в программировании ничего не понимаю, надо попробовать прочитать сжатый файл, это база данных, меня интересует возможно ли извлечь из нее информацию, очень надо!

P.S. Извините если не там написал)
Вложения
Тип файла: rar fearxp.rar (122.8 Кб, 13 просмотров)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.06.2013, 17:43
Ответы с готовыми решениями:

Можно ли в RichEdit запихать содержимое Word-файла (текст и картинки)?
Можно ли в RichEdit запихать содержимое ворд файла? (форматированный текст + картинки) Если можно,...

Определить содержимое .res файла
Доброго времени сутки. У меня ест такой файл - с расширением .res и в нём хранится текст. не я не...

как можно изменить содержимое файла фотографии, не меняя самого фото?
Собственно - всё в названии. Нужна программа, которая изменяет именно содержимое файла картинки,...

Можно ли как-то стереть всё содержимое файла, не закрывая его, fstream
Доброго времени суток! Реализую метод внешней сортировки, и для этого мне нужно работать с...

25
0 / 0 / 0
Регистрация: 06.06.2013
Сообщений: 17
21.11.2016, 14:39  [ТС] 21
Author24 — интернет-сервис помощи студентам
Вообще я занимался другими делами и на это время отлаживал эти вещи, программирование это ведь не суп сварить, быстро не получится, буду конечно осваивать, хочу попросить людей кто может помочь немного, и то хорошо будет.

Я думал что исходники 10 летней давности все те же исходники на том же языке как и в большинстве игр. Поспрашиваю везде конечно, дело то добровольное, я даже не прочь оплатить успешные труды, так что может кто и отзовется.
0
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
21.11.2016, 14:52 22
Цитата Сообщение от Alvares89 Посмотреть сообщение
Я думал что исходники 10 летней давности все те же исходники на том же языке как и в большинстве игр.
Так то да, но игра уже не актуальна, а где пригодятся знания старой игры?
Можете попросить rikimaru2013. Если готовы заплатить, то в раздел фриланс. Может быть подойдёт еще этот раздел.
0
rikimaru2013
21.11.2016, 16:20
  #23

Не по теме:

MrGluck, вы красиво поступаете?

0
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
21.11.2016, 16:57 24
Цитата Сообщение от rikimaru2013 Посмотреть сообщение
MrGluck, вы красиво поступаете?
Я решил пригласить в тред эксперта в области С++ + GameDev. Можете считать это комплиментом. Если привлёк ненужное внимание - прошу прощения. Но помогать (платно/бесплатно) или нет решать вам, конечно.
0
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
21.11.2016, 17:31 25
Alvares89, все файлы от геймдева своего типа для своей программы, как правило бинарники.
Почитайте про сериализацию в С++ и вы найдете много примеров как она работает.
Но в крупных играх бинарники может прочесть только сама игра, так как она знает куда и как писать,
и тут же код на чтение. В основном такие файлы имеют вначале древо мапирования "Раздел" - "Offset".
Где-то есть в сети представление psd файла. К такому "стандарту" придерживаются многие:
вначале карта с версией read/write программы и сами данные. В коде "ссылки" на разделы могут
быть вбиты через enum и имя файл не возможно будет узнать, что за раздел и какой его offset.

Больше конкретике: в коде сериализатор знает, что 10 пункт( enum ) это сохранка главного героя,
далее идёт 32 бита отображающие смещение от начала файла к началу "Раздела". При переходе на
это смещение информационный заголовок от класса "Player" которому и разрешили писать в раздел.
Но в каком порядке там данные? Количество жизней, скорость и броня ? Или Уровень, мана и скорострельность?
Опять же никто не знает, кроме создателей игры.

Это я описал систему, где создатели взяли готовое решение "мапирования". А представьте, что они не пишут
"Раздел; отступ", а зашифровали 32-ух битный отступ в 128 битах после названия раздела. Как теперь
найти? Методом тыка? Прочитать в документации игры, если есть? Искать слив информации/код?

А как тогда взламывали игры наши деды? Есть правило в С++, что адрес переменной совпадает с
её размером. Переменная int 32 бита будет иметь адрес кратный 32-ум. Что дальше? Берём все данные
выделенные процессом игры, запоминаем все данные во всех адресах кратных 32-ум. Разворачиваем игру,
меняем эту переменную. Как? Ну знаем, что жизней у нас 133, нашли все переменные с адресами 32, нашли
у кого значение 133. Нашлось 199 шт. Почему так много? Вдруг это пиксели или еще что интереснее)
Поменялось здоровье, теперь 72, теперь в тех значениях адресов убираем все, у кого сейчас не 72, осталось 51 шт.
И так до победного) Как программисту защитить свои данные от такой атаки? Не хранить в явных местах или в явной форме.
Например разрабы Космических рейнджеров выводили золото "522", хотя у них в переменной было "5220". Так
они отсеяли 90% школьников мечтающий взломать вк и их игру)

Но это вмешательство в игру, в OЗУ, при перезагрузке всё слетит. Внедрение в сохранку намного круче,
как же туда залесть? Начнём с защиты: в онлайн играх общаются через hash сообщения и понять, где что
очень тяжело. Так же стоит аутентификация между клиентом и сервером. Самая простая все данные клиент
превращает отдельно в hash, вместе с секретным ключём от сервера, который пришёл ему с просьбой отослать все
данные и отправляет данные и их hash. Если попытаться даже как научиться подбирать hash меняя золото с 100 на 99999,
хакеру всеравно не узнать какой hash-секрет hash-ировался вместе с данными для отправки.

И это браузерные игры, где низкий уровень защиты. А теперь представьте онлайн игру. Там есть целые отделы отвечающие
за безопастность от хакерский-атак игры. И тут вы хотите их обмануть?

В целом всё реально, в защите слабое звено всегда человек. Я как-то нашёл на продажу исходники одного продукта,
над которым я работал в конторе более 7 месяцев) Найдите в гугле мепинг сохранки и меняйте значения,
но знайте, что если бы вы как программист поставили перед собой цель в течении 7 дней, защитить свои данные перед
релизом, вы бы отсеяли 97% мелких атак.


По вашей теме - вот есть небольшой пример мепинга для вашей игры https://steamcommunity.com/sha... =180211741
0
0 / 0 / 0
Регистрация: 06.06.2013
Сообщений: 17
21.11.2016, 17:43  [ТС] 26
А что вы можете сказать уважаемый про дописывание в движок еще одного эффекта?
0
21.11.2016, 17:43
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.11.2016, 17:43
Помогаю со студенческими работами здесь

Определить содержимое файла f, после выполнения следующих операторов:
Var f: file of integer; i: integer; Определить содержимое файла f, после выполнения следующих...

Записать в текстовый файл содержимое Edit, и прочитать содержимое файла в Memo
Создать приложение которое создает текстовый файл текстовый файл text.txt записывает в него текст...

Копировать содержимое одного указанного файла в другой указанный файл, дописывая, а не стирая его содержимое
Dragokas, Помогите пожалуйста с заданием! Задание 3. Написать командный файл, копирующий...

Даны два текстовых файла. Добавить в начало первого файла содержимое второго файла
Даны два текстовых файла. Добавить в начало первого файла содержимое второго файла.


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

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

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