Tool Ren'Py UnRen.bat v1.0.11d - RPA Extractor, RPYC Decompiler, Console/Developer Menu Enabler

5.00 star(s) 9 Votes

Madeddy

Active Member
Dec 17, 2017
856
504
...if you don't want to use it, than DON'T USE IT!
Exactly. :) And hey, no need to shoot at me. My post starts with "just for info".
I just wanted to be helpfully and mention the security risk, so people are "at least" aware of it. If someone doesn't want to hear this then they should ignore it.

And if this RPAextract.exe "your tool" is, then by all means.
Why would I watch a video, on how to use something, when what I am using, , already works well for me? :unsure:
Indeed.
Why did humans build houses, if caves worked well for them? Why did we invent electric lights, if candles worked for millennia? Why do we drive this days cars, if horse pulled carriages where the longest time such a hit?

Greets

p.s. Did someone see where my fraking dinosaur bone has gone? I really need it. I must hit someone on the head!
 
Last edited:

Madeddy

Active Member
Dec 17, 2017
856
504
Not for bad blood... just for correctness. I think its important.
I see it the other way around: requiring a python interpreter and lots of dependencies installed for such a simple thing like extracting files from RPA isn't good.
Uh... A outright half-lie.
  • The first part about the interpreter is a bit strange as py counts AFAIK as compiled language, or not? But yes, one needs Python to run a Python app. Question: Does a C/C++ run without anything?
  • Second part... I'm curious what i missed. Really.
    Which dependency's do i need for unpacking RPA files with a Python tool beyond installed python? Please list them! In RpaKit, Rpatool, UnRPA we use IMO just python stdlib imports. But ok, i could be wrong!
Beside this: The Gameripper tool seems to be very sophisticated, well thought out and extensive, from what i could gather at first look. Did not really notice this so far, but i will try it.
What i not understand: If your app really so good is, why then this try to put other apps down with made up nonsense like above. Unren in every form is half dead(for newer stuff) and has with batch(win)/shell(*nix) another restriction. All the py tools are less extensive. So advantages for you i'd say. No need.

The question what to use is always oriented on your personal situation and your preferences and likes. If someone is on Windows installing python is for such mostly needed. For me, on a *nix OS its always installed, so i have this issue not. Also not with C++. Other interpreters like Java etc. are not always preinstalled like C++. I the end its all relative for us.
And this is not a problem with "unren"
As I have said, just scroll through this topic, this is a constant problem for lots of people.
Lots? With unren.bat? Did i miss this? :confused:

I can really not see it like this: Well known is that the Ren'Py exe (for example) was many times isolated and reported as some form of virus by various AV and firewall tools. This happens AFAIK for many other common apps, especially on Win. With this logic, Ren'Py, unren and many others, even browsers and big office apps, are "the culprits" in this security thematic?!

Maybe a useful read for some of the people here:
In the end, we all need to use this thing between our ears and keep our eyes open. Blind belief, in whatever it is, gets us nowhere. :coffee:

Good day
 
Last edited:

justaplayer69

Member
Nov 29, 2023
183
214
Lots? With unren.bat? Did i miss this? :confused:
Yes, and you haven't missed them, actually you have answered most of them. To refresh your memory, here some of the latest:
https://f95zone.to/threads/unren-ba...oper-menu-enabler.3083/page-158#post-13155508
https://f95zone.to/threads/unren-ba...oper-menu-enabler.3083/page-162#post-15185640
https://f95zone.to/threads/unren-ba...oper-menu-enabler.3083/page-161#post-14788644
https://f95zone.to/threads/unren-ba...oper-menu-enabler.3083/page-161#post-14875613
https://f95zone.to/threads/unren-ba...oper-menu-enabler.3083/page-162#post-15183412
https://f95zone.to/threads/unren-ba...oper-menu-enabler.3083/page-162#post-15184091
https://f95zone.to/threads/unren-ba...oper-menu-enabler.3083/page-164#post-15481215
https://f95zone.to/threads/unren-ba...oper-menu-enabler.3083/page-163#post-15371970

