Strilanc
Veteran Scripter
- Reaction score
- 42
You missed the key descriptor: "easily"
I would never classify compiling vJass to Jass as easy. Also, this is not compiling vJass to Jass, it is decompiling it, analyzing it for several variable patterns that could possibly denote the existence of other code to look for and remove based on what this code is.
Quite a lot of logic to program. It is very unlikely to make it into the automated cheat-add bots because of how that.
You *really* have a skewed concept of what is and is not easy for computers to do. None of the things you described are complicated.
How to easily identify an obfuscated C2I functions:
- Find all function and variable declarations. Parsing their type and name is not hard. Keep track of their name and type using a dictionary.
- For each function, find all return statements, use previously mentioned dictionary to figure out type being returned. Take into account that 'function X' is a code type, ints can be implicitly converted to reals, etc. The hard part here is dealing with compound expressions, but we can't use code types that way, so we can just ignore those if we want!
- List all non-code functions which return a code type.