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
Adam
d9f4d257a5
wip removal of unused methods based on execution from init.
2015-06-27 23:47:43 -04:00
Adam
dfcc41b41c
I will need to actually perform method invocations during execution to
...
be able to pass/get the correct underlying types of variables for the
virtual method lookup.
2015-06-26 13:19:51 -04:00
Adam
0543950013
I think my invokevirtual execution is wrong because it doesn't actually
...
look for virtual methods on the type, which is why my unused method deob
does weird things. I am seeing methods that still exist after running it
that appear to be using non-inversible constants.
2015-06-25 19:07:46 -04:00
Adam
1eee5a48ae
store pushes in instruction context too
2015-06-24 14:48:30 -04:00
Adam
85fc94dd57
Thinking on modinverse
2015-06-23 19:29:32 -04:00
Adam
815b2e2931
works. splitting blocks by instructions jumped to and not checking
...
whether inlinable blocks were terminal.
2015-06-20 18:39:40 -04:00
Adam
713db7777f
remove stack of ifs in illegal state ex deob, get rid of using pcs in
...
frame to execute, need to remove more of this later, make jumps jump to
instructions, doesn't yet work
2015-06-20 17:56:46 -04:00
Adam
98d85c646b
illegal state exception deob, ff doesnt fully like it yet though
2015-06-19 23:30:03 -04:00
Adam
d3142d83ce
Simplify jump deob, just destroy and rebuld jump graph instead of trying
...
to update it which sucks.
2015-06-18 16:49:47 -04:00
Adam
cb172775d4
Don't try and move jumps around in exceptions
2015-06-17 19:03:00 -04:00
Adam
db6269ba7e
debugging, idr, exception handler execution support
2015-06-13 21:51:06 -04:00
Adam
6cac8c1cc9
Move deobfuscation methods to their own files
2015-06-13 14:24:04 -04:00
Adam
3140a51f3f
Conflicts:
...
src/main/java/info/sigterm/deob/Deob.java
src/main/java/info/sigterm/deob/attributes/code/Instructions.java
2015-06-13 11:09:34 -04:00
Adam
a677e64aac
Remove unused parameters
2015-06-13 11:01:46 -04:00
Adam
eb986ba708
Eclipse code cleanup
2015-05-31 16:04:57 -04:00
Adam
0fcbcd262c
new execute stuff
2015-05-31 16:03:37 -04:00
Adam
1e34e0ec66
Remove instructions correctly
2015-05-11 10:26:48 -04:00
Adam
64d41c6f92
Cleanup block removal
2015-05-11 10:25:00 -04:00
Adam
fa3e9c0262
Hard to follow, exception removal and unused block (only from the now
...
removed exceptions from what I can tell)
2015-05-10 16:42:47 -04:00
Adam
2edf9d2117
clinit
2015-05-10 15:44:43 -04:00
Adam
ba7486b98b
Descriptor stuff
2015-05-10 15:06:50 -04:00
Adam
4af719032d
Allow pool to be dynamically rebuilt
2015-05-09 17:00:30 -04:00
Adam
0d21d49d2d
Can detect unused parameters
2015-05-05 13:36:54 -04:00
Adam
e70466fc0a
Add local var table instruction type and make relevant instructions
...
implement it
2015-05-04 15:36:38 -04:00
Adam
267efc7940
Remove unused methods
2015-04-25 15:30:22 -04:00
Adam
a9f953b46a
Class writing, call graph, eclipse project
2015-04-25 12:47:06 -04:00
Adam
4dc6bfc949
Doesn't execute all paths correctly
2015-02-08 16:35:58 -05:00
Adam
d00e5b03e1
Doesn't work and I don't know why
2015-02-01 22:19:28 -05:00
Adam
027dc6eff9
Some thinking about exceptions
2015-02-01 21:15:14 -05:00
Adam
763d82379e
Add eclipse project file
2015-02-01 18:06:18 -05:00
Adam
e38b4c5212
More execution work
2015-02-01 17:49:33 -05:00
Adam
cec4f0ac59
getObject on String should really just return the string
2015-01-26 02:25:42 -05:00
Adam
55dca4fa9b
Executor work
2015-01-26 00:40:54 -05:00