There are other issues of course, these are just some of the latest ones related to missing python, incompatible version, etc.

Well known is that the Ren'Py exe (for example) was many times isolated and reported as some form of virus
This is not what these issues are about. I'm not talking about AV false positives (yes, that's an issue too, just a different one). I'm talking about the case when ppl cannot run python.exe (different file than the Ren'Py executable), which is needed by all unpackers, but not by GR. GR can unpack RPA without executing python (it only needs python for decompiling scripts).
 

justaplayer69

Member
Nov 29, 2023
183
214
The first part about the interpreter is a bit strange as py counts AFAIK as compiled language, or not?
What makes you think that unpacking archives can only be done with an interpreter? And no, python is not a compiled language, it is an interpreted language (pyc does not contain native machine code, you need a VM to run it, so interpreted.)

But yes, one needs Python to run a Python app.
Nobody was talking about "running". We were talking about unpacking.
Question: Does a C/C++ run without anything?
Do not confuse these, they are totally different languages. And the answer is YES, take a look at GAME RIPPER, it runs without any dependencies, no dlls, no python.exe, no nothing needed.
Which dependency's do i need for unpacking RPA files with a Python tool beyond installed python?
Installed python is one, powershell is another one, both can and indeed do fail. Not to mention the armada of python modules and their dependencies. For RPA in particular you'd need the correct version of pickle py module for example.
why then this try to put other apps down with made up nonsense like above. Unren in every form is half dead(for newer stuff) and has with batch(win)/shell(*nix) another restriction. All the py tools are less extensive. So advantages for you i'd say. No need.
I have no clue what you're talking about. I just mentioned that lots of people have issues with unren.bat (me included), I've even linked some of the latest posts to make this obvious. All I'm saying is, what you say: "Unren in every form is half dead"

Rest assured, if unren.bat were working out-of-the-box, then I wouldn't have implemented GAME RIPPER, I'm an extremely lazy guy, you see.
 
Last edited:

zeka7

Newbie
Jul 24, 2018
60
23
I have been trying to decompile rpyc files of Lust Theory, but I have been getting the multiprocessing error.
I have tried deleting and renaming multiprocessing forder.
I have tried using urpyc v2.0.2.
I have tried using Unren for all.
Nothing seems to work for me.
Any help please?
 

Night Hacker

Forum Fanatic
Jul 3, 2021
4,677
22,700
I have been trying to decompile rpyc files of Lust Theory, but I have been getting the multiprocessing error.
I have tried deleting and renaming multiprocessing forder.
I have tried using urpyc v2.0.2.
I have tried using Unren for all.
Nothing seems to work for me.
Any help please?
Did you try RPAExtract? That works really well for me, along with un.rpyc. I mentioned them with links in this post.
 

Penfold Mole

Engaged Member
Respected User
May 22, 2017
3,160
7,811
I don't have a problem extracting RPA files. What I can't do is decompiling rpyc files.
I have tried using un.rpyc and I get an error:
Did you copy the bytecode-39.rpyb from the unrpyc Github into the game/cache folder?



You might need both, the un.rpyc and bytecode-39.rpyb to successfully decompile rpyc files.

https://github.com/CensoredUsername/unrpyc/releases/tag/v2.0.2 said:
Usage:


Simply copy the un.rpyc or un.rpy file into the "game" directory inside the game. Run the game and it will decompile the entire game into .rpy files at startup.
For the bytecode-39.rpyb file, copy it into the game/cache directory, replacing the existing file. Run the game and it will decompile the entire game into .rpy files at startup. The game will regenerate the old bytecode-39.rpyb file after running.
 
Last edited:

Penfold Mole

Engaged Member
Respected User
May 22, 2017
3,160
7,811
Then just try again. Delete the whole unsuccessfully decompiled game folder and extract the game again from the original zip.

Then extract rpa archives whichever way you like. UnRen-forall.bat can still extract rpa's, just don't try to use it for decompiling.

Now copy the bytecode-39.rpyb into the "game/cache" subfolder and un.rpyc into the "game" subfolder.

