Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Alvares89
0 / 0 / 0
Регистрация: 06.06.2013
Сообщений: 17
#1

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

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

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

P.S. Извините если не там написал)
0
Вложения
Тип файла: rar fearxp.rar (122.8 Кб, 12 просмотров)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.06.2013, 17:43
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Можно ли определить содержимое файла? (C++):

Пользователь вводит имя файла, программа выводит содержимое файла с указанием номеров строк. - C++
Пользователь вводит имя файла, программа выводит содержимое файла с указанием номеров строк. Если пользователь вводит не существующий...

Добавить в конец первого файла содержимое второго файла - C++
Text6. Даны два текстовых файла. Добавить в конец первого файла содержимое второго файла. Помогите пожалуйста с решением, а желательно с...

Напишите программу, которая выводит на экран содержимое файла и выводит сумму чисел файла - C++
Напишите программу, которая выводит на экран содержимое файла D:\numbers.txt. и выводит сумму чисел файла. Вынужден снова просить...

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

Распечатать построчно содержимое файла - C++
Привет, форумчане! Тяжёлые времена настигли меня, поэтому вынужден попросить вас о помощи :cry: Мне выдали такую задачу: Написать...

Зашифровать содержимое текстового файла - C++
Програму сделайте...

25
Alvares89
0 / 0 / 0
Регистрация: 06.06.2013
Сообщений: 17
09.06.2013, 13:29  [ТС] #16
Может быть мне чего нибудь объясните, что там можно сделать, я попытаюсь понять. А пути какие можно ставить, для чего, ресурсов?
0
Wolkodav
604 / 457 / 32
Регистрация: 18.09.2012
Сообщений: 1,685
09.06.2013, 13:30 #17
Ну у вас же проект на C++ может иметь много файло( там куча .h, .cpp) и тому подобное, вот эти пути и прописаны
0
Alvares89
0 / 0 / 0
Регистрация: 06.06.2013
Сообщений: 17
09.06.2013, 13:36  [ТС] #18
Просто говорю же я не разбираюсь в коммандах, и остальной аббривеатуре. Та мне ничего не понятно, я не хочу вас отвлекать или тревожить но сам я понять ничего не смогую.
0
Alvares89
0 / 0 / 0
Регистрация: 06.06.2013
Сообщений: 17
21.11.2016, 13:48  [ТС] #19
Тема все еще актуальна, теперь есть немного конкретней цель, нужно к существующим типам эффектов добавить новый, в это мне так же понадобится помощь, чтобы разобраться в принципе, есть исходный код клиента и эффектов, нужно сделать эффект лазера, такой присутствует в последующих дополнениях но в первой части его нет, так же есть подобие из предыдущей версии движка на которой собрана игра blood, движок lithtech jupiter enterprise/ любая помощь приветствуется.
0
MrGluck
Модератор
Эксперт CЭксперт С++
7427 / 4542 / 676
Регистрация: 29.11.2010
Сообщений: 12,328
21.11.2016, 14:38 #20
Вы за 3.5 года еще не освоили программирование?

Добавлено через 2 минуты
Очень специфичная задача. Фишка в том, что вы заведомо лучше разбираетесь во всех этих технологиях чем пользователи форума. И, если честно, копаться в исходниках игры десятилетней давности, особо желания нет. Мб в разделе gamedev вам помогут? Или можете попробовать кого-нибудь в разделе фриланса заинтересовать.
0
Alvares89
0 / 0 / 0
Регистрация: 06.06.2013
Сообщений: 17
21.11.2016, 14:39  [ТС] #21
Вообще я занимался другими делами и на это время отлаживал эти вещи, программирование это ведь не суп сварить, быстро не получится, буду конечно осваивать, хочу попросить людей кто может помочь немного, и то хорошо будет.

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

Не по теме:

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

0
MrGluck
Модератор
Эксперт CЭксперт С++
7427 / 4542 / 676
Регистрация: 29.11.2010
Сообщений: 12,328
21.11.2016, 16:57 #24
Цитата Сообщение от rikimaru2013 Посмотреть сообщение
MrGluck, вы красиво поступаете?
Я решил пригласить в тред эксперта в области С++ + GameDev. Можете считать это комплиментом. Если привлёк ненужное внимание - прошу прощения. Но помогать (платно/бесплатно) или нет решать вам, конечно.
0
rikimaru2013
C++ Game Dev
2438 / 1132 / 240
Регистрация: 30.11.2013
Сообщений: 3,688
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/sharedfiles/filedetails/?id=180211741
0
Alvares89
0 / 0 / 0
Регистрация: 06.06.2013
Сообщений: 17
21.11.2016, 17:43  [ТС] #26
А что вы можете сказать уважаемый про дописывание в движок еще одного эффекта?
0
21.11.2016, 17:43
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.11.2016, 17:43
Привет! Вот еще темы с ответами:

Getline не видит содержимое файла - C++
Здравствуйте. У меня getline не считывает содержимое файла. То есть он ни разу не входит в цикл даже, значения n и m не меняются. Что...

Изменить содержимое файла программно. - C++
Мне надо было бы переписать файл notepad++ в другом порядке и сохранить его. Имеющийся файл (файл.inp) выгладит так: C 4 ...

Некорректно отображается содержимое файла - C++
Написал программку для чтения файла, файл считывается, но содержимое его отображается некорректно, например так: 0014FC. Подскажите метод...

Вывести на экран содержимое файла - C++
В чем моя ошибка, подскажите пожалуйста #include <stdio.h> #include <conio.h> #include <iostream.h> #include <windows> ...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru