Commit Graph
100 Commits
Author SHA1 Message Date
Adam 649bec406d File loading. No clue if this is right. 2015-10-14 14:09:31 -04:00
Adam df2db1c84c Put Indexes in store, and indexfile in index 2015-10-14 10:02:09 -04:00
Adam 634d5ec325 Untested save archive 2015-10-13 21:47:38 -04:00
Adam e2f90f2c95 Rest of index loading? untested 2015-10-13 21:21:53 -04:00
Adam 92faf3fa48 Backup save of archive loading 2015-10-13 17:04:18 -04:00
Adam a557663044 datafile id should have been a parameter 2015-10-13 10:04:57 -04:00
Adam 2e118bb391 Init of store loading, what is datafile id 2015-10-13 09:59:37 -04:00
Adam 4f1f75c88f Cleanup/bugfixes 2015-10-13 09:50:50 -04:00
Adam 142e432403 Use TemporaryFolder for tests 2015-10-13 09:37:23 -04:00
Adam ec9f22fa33 Closeable 2015-10-12 21:20:46 -04:00
Adam 50a30553b9 Add basic store object 2015-10-12 21:16:03 -04:00
Adam 57a55d43e1 Add basic index file reader/writer and basic test 2015-10-12 21:08:46 -04:00
Adam ee265a6342 A little cleanup 2015-10-12 20:46:01 -04:00
Adam 07af5cef90 Begin work on DataFile 2015-10-12 20:34:53 -04:00
Adam c9a0c7bc55 Comment out failing test I will address later 2015-10-12 17:42:13 -04:00
Adam 5b48ccef29 Merge branch 'master+arith'
Conflicts:
	src/main/java/net/runelite/deob/deobfuscators/MethodInliner.java
