Add bytecode-based deobfuscator #5

Closed
opened 5 years ago by gpe · 1 comments
gpe commented 5 years ago
Owner

Remaining items:

  • Track original local variable names
  • Static scrambling transformer
  • Ignore access flags and calculate them ourselves (required for static scrambling to work)
  • Remove unused code (e.g. there are some leftover branches/variables - I think from a mixture of opaque predicates and the dummy transformer) I think this is unused code from Jagex's codebase (with unused fields removed by their obfuscator?). There's a small amount of it, so I'm not going to bother removing it automatically.
  • Automatically rename string constants I'm not going to bother with this, as some of the names would end up being quite long, there might be duplicates and it doesn't actually save much manual effort
  • Add @Override annotations
  • Improve FinalTransformer? Could/should we try to make more methods/fields final?
Remaining items: * [x] Track original local variable names * [x] Static scrambling transformer * [x] Ignore access flags and calculate them ourselves (required for static scrambling to work) * [x] ~~Remove unused code (e.g. there are some leftover branches/variables - I think from a mixture of opaque predicates and the dummy transformer)~~ I think this is unused code from Jagex's codebase (with unused fields removed by their obfuscator?). There's a small amount of it, so I'm not going to bother removing it automatically. * ~~Automatically rename string constants~~ I'm not going to bother with this, as some of the names would end up being quite long, there might be duplicates and it doesn't actually save much manual effort * [x] Add `@Override` annotations * [x] Improve FinalTransformer? Could/should we try to make more methods/fields final?
gpe changed title from Implement bytecode-based deobfuscator to Add bytecode-based deobfuscator 5 years ago
gpe added the
deobfuscator
label 4 years ago
gpe added the
feature
label 4 years ago
Poster
Owner

The original goals in this issue are complete, so I'll close it in favour of the separate issues with the deobfuscator label.

The original goals in this issue are complete, so I'll close it in favour of the separate issues with the `deobfuscator` label.
gpe closed this issue 4 years ago
Sign in to join this conversation.
Loading…
There is no content yet.