Commit Graph

40 Commits

Author SHA1 Message Date
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
5478fc7385 Start of constant parameter stuff 2015-07-30 16:39:48 -04:00
Adam
369a93be7b Rename unique first 2015-07-27 20:12:56 -04:00
Adam
35fcfc0645 Don't remove params on not ob'd methods, or ctors 2015-07-26 19:01:43 -04:00
Adam
76cd96b7d8 Check for unused constructors too 2015-07-13 16:20:34 -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
5781f08152 Beginning work of rename unique, now renames classes 2015-07-09 20:56:44 -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
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
85fc94dd57 Thinking on modinverse 2015-06-23 19:29:32 -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
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
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
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
55dca4fa9b Executor work 2015-01-26 00:40:54 -05:00
Adam
4a24560be5 Add field references, only for getstatic currently 2014-12-01 17:00:55 -05:00
Adam
0d50085e03 Build class graph 2014-12-01 12:52:16 -05:00
Adam
41681f94a5 init of deob 2014-11-30 20:35:37 -05:00