2015-10-12 17:41:06 -04:00
Adam 99985d7d6f class172/field2976 passed to invoke is not simplified 2015-10-11 19:38:36 -04:00
Adam a0cb4c96d6 loop multi stuff 2015-10-10 22:05:36 -04:00
Adam 76206edeff More guessing stuff. Need an isobfuscated() func. 2015-10-10 22:05:25 -04:00
Adam 734f15fa4a More tests/fixes I dont know if this is right 2015-10-10 21:15:07 -04:00
Adam 27f2edbea6 Limited support for getting around iload/istore, Add test too. Seems to work? 2015-10-10 16:21:22 -04:00
Adam db089ab628 Small fixups i guess 2015-10-10 15:21:45 -04:00
Adam bd427975ae Cleanup some of the old encr stuff 2015-10-10 10:35:20 -04:00
Adam fd973a0a95 Check per pop if its multiple places or not 2015-10-09 14:14:14 -04:00
Adam 0bc49e1ec6 Fix fieldmover build? Not sure if this is correct. This mul test doesn't cover what I was trying to fix, field721 = (-1 != var5 && 1 != var5?(class139.field2363 * 1381104939 + 1 * field721 * 1) / 2:1381104939 * class139.field2363) * 1807370871 * 981643079; 2015-10-08 21:00:45 -04:00
Adam 9b4f4242eb hey this passes the test but doesnt compile. allow tracking more than one pops for stackctx. 2015-10-08 17:30:00 -04:00
Adam f4c004b7ad Add more to test, this fails 2015-10-07 17:20:02 -04:00
Adam 86bddfed9b This fixes the test, although there are simply multiplication expressions not being simplified now in the same expr 2015-10-07 15:23:54 -04:00
Adam 26b54f6278 save 2015-10-04 20:15:25 -04:00
Adam 9ca8151162 Isolate a test I believe is wrong 2015-10-03 23:31:00 -04:00
Adam f6f487ad6d Another dup1 test 2015-10-03 12:48:51 -04:00
Adam fb10ab8daa dupx1 test 2015-10-03 11:42:04 -04:00
Adam ec034ce50d Add junit as a test dependency 2015-10-03 00:37:59 -04:00
Adam 6f6fd51509 Split datastream loading from classfile to prepare for tests 2015-10-03 00:36:30 -04:00
Adam 1608d84b39 I need a better solution than having to edit the jumpgraph all the time 2015-10-02 22:50:32 -04:00
Adam 3e6213ea52 ise fixes, grr 2015-10-02 17:14:14 -04:00
Adam 164b5fd5af ahhhhhhhhhhhhhhh 2015-10-01 17:02:25 -04:00
Adam d61d006b34 Fix some of the dup stuff, works a little better? 2015-09-30 20:39:35 -04:00
Adam d43dc04519 something is wrong somewhere but I don't see anything 2015-09-27 21:26:05 -04:00
Adam 812975d7dc I don't know if this is right but can decompile 2201 okay 2015-09-27 17:32:32 -04:00
Adam 9efef8aa59 Make specific/generic to try and allow changing constants without having to change instructions 2015-09-26 23:59:05 -04:00
Adam 9a5d2c801f Rewrite multi deob, this looks rather nice 2015-09-26 19:31:07 -04:00
Adam 5cc12d0228 More multi fixes. Spinning is back with multiplication deobfuscator.. 2015-09-25 14:17:15 -04:00
Adam 5be7604ee9 IT GETS ME EVERY TIME 2015-09-25 12:40:47 -04:00
Adam ae8544cea1 beginning work on removing *1 2015-09-25 11:23:20 -04:00
Adam f7edf29ebc mul simplifying for simple expressions 2015-09-24 17:37:55 -04:00
Adam 1b063d9e12 save 2015-09-20 14:29:11 -04:00
Adam 762c6ba543 ahhhhhhhhhhhhhhhhhhhhhh 2015-09-20 13:41:15 -04:00
Adam ec86f0bee6 Basic multi arith, need to rewrite 2015-09-20 13:40:59 -04:00
Adam 4d21fe7daf XXX confused. trying something new, by inserting * setter and * getter before/after put/set field 2015-09-19 18:58:00 -04:00
Adam 200a82bc83 this inf loops and keeps changing the same last few fields back and forth etc.? 2015-09-13 19:41:10 -04:00
Adam 95b87c005c handle setConstant changing ins 2015-09-13 19:40:40 -04:00
Adam 0b1d2be4a1 still change if *1 2015-09-13 19:40:08 -04:00
Adam 98e3b7ec9e setConstant 2015-09-13 19:38:36 -04:00
Adam 309595a09b instructions replace 2015-09-13 19:37:44 -04:00
Adam a826ac3c47 some guessing, fix dup stuff via magic 2015-09-12 22:15:37 -04:00
Adam c463687202 dupinstruction, and enc 2015-09-12 13:59:31 -04:00
Adam 53234351f9 the value is still decrypted if it is 1 or 0 since x*1=x and x*0=0 so this was wrong 2015-09-12 13:53:13 -04:00
Adam 5116d09fa0 begin work on guessing 2015-09-11 20:47:41 -04:00
Adam c5af568867 rename unique run 2015-09-10 21:11:36 -04:00
Adam c8d1ec9e25 After imul runs the value is no longer encrypted 2015-09-10 14:17:47 -04:00
Adam 2cfba32e28 class172.java: this.field2982 = ((1 * this.field2963 & -65536) + this.field2982 * 1) * -402105799; not working. 2015-09-09 21:24:37 -04:00
Adam 9404e1d9af Carry encryption over in iadd and dup x1, this needs to be handled a better way. 2015-09-08 20:45:57 -04:00
Adam 7e9233a5d5 Fix putfield pop order, runs on all fields it detects now. Don't know if it works. 2015-09-08 15:46:29 -04:00
Adam 7b440adc0c Fix putfield object/value order 2015-09-08 13:33:46 -04:00
Adam 2ea00d654f 32 vars! 2015-09-07 17:07:02 -04:00
Adam f46e4dfdce translating one field works 2015-09-06 23:39:47 -04:00
Adam 88bd6490de Work. 2015-09-05 23:19:38 -04:00
Adam 9c16bc7ede Fix methodinliner to move jumps to the function being inlined to the right place
(cherry picked from commit fae040a98f)
2015-09-05 21:47:03 -04:00
Adam fae040a98f Fix methodinliner to move jumps to the function being inlined to the right place 2015-09-05 19:10:57 -04:00
Adam 227606a065 hm 2015-08-26 19:10:56 -04:00
Adam 1fd79174ea Some detecting getters, not totally right. Cap at 5. 2015-08-24 18:27:13 -04:00
Adam 4143a59d9d cleanup 2015-08-23 20:29:23 -04:00
Adam 5561478ec8 Also direct assignment 2015-08-23 18:35:45 -04:00
Adam 7ac2b0e977 Working on doing arith deob during exec 2015-08-23 18:22:51 -04:00
Adam 32cbb0f805 Merge branch 'master' into master+arith
Conflicts:
	src/main/java/net/runelite/deob/attributes/code/instructions/GetStatic.java
