RPA Extractor for Windows
Пользователи Steam любят, если не играть, то хоть краешком глаза взглянуть на очередную новинку из раздела анимешных визуальных новел. Особенно привлекают формы тех, которые имеют пометку «Нагота».
Графические файлы в таких играх обычно хранятся в архивах с расширением «.rpa». В некоторых играх разработчики идут дальше и добавляют uncensored патч, в таком же архиве. Такие патчи всегда идут отдельным файлом, в обхода цензуры Steam, а информацию о них обычно выкладывают во вкладке «Обсуждение» игры. И если вы хотите увидеть их или заполучить картинку для рабочего стола – вам придется их открыть.
Корректно ли это? Если чтение отзывов КПК Добрыня, к примеру, перед фактическим открытием счета и переводом Добрыне своих «кровных» называется осторожностью, то и это можно так назвать. А я не помню случая, когда бы осторожность приносила вред.
Как же открыть RPA файл?
RPA Extractor for Windows – специальная программа для вскрытия файлов «.rpa». Созданная на скорую руку, поэтому нормального интерфейса в ней нет, и похоже, что не будет. Вот что нужно сделать, что бы открыть RPA архив с её помощью:
- скачайте программу по одной из ссылок ниже;
- распакуйте в любую папку;
- скопируйте .rpa файл в эту папку;
- нажмите на адресную строку и адреса расположения программы введите CMD;
- в командной строке введите: rpaextractor -x имя_файла.rpa -o NAME;
- в скором времени, если не было ошибок, появится здесь же появится папка «NAME»;
- в ней вы и найдете все файлы, извлеченные из архива.
Создатель программы прикрыл сайт RPA Extractor, теперь она доступна только в народе: mirror 1 / mirror 2 (если ссылки не работают, напишите нам в комментариях и мы это исправим).
После скачивания любых файлов по ссылкам выше, проверьте их через virustotal, так как в любой момент они могут быть изменены.
Альтернатива: К сожалению теперь даже инструкция к программе недоступна. А вспомнить это не представляется возможным. Но за это время у нас появилась невероятно простая альтернатива под названием «RPA Extract» (для бесплатного скачивание нажмите «No thanks…»).
Все что нужно, перетащить RPA файл в exe файл программы и они тут же будут распакованы.
Если у вас остались вопросы, посмотрите следующее виде или задайте их в комментариях. Впрочем, теперь я думаю их не возникнет.
3 коментария на “RPA Extractor for Windows”
Rpa extractor для windows
В этой статье я расскажу о трёх способах декомпиляции rpyc- и rpa-файлов. Эти методы просты и не требуют каких-то дополнительных программных средств, но, к сожалению, они не универсальны и не всесильны. Соответственно, если они не смогли справиться с имеющимися в вашем распоряжении архивами, то не стоит унывать, есть и другие утилиты и скрипты (например, unrpec или rpatool), просто они могут быть более сложными в применении и требовать установки дополнительных программ.
Метод 1. Утилита от Vendor’а (тексты)
Эта утилита подойдёт тем, кто хочет перевести небольшую одноязычную новеллу и не хочет разбираться со скриптами.
1. Качаем vendor_utils.zip, распаковываем во временную папку (например, \Katawa Shoujo\_temp)
2. Туда же копируем интересующие файлы. Например, script-a1-monday-RU.rpyc
3. Запускаем GetText.bat, получаем два файла: script-a1-monday-RU.TXT и script-a1-monday-RU.BIN
4. Глумимся над полученным файлом с расширением TXT (в BIN не лезем. )
5. Запускаем InsertText.bat, получаем новый вариант файла script-a1-monday-RU.rpyc
6. Перемещаем (это важно, если временную папку вы создали вложенной в главную папку игры, иначе игра будет ругаться на дубликаты, т.к. она найдёт ваш забытый во временной папке rpyc-файл и попытается его подключить к проекту) новый script-a1-monday-RU.rpyc обратно.
7. Запускаем игру…
Ссылку на первоисточник, к сожалению, найти не смог 🙁
Метод 2. Утилита от lolbot’а (скрипты)
Эта утилита позволяет получить исходники всех скриптов, включая системные, и подойдёт для любого уровня проекта, лишь бы справилась…
1. Качаем lolbot_decompile.zip, распаковываем в папку с игрой (в результате файл decompile.rpy из архива должен оказаться в папке \game, например \Katawa Shoujo\game)
2. Запускаем игру и некоторое время ждём, пока игра не начнётся. Всё, из игры можно выходить. Наигрались 🙂
3. Если первые два пункта выполнены без ошибок, то в корневой папке игры (например, \Katawa Shoujo) увидите огромное количество файлов с длинными названиями, например _Users_delta_Documents_ks svn_Katawa Shoujo Act 1_game_RU_ui_strings-RU.rpy.txt. Это – исходный код во всей красе. Он менее читабелен, чем полученный в методе 1, зато делать с ним можно ну всё что угодно. В том числе править имена персонажей, меню и прочее. Файл decompile.rpy из папки \game можно удалять, иначе при каждом запуске игра будет генерить эти многочисленные файлы.
4. После внесения изменений вспоминаем, что движок RenPy сам генерит этот файл rpyc из rpy. Итак, в папку игры копируем уже исправленный файл (например, _Users_delta_Documents_ks svn_Katawa Shoujo Act 1_game_RU_ui_strings-RU.rpy.txt) и приводим его название в нормальный вид (например, ui_strings-RU.rpy)
5. Запускаем игру…
6. После запуска получаем свежесгенерённый rpyc-файл, а rpy-файл можно стирать
Очевидно, что описанные выше операции можно проделывать и над другими файлами, например над script-a1-monday-RU.rpyc.
Метод 3. Скрипт от Eliont’а (графика, звук, шрифты и т.п.)
Для небольшой новеллы:
1. В папке \game (например, \Sugars Delight\game) переименовываем файлы script.rpyc и (если есть) script.rpy в script.rpyc_ и script.rpy_, соответственно.
2. В папке \game (например, \Sugars Delight\game) создаём файл script.rpy со следующим содержимым:
200?’200px’:»+(this.scrollHeight+5)+’px’);»>
init python:
image_files = [
fn
for dir, fn in renpy.loader.listdirfiles()
if not fn.lower().endswith(«.rpy») and not fn.lower().endswith(«.rpyc») and not fn.lower().endswith(«.rpa») and not fn.lower().endswith(«.rpyb»)
if not fn[0] == «_»
]
def unarchive(original_filename, new_filename):
import os
import os.path
new_filename = config.basedir + «/» + new_filename
dirname = os.path.dirname(new_filename)
if not os.path.exists(dirname):
os.makedirs(dirname)
orig = renpy.file(original_filename)
new = file(new_filename, «wb»)
new.write(orig.read())
new.close()
orig.close()
label start:
python:
for img in image_files:
unarchive(img, «extracted/»+img)
return
3. Запускаем игру, жмём «Начать» и ждём, пока снова не появится меню (т.е. игра не запустится), после чего выходим из игры.
4. В новой папке \extracted (например, \Sugars Delight\extracted) получаем всё, кроме самих скриптов, т.е. видео, музыку, аудио, шрифты.
5. Удаляем наш script.rpy, переименовываем описанные в п.1 файлы script.rpyc_ и script.rpy_ обратно в script.rpyc и script.rpy.
Для новеллы побольше:
0. Перво-наперво нам понадобятся исходники скриптов, которые можно получить методом 2.
1. Находим файл, содержащий метку label start:. Меняем расширение оригинальному файлу (например, ui_labels.rpyc переименовываем в ui_labels.rpyc_)
2. Копируем полученный по 2-му методу в эту папку одноимённый файл (например, ui_labels.rpy), в котором удаляем блок, начинающийся с label start:.
3. В папке \game (например, \Katawa Shoujo\game) создаём файл script.rpy со следующим содержимым:
200?’200px’:»+(this.scrollHeight+5)+’px’);»>
init python:
image_files = [
fn
for dir, fn in renpy.loader.listdirfiles()
if not fn.lower().endswith(«.rpy») and not fn.lower().endswith(«.rpyc») and not fn.lower().endswith(«.rpa») and not fn.lower().endswith(«.rpyb»)
if not fn[0] == «_»
]
def unarchive(original_filename, new_filename):
import os
import os.path
new_filename = config.basedir + «/» + new_filename
dirname = os.path.dirname(new_filename)
if not os.path.exists(dirname):
os.makedirs(dirname)
orig = renpy.file(original_filename)
new = file(new_filename, «wb»)
new.write(orig.read())
new.close()
orig.close()
label start:
python:
for img in image_files:
unarchive(img, «extracted/»+img)
return
Формат файла RPA — описание, как открыть?
Файл формата RPA открывается специальными программами. Чтобы открыть данный формат, скачайте одну из предложенных программ.
Чем открыть файл в формате RPA
Расширение RPA (полн. RIB Project Archive File) специально предназначено для разработки плана конструирования в целях организации строительства различных промышленных и жилых объектов с использованием специализированного программного комплекса iTWO. Обладая широким набором инструментов, с помощью iTWO станет доступно создание конструктивных и строительных чертежей, проектных планов и спецификаций.
Пакет программного обеспечения iTWO включает базу данных Progress ObjectStore в архивном виде, играющую роль выходного буфера данных для конструкторского проекта.
Файловое расширение RPA одинаково успешно может применяться как для создания резервных копий, так и архивирования проектов.
Если RPA-формат представляет собой резервную данных, то он будет помещен для хранения в RPD файл.
В случае, если пользователь сохраняет базу данных в iTWO, данные RPD в итоге будут заархивированы RPA файл.
Программы для открытия RPA файлов
Для создания и форматирования файлового расширения RPA может быть использован исключительно пакет программного обеспечения RIB iTWO.
Несмотря на то, что формат RPA относится к широко распространенной области конструирования и создания строительных планов, он не предназначен для воспроизведения и редактирования другими программными утилитами.
Конвертация RPA в другие форматы
Структура и область применения RPA не предполагают под собой процедур конвертации данных.
Уникальная структура и специфическая область применения RPA не предоставляют возможностей для трансляции данного формата в другие расширения.
Почему именно RPA и в чем его достоинства?
RPA – уникальный в своем роде формат, предназначенный для планирования конструкторских работ с помощью библиотеки данных, интегрированной в программный комплекс RIB iTWO.
Расширение RPA нельзя назвать востребованным в среде рядовых пользователей, однако оно является незаменимым помощником проектировщика в части хранения данных о разработке плана конструирования и организации процесса строительства на ранней стадии.
Файл, создаваемый iTWO — пакетом программы создания планов и конструирования. Содержит архив базы данных Progress ObjectStore, которая является форматом выходного буфера для данных проекта iTWO. Используется для создания резервных копий, а также архивирования проектов.
Файлы RPA являются резервными копиями данных, которые хранятся в файлах .RPD. Если пользователь хранит базу данных в iTWO, данные RPD архивируются в итоговый файл RPA.
Чем открыть файл в формате RPA (RIB Project Archive File)
Rpa extractor для windows
This is a simple tool allowing you to create, modify and extract Ren’Py Archive (.rpa/.rpi) files. Currently, only writing to RPAv2/RPAv3 archives is supported.
Will extract every file from foo.rpa into the current directory, making subdirectories when necessary.
Will extract the files script.rpyc and ui.png from foo.rpa into the directory output .
Will create the archive bar.rpa , containing the files test.jpg , script.rpy and the directory sprites .
Will create the archive bar.rpa with the obfuscation key 0x12345 and maximum padding of 25 , taking files from C:\projects\vn\movies and placing them in the archive folder movies .
Will list all files in the archive baz.rpa .
Will add all files from the directory sprites_new to the directory sprites in the archive, giving more information about what it’s doing.
Will remove the file foo.jpg from the archive bar.rpa , storing the result archive in bar_new.rpa .
rpatool can also be included in any other project (following the license conditions, of course) to provide the RenPyArchive class. A small overview:
The constructor, which will optionally load an archive file.
file : the archive file to open. If None, no archive will be attempted to open.
version : the archive format version used to save the archive when RenPyArchive.save([file]) is called. Default: 3
padlength : the maximum number of bytes of padding to put between files when saving. Default: 0
key : the obfuscation key used when saving RPAv3 archives. Default: 0xDEADBEEF
verbose : print info on what we are doing to the command line. Default: False
Loads an archive file from filename . Will raise an IOError if the file can’t be accessed, or a ValueError if the file is not detected as a Ren’Py archive.
Save the archive to filename . Will raise ValueError if the filename isn’t given with filename , nor previously defined, or an IOError if it couldn’t save the file.
Give a list of all filenames currently in the archive.
Returns True if filename is found in the archive, False otherwhise.
Add a file to the archive with file filename and contents content . Will raise a ValueError if the filename already exists in the archive.
Change the contents of a current file in the archive. Will raise an IOError if the file isn’t known in the archive.
Remove filename from the archive. Will raise an IOError if the filename isn’t known in the archive.
Read and return the content of file filename in the archive. Will raise an IOError if the filename isn’t known in the archive.
rpatool is licensed under the WTFPL. See the LICENSE file for more details.
This tool is intended for use with files on which the authors allowed modification of and/or extraction from ONLY and the unpermitted use on files where such consent was not given is highly discouraged, and most likely a license violation as well. Support requests for help with dealing with such files will not be answered.
Credits for the creation of the Ren’Py archive format and the reference code in Ren’Py go to renpytom.