RPA Extract
A downloadable RPA Extractor for Windows
Tool to extract images from RenPy games' .rpa files. Use the three D's to use:
1. Download
2. Drag .rpa file(s) on rpaExtract.exe
3. Done
To do this on macOS (aka Mac OS X and probably Linux), watch this video.
To do this on Linux, the macOS video and or this comment might help.
Additional video guides:
Using RPAEX |
Mod ren’py games (art) |
Decompile rpyc files (for modding code) |
Useful for people who made a game and uploaded it and then their hard drive with the source files exploded.
Using this tool on other people's games might be considered 'reverse-engineering'. If you have doubts about the legality of doing so, consider reading the terms (EULA) of the game you are trying to reverse-engineer and consider reading this stackexchange thread.
Using this tool on other people's games could also simply be considered cheating, which no one in the world will care about (I am not a lawyer).
If you want more than look at pictures/listen to audio to satisfy your personal curiosity, remember not to infringe on other people's copyright. Protip: fair use.
Download
Click download now to get access to the following files:
Comments
Log in with itch.io to leave a comment.
You are a god thank you for this! I was trying all sorts of other tools (including unrpyc) and NOTHING was working for me to unpackage a particular game, and your tool worked without all the confusion that other tools need! literally drag and drop... and BOOM. Thank you!
Hello IwanPlays,
Thanks for this amazing tool!
I'm trying to unpack some files from the game "Indecent Wife Hana", and I get the following error.
Hopefully you can take a look at it please.
Thank you for reporting. Unfortunately it's unlikely I will find time to do something about this in my lifetime because I'm not that great at coding.
The workaround ( https://itch.io/post/9825970 ) seems to not be much of a help.
Similarly to < https://itch.io/post/9654438 > the loader.py file has been tuned to do some binary shidangle. If you use for example kdiff3 to compare it to the same file in the RenPy SDK 8.30, you will see the differences. A better programmer might be able to figure out how to untangle this hexamishmash.
No problem at all! Thank you for trying :)
I'm new to the online game world but have seen the RPA files in certain games. I guess the only reason I would want to see or open those RPA files, with special software, is if they are different than the default images. Some games I've seen have several hundred images. So, are the RPA files any different than those game images ? Are they the same ?
Not sure what exactly you mean. RPA files are archives, like ZIP.
If you have trouble extracting RPA files, this might help:
Can this extraxt models too?
Not sure if you mean UE or Unity but in case you do:
I was able to get a screenshot of the error and the above image is what I get when I try to drag and drop
For some reason drag and drop isn't working on windows 11. I drag and drop the .rpa file but it opens an error screen for less than a second and nothing happens
Download the newest version of RPAExtract
ren'py compiles files into rpa and when unpacking there will most likely be rpy and rpyc files. you can then open and edit the a relevant rpy file to change this.
I'm guessing this is your starting point:
Now how do you compile it back after doing some edit?
No need really:
can you make it to where we don't drag and drop? i am blind and it is impossible to use the mouse to drag and drop. at least have another option of doing it. thanks.
Thank you for sharing. My software development skills are quite limited.
If you are able to use the command line (CMD or Powershell) rpaExtract.exe takes the archive.rpa (or whatever it is named) as its first parameter. The action sequence would then be:
While writing the above I realized that I should be capable enough to make rpaExtract automatically detect .rpa files in the folder if nothing is dragged onto it and then extract them all one after the other. I will reply to your comment once I manage to add that feature.
hi there.
now it works. thank you very much
I want to decompress Jin Ping Mei (A game from steam), but I can't. Extracting files is very slow and the files become very large.
Thank you for reporting. For now, please see https://itch.io/post/9825970 for workarounds.
thanks! tottaly worked
I want to decompress Tavern of spear, but I can't. Extracting files is very slow and the files become very large.
Thank you for reporting.
1. While I still have to add a workaround, use
2. If you're curious, https://itch.io/post/9649004 has a little bit of info about what is happening
It seems developers started scrambling their RPAs to render extraction useless. The process takes extremely long, extracted files are very large and unusable. :-(
1. Try the latest version of the tool if you haven't yet
2. Feel free to share names of affected games
I see there is the same issue someone had 9 months ago. You sure the extractor on this page has not been compromised?
The day I finally have and take the time to figure out signing binaries, all this will hopefully go away.
As of now, deciding on virustotal (which I recommend) results is asking yourself:
Thanks, it worked!
Hello! I was going to try to unpack the game GoodbyeEternity (18+), but I didn't find any .rpa file inside the game folder, only a very suspicious file named data.extra, which takes up almost 80%~90% of the whole game folder in size, and I think it's the " disappeared .rpa file". I tried to open it using rpaExtract, but obviously it didn't work. I just wanted to ask how I should unpack this file? (Thank you very much, I'm using a translation program, so I may not have phrased it correctly in some places)
Someone made an extraction tool for this game: https://github.com/Nyarstot/EXTRActor
I tried using this on katawa shoujo, unsure if those files are simply too old or not. However, the error I got was access denied to the file location, since you have to drag and drop the file, not sure how you can get around this.
Feel free to share where the rpaExtract.exe is and where the .rpa file is in detail. Without knowing that I would guess:
1. .rpa file and rpaExtract.exe are on different drives -> move the rpaExtract.exe to the same folder as the .rpa file
2. the .rpa file is inside a .zip or .exe file and was dragged onto the rpaExtract.exe file -> extract the game in full before dragging the .rpa file onto rpaExtract.exe
3. the path contains non-ASCII characters -> move .rpa file and rpaExtract.exe to something simple like D:\rpaex\ and try there.
If nothing helps, which version are you extracting? The latest from the website works.
thx!
I encountered an interesting problem while trying to extract Henry's Alt Glasses RPAs. The game has two rpa files named resource1 and resource2.
Trying to extract neither file will cause the program to stuck in an infinite loop while it slowly fill up your storage space (I realized in time and it managed to create 50gb worth of files)
DragonUnpacker works though
Assuming this abuse won't be enough to have an impact on people's HDD and RAM, that is hilarious. Thank you for reporting and even sharing your workaround.
When scanning resource1.rpa using github ikremniou/unrpa , each file seems to have its starting byte position set as its size, resulting in over 143 GB. On March 28th the order of the `dlen` and `offset` variables in line 151 of the game's `loader.py` file were switched.
I have an idea but it might take a while to try it out. Unfortunately I won't be able to even add a warning/fix until I dig deeper.
How do you extract the files using DragonUnpacker?
why are my Rpa files automatically opening with windows media player
try selecting the file and right clicking it, click "open with" then choose a code editor (like visual studio code/vsm)
Hi! Can you add the option to preserve original creation date of files within archive (or has it been already added)?
I love the forensic flair of this question but you'll have to dig into python, pickle, maybe file systems to figure this out. I'm gonna guess this information gets deleted when the archive is created (or rather is not part of the file itself but rather the file system and gets ignored when packaging).
Does this work with .PYO files? I want to see Dawn Chorus' files but theyre all in .pyo
Look for archive.rpa in the game/ folder.
If one really needs to recover .pyo files, which might contain code, the following might be relevant, although I'd rather expect .pyc files:
is there gonna be an apk version of this extractor ?
If one wants to extract an apk on a pc, one first extracts the apk with 7zip or just renaming to .zip and using the default unpacker might work. Then one would search for the .rpa and use rpaex.
If one wants to extract rpa on Android, maybe try Game Resources Viewer while free.
Awesome, I finally got that one track from Ripples (by Jestur)
Thanx!
the exe file wont open
1. You have to drag an .rpa file onto the exe
2. You might have to convince windows that it doesn't have to block it
I met error message when I extract images.rpa of FutariuumsGate-0.10-win.
something weird happened, here is the error (hopefully):
There was an error while trying to extract a file from the archive.
First, try moving all of this to C:\rpaExtract\ or a similarly simple path and try there again
If that still does not work, tell iwanPlays what the error was and what game you were trying to extract
I met this message, so I report you iwanPlasys. I always use extract rpa files with your program, I want to say thanks to you.
It might work with the latest version. Please download rpaExtract afresh from here and try again.
thanx
Hello, the latest version (uploaded today) and the previous version both do not work with the game "rogue-like" (v1.3a or 1.2a)
Error :
something weird happened, here is the error (hopefully):
There was an error while trying to extract a file from the archive.
Forcing RPA-3.0
Thanks for letting me know. That name is not great for finding but the version numbers helped. I will check.
I had an issue where nothing would happen after "Forcing RPA-3.0". I had to CTRL+C it and then re-start, then it worked. I suspect it has to do with antivirus, while they are still getting "used" to the new version. But that does not work in this case so far.
Should work now. In this case, it seems the first file was corrupted somehow. Empty or nonexistent or with an invalid filename perhaps. Whatever, it works. Also, the less elegant dragonunpacker method also worked it seems.
I downloaded the latest version again and now Windows Defender flags it as a Trojan, which did not happen for previous versions. I presume this is a false positive, but just wanted to let you know.
Thanks for letting me know. This will always happen for the first few days/weeks whenever there is a new version, until the antivirus databases took time to actually verify it's a safe one.
Doesn't work with the newest version of renpy :(
(Renpy 8.1.1 - 7.6.1
Thanks for the heads up!
Have you tried the latest version, from here?
If it doesn't work, can you name (not link) a game?
Yes, I did try the latest version, but sadly, it didn't work. I'm trying to extract a visual novel called "Ikimashou!
Thank you for the info! I think the new version I just uploaded can handle this too.
One fun thing about this is that the game apparently uses art under various CC licenses, which prohibit DRM. (Although theoretically it's possible the game author got additional permission from each of the authors.)
By the way, using DragonUnpacker, some (all?) files can be extracted, although it's much less elegant. Guide:
alright, thanks :)
Thanks. The best app I've ever known😅
Will this extract scripts as well, not just images? A game I love has a ton of bad translation and typos and I want to fix them.
:thumbsup: on wanting to fix translations! Depends on how it was packaged. Might require another tool/step:
I love the fact that you used ddlc as an example lol. but seriously this was a big help
Thank you!!! This is really useful when I want to look at how larger Renpy games are made
How can i make the file rpa again? Please help
This example shows why you probably don't need to:
thx
I was trying to extract files from Our Life: Beginnings & Always and got the following error:
"invalid literal for int() with base 16: b'cove_cgs:'
First, try moving all of this to C:\rpaExtract\ or a similarly simple path and try there again
If that still does not work, tell iwanPlays what the error was and what game you were trying to extract"
I did try to move it to a simpler file path but this did not workI can't find a way to get that error. Can you please download the latest version and try with that?
Same error.
Do you have another computer you could try this on?
Not a clue... I'd restart the PC, do windows update. Then, check if the hard drive or c: is full, then I would check if RAM is being maxed out during the process, which should be fixable by turning off all other applications during the process. Then you could try turning off any anitivirus while doing it and finally I would check hard drive for damages and then check RAM for damages (how do you even do this...)
😍
Glad to see you back working on this ^^ (If you never quit, I'm sorry for the misunderstanding xD)
hi! i wanted to extract the script from the game 14 days with you since i wanted to read some more parts of the script but the files it extracted (rpyc) i am uncertain of how to open. when i have extracted a few other games' scripts like our life beginnings and always i had been able to open the script files just with any text editor and they were rpy files. is there a way to open rpyc files?
to recover compiled rpyc files, there are different tools available:
It keeps on crashing.
Huh, what does that mean? What does the error message say? Did you download the latest version (got updated yesterday) standard or 32bit version? Which games (names only are enough).
Hi, thank you for a great tool, but it doesn't work with newer PC games/RenPy versions.
Examples: Wicked Paradise v19, Anna Exciting Affection Ch2, Artemis 041, Bodyguard 01, Chasing Sunsets 08, Final Spell v010, Lust Theory S2 v103.
(All original/patreon versions, none ripped or modded).
Cheers
Is it possible that this is with a long ago downloaded version? My bad for not properly tracking versions between different builds. Does it work if you re-download rpaex? [EDIT: nevermind, I'm seeing the error too now ......... and i'm investigationing .....]
Heya, thx for the response, hope you can find the issue. I use it to translate the game(s).👍
I updated rpaex, now it should work on your game even if you encrypted/obfuscated the RPA files a little. [I don't know if it will work with all such games]
People who lost their sources and just need to recover some graphics/audio can also use DragonUnpacker.
Thanks for the update, much appreciated. +4 👍