Comments (3)
Based on some preliminary analysis, this game mods the ren'py engine quite heavily by introducing a new AST node in it's early script files, without using the normal API for those (renpy.register_statement
). This makes it impossible to decompile this game without making changes to the decompiler so it knows how to deal with this statement. Furthermore the implementation is rather dirty causing RevertableList instances to show up in the script AST which I've never seen before and which were causing the fatal errors rather than a "could not decompile node" comment.
I can push the necessary patches to at least parse the files correctly to a separate branch, but reversing how their custom ASTs work is a lot of work that will be only applicable to this specific game so I'm not too interested in it.
from unrpyc.
I've pushed the necessary changes to not make decompilation fail completely to the innocent_witches branch. However a significant amount of work is still necessary to fully decompile the scripts due to the ast modding.
from unrpyc.
Thank you for pointing out this mistake.
I moved the CallLocation class to the python file.
Unfortunately UserStatement makes it impossible to use ast.next_node and predict renpy code block.
It would be nice to make the function of decompiling third-party ast classes, I think I'll add a couple more.
from unrpyc.
Related Issues (20)
- Instaliation issues HOT 6
- Translate feature is in both unrpyc branches error prone implemented HOT 17
- Sugar syntax error in the SL2 decompiler HOT 7
- Interleaved output when multiprocessing is used. HOT 2
- Python string RegEx does not match multiline strings HOT 3
- Failed decompile script 'options.rpyс' from renpy 6.11.2 HOT 11
- How to unrpyc a single file during runtime in a rpy file HOT 13
- Missing guards after argparse for bad arg combinations HOT 1
- Safepickler in Py3 possibly broken HOT 10
- Uncaught exception while running a game with un.rpy HOT 10
- Sometimes "elif True" if generated HOT 3
- ModuleNotFoundError: No module named 'renpy' HOT 4
- After decompiled .rpy files, the game crashed. HOT 10
- Module Not Found Error HOT 4
- Cannot import as a library; fails at importing 'renpy' HOT 8
- "Did not find a zlib compressed blob where it was expected. Either the header has been modified or the file structure has been changed." HOT 6
- Pickle error with __builtins__.getattr HOT 16
- Errors during desobfuscation HOT 2
- The un.rpyc compile readme is out of date HOT 1
- No module named 'renpy' HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from unrpyc.