Comments (7)
Adding an extra check around there cannot hurt as well then. I'll make some changes to also catch that.
from unrpyc.
This should all be fixed now.
from unrpyc.
Fair enough. The easiest way to check for this is to see if the position fields actually fit the expected pattern of 1, 2. If the header is wrong those fields likely contain garbage.
from unrpyc.
Added some warnings in that file around possible issues of loading old rpyc files, rpyc files that we can detect to be from ren'py 7 (doesn't catch all of them, but at least we can warn people that something is afoot).
Seems either way that the master decompiler is surprisingly good at still decompiling ren'py 7 files. So I'm really considering just getting the old-style argument support in there and at least having dev also be compatible with ren'py 7.
On another note, apparently we're also missing test.testast.If
support.
from unrpyc.
Added some warnings in that file around possible issues of loading old rpyc files
Looks good! I think this will go a long way for getting a first lead on things.
we're also missing
test.testast.If
support.
I guess this will not be the last thing that sneaked somehow around the Ren'Py docs or changelog. 😉
Btw. Whats now with missing pickletools, huh? Strange...! (I thought at first "how did i manage to breaks this now" with my mini-pull req?)
from unrpyc.
Btw. Whats now with missing pickletools, huh? Strange...! (I thought at first "how did i manage to breaks this now" with my mini-pull req?)
Apparently an issue in my previous un.rpyc overhauls. Instead of removing all renpy module loaders, I removed everything but the renpy module loaders. Which was fine, until it needed to import a previously not imported module from the stdlib.
from unrpyc.
The wrong header falls still through with the current dev branch:
Error while decompiling /home/olli/.xlib/RPG/_test/OurBrightDays-0.1.3-pc/game/0_TEST_header_fake.rpyc:
Traceback (most recent call last):
File "/home/olli/Code/Git/unrpyc/unrpyc.py", line 247, in worker
return decompile_rpyc(filename, args.clobber, args.dump, no_pyexpr=args.no_pyexpr,
File "/home/olli/Code/Git/unrpyc/unrpyc.py", line 169, in decompile_rpyc
ast = read_ast_from_file(in_file)
File "/home/olli/Code/Git/unrpyc/unrpyc.py", line 122, in read_ast_from_file
contents = zlib.decompress(contents)
zlib.error: Error -3 while decompressing data: incorrect header check
I used a rpyc file with manipulated header where one char was changed. (RENPY RPC2 -> RENPY RPC3) The same effect can be reached, if one checks in unrpyc.py for a wrong header string.
The complain is misleading as it points at zlib as the culprit or something related to the compressed stream.
from unrpyc.
Related Issues (20)
- Legacy-backports HOT 4
- Dev_py3: Possible missing colons in decompiled v8.2 files HOT 5
- AttributeError: 'RawBlock' object has no attribute 'statements' HOT 12
- AttributeError: 'module' object has no attribute '_loads' with Ren'Py 6.99.12.4.2187 HOT 5
- 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
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.