2015-08-23 12:55:31 -04:00
Adam 9878fb59b3 Remove beginning of original instruction graph, don't need it 2015-08-23 12:49:21 -04:00
Adam 0a8d233083 arith v2 2015-08-23 12:40:12 -04:00
Adam 4d4dd9715e Allow inlining methods with exceptions 2015-08-22 22:53:03 -04:00
Adam 0bfc3e3c38 Blah whitespace 2015-08-22 17:56:08 -04:00
Adam e478a4b1f9 Store stack context with variable context, and pass up stack contexts when invoking methods. I don't think iirc is right? 2015-08-22 17:54:39 -04:00
Adam 8ff2f4776a Only onsider non static methods in fieldmover, note why fieldmover is broken 2015-08-22 14:58:21 -04:00
Adam 8e487a3567 Merge branch 'master' into master+fieldmove 2015-08-22 12:19:22 -04:00
Adam 1853bb1be1 Field moving works 2015-08-22 12:18:24 -04:00
Adam 35d8a98365 hm this assert fails 2015-08-19 21:23:00 -04:00
Adam 7fb5f3e721 work on moving static initializers 2015-08-17 20:18:34 -04:00
Adam 88fc561188 Fix rename unique fields 2015-08-17 17:01:03 -04:00
Adam 5839452b3b requires some work to move static field initializers 2015-08-16 21:15:51 -04:00
Adam 5059f8cc75 Fix not removing ctors, unused class deob. Can't yet move static fields to client until I can move clinit 2015-08-16 19:08:22 -04:00
Adam 4f11ca9f36 Rename info.sigterm -> net.runelite 2015-08-16 15:17:58 -04:00
Adam 1c8f2dbc27 Inline static constant string fields 2015-08-15 17:05:54 -04:00
Adam 8a7e1d1f97 Field mover 2015-08-15 14:54:48 -04:00
Adam fc3c0a258f Finish methodmover 2015-08-15 12:49:00 -04:00
Adam f91f6f5918 Small fixes 2015-08-15 00:03:00 -04:00
Adam 09c4b108dd Fix inliner 2015-08-14 15:01:11 -04:00
Adam f3bdcf954e Bail out if const param detects a lvt store 2015-08-14 14:00:27 -04:00
Adam 2eeda597dc Compare more than just the pops, but the entire stack, and compare
the instructions not the contexts
2015-08-13 18:22:53 -04:00
Adam 9b4230154c Use instruction ctx to see if a jump has already happened. Not sure if it works but it runs. 2015-08-12 18:01:12 -04:00
Adam f8fe552287 invokespecial shouldn't find deep for the method being invoked 2015-08-09 20:50:06 -04:00
Adam 399e5d8f8a cleanup athrow 2015-08-09 17:22:53 -04:00