Run the game executable. See that the game starts correctly.

Now the rpyc files should be decompiled.

Worked for me not just for this game but quite a few other RenPy 8.3.x games.

The important part is to get rid of the game folder if decompilation fails with broken rpy files and error messages.
 
  • Thinking Face
Reactions: Boehser Onkel

⎰ ↜ ✰ BAD 75 ✰ ↜ ⎱

Forum Fanatic
Modder
May 13, 2020
5,483
48,104
I have been trying to decompile rpyc files of Lust Theory, but I have been getting the multiprocessing error.
I have tried deleting and renaming multiprocessing forder.
I have tried using urpyc v2.0.2.
I have tried using Unren for all.
Nothing seems to work for me.
Any help please?
Do you want a simple solution?
download from this link the compressed version LINK
then you can unpack with unren for all the .rpa files
then copy un.rpyc to the game folder
start the game and you will see all the rpy files
 
  • Like
Reactions: zeka7

zeka7

Newbie
Jul 24, 2018
60
23
Then just try again. Delete the whole unsuccessfully decompiled game folder and extract the game again from the original zip.

Then extract rpa archives whichever way you like. UnRen-forall.bat can still extract rpa's, just don't try to use it for decompiling.

Now copy the bytecode-39.rpyb into the "game/cache" subfolder and un.rpyc into the "game" subfolder.

Run the game executable. See that the game starts correctly.

Now the rpyc files should be decompiled.

Worked for me not just for this game but quite a few other RenPy 8.3.x games.

The important part is to get rid of the game folder if decompilation fails with broken rpy files and error messages.
Tried it right now, didn't work. Thanks.
Do you want a simple solution?
download from this link the compressed version LINK
then you can unpack with unren for all the .rpa files
then copy un.rpyc to the game folder
start the game and you will see all the rpy files
I wouldn't have tought of this in a million years. Worked great. Thanks man.
 

ZenoMod

Well-Known Member
Nov 12, 2022
1,096
1,343
I have been trying to decompile rpyc files of Lust Theory, but I have been getting the multiprocessing error.
I have tried deleting and renaming multiprocessing forder.
I have tried using urpyc v2.0.2.
I have tried using Unren for all.
Nothing seems to work for me.
Any help please?

That's because Lust Theory season 3 has a sort of encryption to prevent decompiling.

You must overwrite the file renpy\script.py with the one provided here.

Then un.rpy will do the trick.
 

Penfold Mole

Engaged Member
Respected User
May 22, 2017
3,160
7,811
That's because Lust Theory season 3 has a sort of encryption to prevent decompiling.

You must overwrite the file renpy\script.py with the one provided here.

Then un.rpy will do the trick.
Oh, right! Thanks, I totally forgot about that one! I used that to make it work.
Sorry, zeka7. This was the missing step.

After unrpyc failed on me I searched the game thread, found this and used it.

It's always a good idea to check and do a thread search on the specific game thread first - maybe someone already found a solution. There have been a few other attempts to obfuscate script files or screw with the decompressor or decompiler in some other way. A solution always comes up in the game thread sooner or later.
 
  • Like
Reactions: ZenoMod

Madeddy

Active Member
Dec 17, 2017
856
504
Oh help. How was this english idiom? We where arguing at cross-purposes. o_O And that could mean we talk forever and get nowhere.
This is not what these issues are about. I'm not talking about AV false positives ...
But i was talking about it, as you cited me and refered then to other "unren problems". A mistake surely. I answered to one of the a AV problems: https://f95zone.to/threads/unren-ba...ole-developer-menu-enabler.3083/post-15782719

