-
Notifications
You must be signed in to change notification settings - Fork 39
Description
I'm slightly concerned by the following lines in the assembler.py:
# Modify relative jump to absolute jump
if ins.mnemonic == 'JUMP_FORWARD':
ins.opcode = dis.opmap['JUMP_ABSOLUTE']This modifies the opcode value without changing the mnemonic, and, more importnantly, the argument - I suppose this should at least add the current instruction's offset to the arg.
P.S. A bit of a backstory:
I'm currently trying to add the support of EXTENDED_ARG stuff, but for that I need to understand the principles of the whole app. The idea I came up with is just to interpret them with the following opcode as one big opcode 6 bytes long, and after that come the details. I started this because I'm trying to decompile one obfuscated wot mod, so I'm simultaneously facing both the BigWorld and EXTENDED_ARG problems, and I have actually figured out some interesting solutions, but I could really use better understanding of the obfuscation.
Also I'm intrested in whether the author, @extremecoders-re is still maintaining this project and if he is interested in continuing the development?