Closed milahu closed 1 year ago
nevermind. this looks like a custom obfuscation of talon
talon obfuscation is probably similar to dropbox
https://news.ycombinator.com/item?id=13848035
the encryption keys are not in the interpreter. The interpreter is patched to not expose co_code and more (to make this memory dumping more difficult; injecting an shared object is a different technique that I used too). It's also patched to use the different opcode mapping and the unmarshalling of pyc files upon loading them. However the key for each pyc file is derived from data strictly in those files themselves. It's pretty clear when you load up the binary in IDA Pro and compare the unmarshalling code with a standard Python interpreter's code
so probably the usual reverse-engineering tools (ida, ghidra, frida, ...) are more useful here
related:
example: .py4 and .pyi files https://talonvoice.com/ https://talonvoice.com/dl/latest/talon-linux.tar.xz (42 MB) talon/resources/python/lib/python3.9/site-packages/talon/
https://github.com/zrax/pycdc/issues/23
py4 header looks random
trying to run the
__init__.pyi
filehmm ...