I agree totally to your stand on all the other unren issues, to which you linked above. Win batch has IMO a lot of traps, the need for powershell(at least on WIN) for some reason and the unmaintained state make unren a bad choice this days. Especially if doing the same manually via the pure py scripts or using other tools like your GR a good alternate is.
What makes you think that unpacking archives can only be done with an interpreter?
Its a misunderstanding i think. I did not say or belief this.
Do not confuse these, they are totally different languages.
Interesting. I thought they are a lot similar. I dont know much about C/C++ and the differences. This would lead to a longer talk, for which this the wrong com method is, as i have a lot of questions about it.
And no, python is not a compiled language, it is an interpreted language
I remember reading different views.
Like this: :unsure: Confusing to say the least.
For RPA in particular you'd need the correct version of pickle py module for example.
Not under normal circumstances.
Last years change in Ren'Py (9.Sep 2024) of the protocol v. after the v8.3.2 release:
Explaination: Ren'Py used very long "pickle protocol 2" and is since Python v2.3 (Anno 2003, pep307) in every version supported. Now Ren'Py uses the highest protocol(5) and Python supports this since v3.8 (2018). If "some game" needs pickle 5 before this, its because some weirdos fraked with the engine.

Greets
 

justaplayer69

Member
Nov 29, 2023
183
214
But i was talking about it, as you cited me and refered then to other "unren problems". A mistake surely. I answered to one of the a AV problems: https://f95zone.to/threads/unren-ba...ole-developer-menu-enabler.3083/post-15782719

I agree totally to your stand on all the other unren issues, to which you linked above. Win batch has IMO a lot of traps, the need for powershell(at least on WIN) for some reason and the unmaintained state make unren a bad choice this days. Especially if doing the same manually via the pure py scripts or using other tools like your GR a good alternate is.
Its a misunderstanding i think. I did not say or belief this.
I agree this was a simple misunderstanding. Let's settle it at AV false positive is indeed an issue, just not the most common problem.
Interesting. I thought they are a lot similar. I dont know much about C/C++ and the differences. This would lead to a longer talk, for which this the wrong com method is, as i have a lot of questions about it.
They are very different, and you're not the only one confusing them. Let's just say that C follows the structural paradigm, while C++ follows the object oriented paradigm, so totally different.
I remember reading different views.
Like this: :unsure: Confusing to say the least.
Yes, this is a very complex topic. I'll try to explain simply and briefly, but I'm not good at this and English isn't my native language, so forgive me if my explanation isn't the best. But I'll try.

For a compiled program, a compiler must exists which converts the source into machine-code, and then you should be able to run the program without an additional executable.

Python has nothing like this, instead what it does:
1. its lexer converts the source into tokens
2. the tokens are organized into a node tree (so called Abstract Source Tree, or AST in short)
3. a virtual machine iterates through the AST nodes and executes a pre-defined function depending on context and the node

Which is a classic organization of an interpreter.

Now steps 1 and 2 are computational heavy, so slow. To circumvent, python serializes the AST tree into a binary blob and saves it in .pyc files, so when you run a python script, it checks if that cache is up-to-date and if so then only has to read in and deserialize that blob, which is much much faster than steps 1 and 2. But this caching is optional, you can turn this AST caching off and always do steps 1 and 2 by calling python with the "-B" flag. However this is just a cache, and does not contain compiled machine-code.

Ren'Py adds a little twist to this, it saves that serialized AST into .rpyc files. This is required because source files don't exists with Ren'Py games, so python can't validate if the AST cache is up-to-date or not, it must always load the cache no matter what. Also Ren'Py uses the pickle serialization for these, and not the python built-in marshall serialization like .pyc files normally do. Details aside, .rpyc files are also AST caches and do not contain compiled machine-code.

Not under normal circumstances.
Last years change in Ren'Py (9.Sep 2024) of the protocol v. after the v8.3.2 release:
Explaination: Ren'Py used very long "pickle protocol 2" and is since Python v2.3 (Anno 2003, pep307) in every version supported. Now Ren'Py uses the highest protocol(5) and Python supports this since v3.8 (2018). If "some game" needs pickle 5 before this, its because some weirdos fraked with the engine.
You asked what other dependencies there are, and what I meant was, you need further python modules as well, like pickle, so you have further dependencies, the python interpreter in itself (python.exe alone without the modules) is not enough.
 
5.00 star(s) 9 Votes