You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Compile source to code objects, or load .pyc as code objects
Iterate code object, co_code of each code object will be wrapped by an armor as the following format
0 JUMP_ABSOLUTE n = 3 + len(bytecode)
... here it's obfuscation bytecode by des or some other algorithms
n + 3:
0 LOAD_GLOBAL ? (armor)
3 CALL_FUNCTION 0
6 POP_TOP
7 JUMP_ABSOLUTE 0
Decrypt
For each encrypted code object, first op is jump to n + 3
At n + 3, it will call a PyCFunction to decrypt those obfuscation bytecode
When it returns, jump to first op of really bytecode
By this way, no import hooker, no setprofile/settrace required. The performance will be improved remarkably.
The text was updated successfully, but these errors were encountered:
By this way, no import hooker, no setprofile/settrace required. The performance will be improved remarkably.
The text was updated successfully, but these errors were encountered: