Open tarhan opened 2 years ago
There is official documentation for opcodes https://docs.python.org/3.11/library/dis.html
Compiler output changes with each new version of python. The compiler is getting more and more efficient. Output is less structured and it is getting harder to decompile with simple rules.
There is official documentation for opcodes https://docs.python.org/3.11/library/dis.html
I've saw that page. Is there any more detailed and full description?
it is getting harder to decompile with simple rules. That is understandable. Same as for HexRays for IDA Pro.
I'm trying to use pycdc on file which apparently contains lambda (not sure what it doing). During decoding it pycdc output
Url = (lambda
and crashing.Crashing point within
ASTree.cpp
:Problem is with casting to
ASTObject
withincode.cast<ASTObject>()
.code
variable containsASTComprehension
and dynamic_cast createsPycRef<ASTObject*>
with null reference. It is understandable since inheritanceASTComprehension -> ASTNode
. Where I can learn about correctly reading output of disassembler to understanding how modify decompiler? I could not find detailed description of opcodes and their arguments. But more importantly I could not fully understand hierarchical output of disassembler especially init section of each level.From current understanding of assembler output here part which
pycdc
could not understand:PS: I'm sorry I could not upload *.pyc files to public hosting and paste here link.