Merging #54 into this one since tests get changed again in this PR and I would rather changes get reviewed on the most modern copy.
Tests have been added (when they are fairly easy to create, certain schemas will require some work so don't have tests yet).
Deobfuscators are now modular and can just be added by adding files to the deobfuscators directory. This allows for a few things:
Versioning of deobfs is now possible
Adding new deobfuscators are streamlined (No need to change code in like 15 places, just add a new file and the code will pick it up automatically)
Deobfs can be lazy loaded, so if you're working on another deobf with broken code and need to use the program, it will run fine as long as you don't try to load the broken deobf
Specifying multiple deobfs to be ran on a single file is now possible (Currently the code will terminate on the first successful deobf, this is easy to change if desired)
Minor changes:
Changed -s/--soft to --show-expected
Added -s/--skip-scan to skip scanning of deobfs and just run them
Merging #54 into this one since tests get changed again in this PR and I would rather changes get reviewed on the most modern copy. Tests have been added (when they are fairly easy to create, certain schemas will require some work so don't have tests yet).
Deobfuscators are now modular and can just be added by adding files to the deobfuscators directory. This allows for a few things:
Minor changes: