Adam
|
ba1ff95628
|
Trying to make this work live, constant param deob is breaking stuff
|
2015-08-09 12:10:58 -04:00 |
|
Adam
|
7c336948fc
|
Rebuild jump graph in inliner
|
2015-08-08 21:51:15 -04:00 |
|
Adam
|
da0b7403b4
|
Try and replace unused blocks with unreached code, seeing some problems somewhere
|
2015-08-08 20:45:16 -04:00 |
|
Adam
|
12318efcaf
|
untested, inline functions with args/return values
|
2015-08-08 14:27:02 -04:00 |
|
Adam
|
2e7e2d31d4
|
Inline static void methods with no arguments
|
2015-08-08 11:06:41 -04:00 |
|
Adam
|
d09eb21a0d
|
Some initial work on inlining
|
2015-08-08 00:37:12 -04:00 |
|
Adam
|
42e4223e83
|
make illegal state exception less strict
|
2015-08-07 20:46:47 -04:00 |
|
Adam
|
95368f61a8
|
Fix constant parameter corrupting instructions. Make unused blocks faster.
|
2015-08-06 18:59:23 -04:00 |
|
Adam
|
ba4f23ffbd
|
per method,lvt deadops, but this appears to produce broken code?
|
2015-08-05 17:03:49 -04:00 |
|
Adam
|
9c3b0b4754
|
Fix identifying vmethods incorrectly if two classes can be reached in the classgraph with two methods that have the same name and signature but are otherwise unrelated
|
2015-08-04 20:40:20 -04:00 |
|
Adam
|
b4a316b811
|
cleanup
|
2015-08-03 16:47:10 -04:00 |
|
Adam
|
57b9a45871
|
appears to work
|
2015-08-02 21:46:24 -04:00 |
|
Adam
|
1ac0cef696
|
these const push instructions are also push instructions. need to fix jumps to the logically dead conditionals.
|
2015-08-02 11:50:20 -04:00 |
|
Adam
|
516fa7805f
|
I dont know if this works or is correct but it runs?
|
2015-08-01 21:35:02 -04:00 |
|
Adam
|
7ce6cca104
|
this doesn't work at all but looks bette
|
2015-07-31 23:48:35 -04:00 |
|
Adam
|
7b4de7d8db
|
I dont like this
|
2015-07-31 12:47:40 -04:00 |
|
Adam
|
a7902d53e9
|
idr
|
2015-07-30 20:45:28 -04:00 |
|
Adam
|
5478fc7385
|
Start of constant parameter stuff
|
2015-07-30 16:39:48 -04:00 |
|
Adam
|
f27e410f5b
|
Fix rename unique, renaming fields depends on classgraph for searching deep for fields
|
2015-07-28 16:48:03 -04:00 |
|
Adam
|
369a93be7b
|
Rename unique first
|
2015-07-27 20:12:56 -04:00 |
|
Adam
|
fda37792ff
|
Seeing something weird with invokestatic methods on non static methods?
|
2015-07-26 21:36:19 -04:00 |
|
Adam
|
35fcfc0645
|
Don't remove params on not ob'd methods, or ctors
|
2015-07-26 19:01:43 -04:00 |
|
Adam
|
30e29a52ab
|
rename unique works
|
2015-07-26 14:15:52 -04:00 |
|
Adam
|
76cd96b7d8
|
Check for unused constructors too
|
2015-07-13 16:20:34 -04:00 |
|
Adam
|
ba5ecc5c6c
|
Fix multianewarray class renaming
|
2015-07-13 08:49:49 -04:00 |
|
Adam
|
b7d4d4981f
|
Debugging stuff.
|
2015-07-12 21:43:40 -04:00 |
|
Adam
|
ec50303962
|
Fix up jump inlining, this causes linear scans of the instructions for a
lot of exceptions and is slow. Need to allow inlining in try blocks?
|
2015-07-12 00:15:45 -04:00 |
|
Adam
|
3fbb69e102
|
Fixes to unique rename, just use getMethods() instead of comparing names
|
2015-07-11 13:34:32 -04:00 |
|
Adam
|
e263694eac
|
Rest of rename unique. Untested but asm looks ok.
|
2015-07-11 11:33:40 -04:00 |
|
Adam
|
b03a0e3181
|
Rename unique non overriden methods
|
2015-07-10 22:00:12 -04:00 |
|
Adam
|
26458e7280
|
Add common deobfuscator interface
|
2015-07-10 12:37:45 -04:00 |
|
Adam
|
df11cdaded
|
Rename unique fields
|
2015-07-10 11:29:46 -04:00 |
|
Adam
|
5781f08152
|
Beginning work of rename unique, now renames classes
|
2015-07-09 20:56:44 -04:00 |
|
Adam
|
c92387e089
|
Remove pool entry pool reference
|
2015-07-07 12:49:37 -04:00 |
|
Adam
|
be127c55cb
|
cleanup
|
2015-07-05 21:09:13 -04:00 |
|
Adam
|
fcc8fddcd7
|
Make unused method stuff simpler don't worry about collisions, I'll
rename everything later so it wont be a problem
|
2015-07-05 21:05:34 -04:00 |
|
Adam
|
bfcfaa84e6
|
This doesn't really work but it's a start.
|
2015-07-05 17:10:44 -04:00 |
|
Adam
|
a7b70c072b
|
Some fields we may be able to detect get but not set, should probably
calculate the othe rhalf instead of trying to calculate it from multiple
fields?
|
2015-07-05 00:40:23 -04:00 |
|
Adam
|
1e893da471
|
Begin multi pass work
|
2015-07-04 13:35:01 -04:00 |
|
Adam
|
919ad34996
|
hm
|
2015-07-03 22:35:28 -04:00 |
|
Adam
|
500037fc45
|
Cleanup, prepare to detect more ob'd fields.
|
2015-07-03 18:54:54 -04:00 |
|
Adam
|
6834504e6c
|
Work on detecting setters, for comparison/some fields which are never
cleanly gettd
|
2015-07-03 18:05:48 -04:00 |
|
Adam
|
18a914184b
|
Don't count non ob'd fields, down to 50
|
2015-07-03 16:45:19 -04:00 |
|
Adam
|
7eb32d7df1
|
Something smarter, down to 82
|
2015-07-03 16:30:30 -04:00 |
|
Adam
|
c5bbe20791
|
Unused field stuff was harder than i thought
|
2015-07-03 01:09:01 -04:00 |
|
Adam
|
7b0776d1ec
|
more arith deob
|
2015-07-02 17:07:57 -04:00 |
|
Adam
|
e5a8ff8268
|
cleanup, detect func(field * constant).
Sometimes non storing lvt instructions don't give us the correct getter
value eg
if (lvt > field * constant) -> actually if (lvt > field * x)
|
2015-07-02 13:48:26 -04:00 |
|
Adam
|
1056006b59
|
Got unused parameter stuff to run again. atm not bothering with
functions that might be overriden.
|
2015-06-30 14:46:15 -04:00 |
|
Adam
|
91f189add1
|
fix unused methods again
|
2015-06-28 20:45:01 -04:00 |
|
Adam
|
b0f5f33e89
|
Fixup rest of unused method stuff. It appears there are some garbage
fields too places.
|
2015-06-28 19:32:54 -04:00 |
|