Как сделать репак игры
Как сделать репак игры
Repack или переупаковка – это процесс создания инсталлятора программы, игры и т.п. с меньшим размером дистрибутива, чем оригинальный. Чаще всего Repack’у подвергаются компьютерные игры. В переупакованную версию могут быть внесены некоторые изменения, установлены последние обновления, добавлены сторонние компоненты и т.п.
Чтобы создать качественный Repack, возможно, потребуется затратить значительное время, все зависит от конкретной игры или программы.
Далее будет рассмотрен пример создания репака с использованием программных продуктов Inno Setup, ISTool и Precomp. Также для сжатия файлов будет использоваться архиватор с открытым кодом 7-Zip.
Первое, что следует сделать – это определиться для каких целей будет создаваться репак. Если вы хотите максимально сжать игру, чтобы записать ее на DVD диск, то следует знать, что не все можно ужимать до бесконечности. Например, установленную программу объемом 8Гб (ужать) до размера DVD диска получается крайне редко, все зависит от количества и типов файлов, сжимаемых архиватором.
Если вам хочется сделать красивый интерфейс установки программы, да и еще дополнить ваш репак дополнительными компонентами установки, то для этого вам придется прочитать много страниц справки по программе InnoSetup и просмотреть несколько примеров уже созданных скриптов.
Создать самый простейший репак возможно всего лишь с помощью двух программ – InnoSetup и ISTool. После ее установки и запуска, программа предложит создать скрипт с помощью мастера. Но перед этим необходимо подготовить само приложение, которое будет переупаковываться. Как известно, все приложения прописывают в реестре определенную информацию, без которой многие из них не смогут работать. Поэтому необходимо сохранить записанные в реестре ключи, чтобы в дальнейшем их добавить в процессе установки. Зайдите в редактор реестра (нажмите сочетание Win+R и впишите REGEDIT) и откройте ветку HKEY_LOCAL_MACHINE — SOFTWARE, где следует искать записи по вашей игре или программе. После того, как искомая папка будет найдена выделите ее мышкой и по правой кнопке мышкой нажмите (Экспортировать) и сохраните ключ реестра в удобное место, например на (Рабочий стол).
Теперь вернемся к мастеру Inno Setup. На первом этапе вам необходимо задать имя программе, ее версию, указать разработчика и веб-страницу приложения. Вы можете не заполнять некоторые поля, но имя и версию программы лучше указать. Кликайте по кнопке (Далее) и переходите к следующему шагу. На этом шаге укажите месторасположение, куда будут устанавливаться файлы программы по умолчанию. Обычно это программная папка на системном диске (Program Files), но вы можете выбрать любую. Ниже укажите обязательно имя папки программ. Если этого не сделать, то программа будет устанавливаться в корень папки, а это может привести к печальным последствиям при ее удалении. Тут же можно установить или снять галочки (Позволять пользователю менять папку установки) – если вы хотите, чтобы у пользователя была такая возможность; (Приложение не нуждается в каталоге) – установите галочку, если для вашего приложения не нужна папка (обычно это один exe-файл, или приложение, которое устанавливается во временную папку).
На следующем шаге необходимо указать путь к исполняемому файлу программы, в окошке (Другие файлы приложения) и укажите папку с игрой или программой, которые будут в последствие сжаты внутренним компрессором.
На следующем этапе задайте имя папки в меню (Пуск), а также установите галочки, которые необходимы для создания ярлыков на рабочем столе, в меню быстрого запуска и другие, которые считаете необходимыми для вашей программы. На последнем этапе следует указать папку, куда будут сохраняться уже откомпилированные файлы (дистрибутив), имя исполняемого файла. Здесь же можно указать путь к иконке инсталлятора. После чего нажмите (Далее) и (Готово). Программа предложит создать еще один скрипт, нажимайте (Нет).
В результате работы мастера создается программный код (скрипт), который можно отредактировать. Поэтому сохраните его в удобном месте и продолжите работу.
Если создаваемый Repack программы или игры достаточно велик, то имеет смысл его разбить на части, чтобы размер частей был оптимальным для записи на 4,7Гб DVD диск. Для это в скрипте в секцию [Setup] следует добавить следующие строки:
SlicesPerDisk=3
DiskSpanning=true
DiskSliceSize= 1457664000
После чего сохраните скрипт и закройте программу.
Для этого нам понадобиться утилита ISTool. Запустите ее и откройте скрипт, который был ранее создан с помощью Inno Setup. Выберите в левом меню подраздел (Registry) и кликнете по таблице справа правой кнопкой мышки. В контекстном меню следует выбрать пункт (Import From File…) и укажите путь к сохраненному reg-файлу.
После чего необходимо подправить секцию реестра в скрипте. Перейдите в подраздел (Script) и опуститесь вниз до секции [Registry]. Здесь будет строка, в которой следует найти параметр (ValueData:), после которого удалите всю строку до конца и вставьте на ее место:
Таким образом, после удаления программы ключ из реестра Windows также будет удален.
Зайдите в меню (Options) и установите следующие значения:
(Compression) – (lzma), (Level) – ultra64
Установите галочку (Solid compression)
И задайте значение (Internal Compression) – ultra64
После чего нажмите кнопку (ОК) и сохраните скрипт.
После всего этого вы уже способны создать Repack. Для чего обратно откройте скрипт в Inno Setup и нажмите в меню кнопку (Компиляция). Будет создан установочный файл (exe) и один или несколько файлов с данными (bin). Проверить работоспособность Репака можно только пробной установкой программы.
Но не всегда созданный таким образом Repack удовлетворит пользователя, ведь сжатие lzma/ultra64 хоть и имеет максимальный уровень, не всегда способно сжимать любой тип файлов. Для более сильного сжатия файлов требуется использовать прекомпрессор – Precomp.
Прекомпрессор позволяет разжать сжатые файлы игры, чтобы в дальнейшем их сжать более мощным архиватором. Чаще всего прекомпрессии подвергают файлы ресурсов игры или программы, которые могут иметь размер от нескольких мегабайт до сотен мегабайт. Именно файлы ресурсов практически не сжимаются каким-либо архиватором.
Precomp, который может использоваться для прекомпрессии файлов, выпущен в нескольких версиях – это версия 0.38; 0.4; и 0.41. Выбор версии precompa практически не влияет на конечный результат, но при обратном процессе необходимо знать версии прекомпрессора, с помощью которой был разжат файл.
Итак, имеется исходный файл (Resource.DAT), для его сжатия воспользуемся прекомпрессором версии 0.38 (работа с остальными версиями нечем не отличается). Для удобства поместим этот файл в отдельную папку, в которую также следует положить фалы прекомпрессора (precomp038.exe, packjpg_dll.dll, zlib1.dll). Теперь необходимо создать BAT-файл, чтобы запустить прекомпрессию. Для этого открываем "Блокнот" и пишем следующую строку:
precomp038.exe -slow Resource.DAT
Сохраняем документ под любым именем в ту же папку с расширением bat.
precomp038.exe – указывается исполняемый файл прекомпрессора;
-slow – режим работы прекомпрессора, в данном случае используется режим (slow) (медленный). Данный режим позволяет оптимально разжимать данные с минимальными затратами времени. Существует более быстрый параметр (-f), однако не всегда он способен достаточно разжимать данные. Есть и более глубокий метод анализа (-brute), однако его следует использовать лишь в тех случаях, когда режим (slow) не может разжать данные. Режим (brute) очень медленный, прекомпрессия выполняться может несколько часов для файла размером до сотни мегабайт, поэтому такой режим используют крайне редко;
Далее в синтаксисе идет имя файла. Здесь же можно указать полный путь к папке, если, например, файл располагается в другой папке, например: D:/Repack/Resource.DAT.
После того как файл BAT был сохранен, запустите его на выполнение двойным кликом мышки. Появится окно консоли (командной строки), где начнется процесс прекомпрессии с отображением процента выполнения задачи. По завершению прекомпрессии, консоль закроется, а в папке появится файл Resource.pcf. На данном этапе вам следует сравнить размер исходного и полученного файла. Файл Resource.pcf должен быть больше (ведь мы производим разжатие) файла Resource.DAT. Если разница в размерах незначительна, то придется использовать более глубокий уровень прекомпрессии (-brute). Если же выходной файл заметно больше исходного, то при его сжатии тем же 7-Zip вы получите значительно меньший архив, чем при сжатии исходного файла, тем же архиватором с тем же уровнем сжатия. Файлы PCF могут быть обработаны любым архиватором, но наиболее часто применяют 7-Zip и FreeArc, последний в некоторых случаях может дать более сильное сжатие.
Дополнительно перед архивированием файлы PCF могут быть еще обработаны Sper, чтобы добиться еще большего итогового сжатия. Но мы не будем рассматривать данный процесс, так как не всегда в нем есть потребность. Те кто заинтересуется подобной процедурой без труда найдет подробное описание в сети Интернет.
Таким образом, можно преобразовать все трудно сжимаемые фалы и в результате после архивирования вы получите размер дистрибутива значительно меньший, чем при простой компиляции скрипта в Inno Setup с максимальными настройками сжатия.
Для того, чтобы использовать полученный архив, в скрипт InnoSetup добавляется программный код. Нет нужды изучать язык программирования, чтобы написать такой код, все уже было сделано и отработано. Поэтому для использования архивов в установке программы или игры рекомендуется воспользоваться библиотекой ISDone. Библиотека умеет работать и распаковывать архивы 7-zip, rar, arc, pcf и srep. Данная библиотека имеет подробное руководство и пример ее использования, поэтому в данной статье не будем на этом останавливаться.
Довольно подробное руководство с примерами имеет и сама программа Inno Setup. В сети можно найти сборку этой программы, включающей всевозможные модули с примерами скриптов, которые способны реализовать самые разнообразные потребности пользователей: показ слайдшоу, проигрывание звука и флеш-анимации и многое другое. Конечно, чтобы разобраться в этих скриптах потребуется потратить некоторое время, так в них используется элементы программирования на языке Delphi.
В процессе создания собственного репака у вас могут возникать всевозможные вопросы, ответы на которые можно найти на различных форумах.
Как сделать Репак | RePack
#1 Александр Дюмин
Приветствую,сейчас я расскажу вам как сделать Repack.
И так для начала нам понадобится Inno Setup 5.2.2 и ISTool.
(Если не нашли эти программы, пишите мне в ЛС. Дам ссылки)..
Краткий лирический отступ. А зачем вообще делают репаки!? – зачастую игру перепаковывают только для того, чтобы в итоге она занимала меньше места на винте, или поместилась на DVD-R. Если игра весит 8-9гб – её никак не перепаковать в 4.7гб. в таких случаях рекомендую просто порезать её на части при создании образа в Alcohol120%. в итоге можно будет загнать обе части на 2 болванки. Но мы отклонились от нашей темы. И так вернемся к мануалу по созданию репаков.
После того как вы установили вышеупомянутый софт, – установите игру с которой и хотите сделать RePack (перепаковку).
нажмите Win+R (или пуск->выполнить) – В строке пишите “regеdit” нажимаешь “Enter”
Таким образом мы попадаем в редактор реестра Windows. В реестре все значения и данные хранятся в виде ключей разных типов.
Откройте ветку HKEY_LOCAL_MACHINE -> SOFTWARE и найдите там свою игру которую вы установили.
Нашли? – подсвечиваем мышку к этой папке и нажимаем правую кнопку мыши (т.е. контекстное меню) -> “Экспортировать”
Дальше сохраняете этот файл (.reg – ключик реестра windows) для удобности себе на “Рабочий стол”.
Потом создаёте инсталятор через Inno Setup.
В первом окне надо ввести:
Имя приложения
Имя и версию
Разработчик (можете себя написать если хотите)
Страничку укажите https://zlotracker.org/ или сайта куда вы хотите выложить Репак
Выберите главный исполняемый файл и папку где лежит сама игра!
На скриншоте пример CoD4.
Пятое окно тоже пропускаем -> “Далее”
В седьмом окне жми “Финиш”
Вам вылетит окно “Хотите ли Вы собрать Вам скрипт” отвечайте НЕТ.
Потом добавьте в строчку “[Setup]” на самый верх:
Код:
Потом уж сохраняете этот скрипт.
Дальше зайдите в ISTool откройте в нём тот скрипт который сохранили.
Когда откроете выберите “Options” и там во вкладке Компилятор у вас должно стоять так: Сжатие lzma Уровень ultra64.
И внутреннее сжатие тоже должно быть – ultra64
Нажимаете ОК.
Дальше с левой стороны выбираете секцию “Реестр”
И справа от этих “секций” у тебя будет поле в клеточку. Вот на этом поле нажмите на правую кнопку мыши и выберите “Импортировать из файла”
Выберите тот файл “реестра” который вы сохранили.
Дальше выбирайте секцию “Скрипт”
Опускайтесь в самый низ и там будет вкладка “[Registry]”
В этой вкладке синим шрифтом написано “ValueData”: и вот то-что после этой “ValueData” написано, сотрите.
И вставьте вот это:
Код:
Дальше сохраняйте скрипт. Потом заходите опять в Inno Setup. Откройте этот скрипт и запустите чтобы он делал инсталятор.
Когда сделаете инсталятор удалите ту игру из которой делали RePack. И установите из инсталятора который вы щас сделали.
Игра должна быть рабочей.
Ещё до того как вы сделали инсталятор (когда установили игру), вы можете поджать видео,звук. Вам нужна программа RAD Video Tools.
Если есть вопросы пишите.
Как сделаете какой-то repack – отпишитесь.
На сегодня всё, удачи всем
Устанавливаете программу
Заходите в папку с установленной программой
Запускаете radvideo.exe
Выбираете файл и кликаете на этой кнопке:
Затем здесь указываете на сколько процентов вы хотите сжать видео или аудио от оригинала (от 1% до 99%):
И теперь ждём! Обычно это долгий процесс, так что наберитесь терпения!
Как сделать репак игры
Как создать repack игры?
Как правило, разработчики игр продают только свой оригинальный продукт, и не всегда выпускают к нему аддоны и DLC. Не смотря на это, если он завоевал множество фанатов, то обязательно появляются re-pack-версии. Пользователи добавляют к ним любительские патчи и расширения.
Необходимо: – Inno Setup 5.2.2; – ISTool.
В начале следует установить игру на жёсткий диск, добавив туда всё, что вам угодно. Например, различные crack, DLC, аддоны, русификаторы, авторские варианты озвучки, а также любые другие подобные дополнения. Более того, у вас есть возможность перекодировки или вырезки видеоролика и части звуков, что, несомненно, уменьшит выходной объём продукта.
Запустите главное меню «Пуск» => «Выполнить». Впишите команду regedit и нажмите для подтверждения действия клавишу Enter. После этого должен открыться системный реестр Windows. Затем выбирайте папку «HKEY_LOCAL_MACHINE» => «SOFTWARE», где нужно найти папку с установленной игрой. Нажмите на неё правой кнопкой мыши, выбирайте пункт «Экспорт». Сохраните этот файл с разрешением .reg (это можно сделать в любое удобное для вас место).
Потом устанавливайте утилиту INNO Setup. Запустите её. В отобразившемся окне необходимо заполнить поля «Имя приложения», «Разработчик» и «Домашняя страница». Обычно в последние две строчки вводят имя (или ник) автора репака и адрес сайта, для которого и планируется создание этого продукта. Нажмите кнопку «Далее».
В следующем окне указываются каталоги установки. Просто вводите соответствующие параметры, а уточнения отмечайте.
Затем укажите исполняющий файл. К примеру, Лаунчер или главный .exe, который напрямую запускает игру.
Далее определяйте дополнительные параметры, вроде «возможности поместить ярлык на рабочий стол» и «имени каталога в меню пуск».
Последний экран потребует от вас выбора пуки к папке, в которую сохранится repack. Уточнив его название, перейдите к выбору иконки: проще и лучше всего воспользоваться иконкой самой игры, которая находится в корневом каталоге оной. Установите пароль, если это необходимо. Обычно для этого используют имя ресурса, для которого и создаётся repack.
На вопрос «Хотите ли вы использовать стандартный скрипт» следует ответить «Нет». В первую и вторую строчку появившегося после этого кода введите значения «DiskSpanning=true» и «DiskSliceSize=1457664000». Подтвердите выполнение действий, нажатием кнопки «Готово».
После установки программы ISTOOl, запустите её. Откройте в неё сохранённый ранее скрипт, для чего, открыв «Опции» => «Компилятор», установите максимальный уровень сжатия, а в пункт «Реестр» добавляйте сохранённый вами файл. Затем открывайте меню «Скрипт», чтобы заменить написанное справа от ValueData на «
Источники:
https://comphelpmoscow.ru/kak-sdelat-repack/.html
https://forum.zlofenix.org/t3602
https://remont-comp-pomosh.ru/otvet_mastera/vopros-otvet/kak_sozdat_repack_igry.html