Commit Graph
100 Commits
Author SHA1 Message Date
Adam e2b0c90e7a Check mappings works now, add array load/store instruction types. Beginning of mapping importer. 2015-11-22 19:45:20 -06:00
Adam 96468b1547 Fix test, but I don't think this fixes the underlying problem 2015-11-22 16:19:07 -06:00
Adam adcfdc471a Added failing negative mul test 2015-11-22 15:07:15 -06:00
Adam 30ed0b4309 Runeloader test 2015-11-22 11:43:49 -06:00
Adam 304b78dfd7 Move rl injection to test 2015-11-22 09:39:19 -06:00
Adam 98a24c954b Import runeloader inject system 2015-11-22 09:04:10 -06:00
Adam 792446c8fb Split intValue/longValue. 2015-11-20 21:21:43 -05:00
Adam 26b3aa46a5 Store obfuscated getter in annotations 2015-11-20 19:30:15 -05:00
Adam bd63eeb684 Annotate original classes/fields/methods with their obfuscated name 2015-11-20 16:26:04 -05:00
Adam dac030002a More assertions 2015-11-20 16:02:44 -05:00
Adam 4c0d8de65b String annotation reading/writing 2015-11-20 15:52:22 -05:00
Adam 859f2d1dde Merger works? but stuff is unordered 2015-11-20 14:50:47 -05:00
Adam 933648c11d Save mappings/enc on disk 2015-11-20 13:38:08 -05:00
Adam 050fa333fa hm 2015-11-20 11:54:09 -05:00
Adam 0da5258c17 hm 2015-11-20 11:14:50 -05:00
Adam 919d2d68b3 Split rename unique into renamer and renamer unique 2015-11-20 09:48:45 -05:00
Adam 3db11969c3 Rename classes last so we can do it in 1 pass 2015-11-19 22:19:51 -05:00
Adam dad328de12 Cleanup rename unique 2015-11-19 21:23:28 -05:00
Adam 9752e5529f unused 2015-11-19 20:31:56 -05:00
Adam 765b5d7467 Cleanup 2015-11-19 20:31:27 -05:00
Adam a3a5b148df Maybe this is good enough I don't know 2015-11-19 20:28:19 -05:00
Adam d6958e2684 Add hashCode to pool entry 2015-11-19 19:38:29 -05:00
Adam 946016afea Basic edge type. 2015-11-19 17:08:06 -05:00
Adam dba7e02e0a Print. at 489/434. 2015-11-19 16:50:53 -05:00
Adam 804b34d075 hm 2015-11-19 16:32:19 -05:00
Adam bda6242dcb Save before I rip this up 2015-11-19 12:28:01 -05:00
Adam 87d4bc1ee5 Now the frames contain other functions 2015-11-17 20:08:42 -05:00
Adam 139b31f2ac seemed promising. doesn't really help. 2015-11-16 19:48:51 -05:00
Adam ceafe5acec Execution test is inf looping with new frame/exec stuff, dont know why. 2015-11-15 21:35:35 -05:00
Adam 5e4458ae6e Instead execute static functions inline as if they arent there to build the graph. Involved changing the executor to execute new frames as they appear. Can match my simple test method. 2015-11-15 20:46:23 -05:00
Adam c71c67fae3 The graphs of these frames are always the same 2015-11-15 19:49:42 -05:00
Adam 52ca2cb24e whitespace 2015-11-15 18:39:59 -05:00
Adam 83a51ea037 Remove block graph and jump inliner which wasn't used. The loading time for the block graph (because of the way exceptions were looked up) was too slow. 2015-11-15 18:39:05 -05:00
Adam 9a68e863bd Begin per-method executions in rename to use less memory. Runs still with 336. 2015-11-15 13:55:25 -05:00
Adam 44767a9735 Add flag for graph building, which uses too much memory. 2015-11-15 11:59:08 -05:00
Adam 7b94552825 Initialize methods after loading classgroup too, I dont know if other things are broken elsewhere. Making the method graphs work makes many more frames. Might be worth processing methods one at a time and then doing the comparisons. And maybe elsewhere that doesn't need the graph will not include all frames, or something. 2015-11-15 00:00:27 -05:00
Adam 7e5b99fe4f This clone stuff is causing me headaches. 2015-11-14 23:14:41 -05:00
Adam 66084e1398 Lookup methods and return those in getMethods(). Lookup stuff in execution next to the classgraph building. 2015-11-14 22:07:44 -05:00
Adam 337e98fb95 Include prev invokes for deciding if weve jumped before, fixes the graph jump test 2015-11-14 20:33:38 -05:00
Adam a867b7af9d Index 7 appears to be models. Am able to view them in rsmv. 2015-11-13 21:25:29 -05:00
Adam 10a613a601 NPC dumping. Weird tool leprechaun is id 0? This might be wrong. 2015-11-13 18:52:51 -05:00
Adam 0bce4dcbde . 2015-11-13 18:23:31 -05:00
Adam 0ae993e8fa Item def dumper 2015-11-13 18:23:17 -05:00
Adam e30b69d190 More cleanup. Also dump more than one image if more than one exists. 2015-11-13 16:55:28 -05:00
Adam abb7d699b7 Little bit of rewriting 2015-11-12 20:01:33 -05:00
Adam 1a8e11b7f9 Test exports png files ok, need to clean this up as it is mostly ripped from os cache suite 2015-11-12 19:01:48 -05:00
Adam a312edd581 Beginning of work on sprite loading/exporting 2015-11-12 18:50:38 -05:00
Adam 3c5fcc018f Add basic failing graph test 2015-11-11 20:22:46 -05:00
Adam be1b8f1e98 various fixes to graph building. I think there is a problem with how the execution runs, where it is not exploring all paths, because I have v13 class133.method2817 -> v14 class133 method2828 and there is no edge on the rhs for method4060->method4081. I think it is from two branches jumping to a place which jumps to the same place after, with invoke instructions on both sides. 2015-11-11 14:49:12 -05:00
Adam 4ae0c954cd Add integrity checks to methodinliner 2015-11-11 10:47:28 -05:00
Adam be1d5ed010 Instruction clone wasnt creating new jump lists... 2015-11-10 20:39:17 -05:00
Adam 782fa9f70a switch instructions can jump multiple times to the same place 2015-11-10 10:27:05 -05:00
Adam 3edf7e2f4c Trying to run the better inliner so the graph matches up. Maybe instead figure out a way to passively ignored the static func calls. Regardless this assert fails due to a corrupted jump graph. 2015-11-09 21:18:21 -05:00
Adam 60d4cd94fd This does 326 methods. 2015-11-09 19:58:15 -05:00
Adam e1ce955f6e doesn't work. graph stuff doesnt like ids of 0. and i need to reuse ids sometimes for some instructions, oops. 2015-11-08 21:02:36 -05:00
Adam 6ce5564e9f Move stuff to functions 2015-11-07 22:40:51 -05:00
Adam cb639749e1 Little cleanup of old stuff I was trying 2015-11-07 22:27:15 -05:00
Adam 25cb9b5f8b This looks promising 2015-11-07 21:55:03 -05:00
Adam ae82aad250 Make method inliner copy instead of move ins. I don't think the way it inlined exceptions before was correct. I had to make it not inline funcs with exception handlers 2015-11-06 17:49:24 -05:00
Adam 84fa11c8c8 I think i need exprs 2015-11-06 10:33:52 -05:00
Adam 8df59fb261 Fix test, fail in dup2_x1 2015-11-02 17:56:25 -05:00
Adam 483bdbc165 Add failing test, I think this should be passing 2015-11-01 19:07:13 -05:00
Adam 5e652a8799 Tests pass again. I see some cases of longs math not simplifying tho 2015-11-01 18:26:28 -05:00
Adam 695f7de686 Various Long work. this is making the int tests fail though 2015-11-01 17:47:49 -05:00
Adam 113363cd67 more work 2015-10-30 22:36:29 -04:00
Adam 8e68963f65 long work 2015-10-30 20:28:10 -04:00
Adam 1f716bf10d Small fix found by test, not sure if it breaks the larger picture 2015-10-25 20:08:57 -04:00
Adam 018a3619a8 Call constructor so executor picks it up 2015-10-25 19:28:27 -04:00
Adam 85a4587143 Comment cleanup 2015-10-25 19:28:12 -04:00
Adam 9cf9c31f2d This doesn't pass if this field isn't static 2015-10-25 19:20:17 -04:00
Adam e81e46c68c First modarith test 2015-10-25 19:11:25 -04:00
Adam 8e39328eca Cleanup to prepare for tests 2015-10-25 14:19:48 -04:00
Adam d7026aed78 recomment 2015-10-25 14:11:01 -04:00
Adam e03d638c2e I guess this is right? 2015-10-25 13:16:27 -04:00
Adam 5094943453 This works. Except for final fields, which I can evaluate later. 2015-10-23 15:46:03 -04:00
Adam f21cbba8b5 Fix test 2015-10-23 12:27:44 -04:00
Adam d4f40eaf03 Trying to fine tune stuff, found a *1 not removed which is messing with some stuff, added test 2015-10-23 12:04:23 -04:00
Adam 85c49413dd guess more 2015-10-23 11:00:47 -04:00
Adam bfb3a373c9 idk what im using, use multiplication expr to determine if another field is in the mix 2015-10-22 21:50:51 -04:00
Adam 9f17dec605 idr 2015-10-22 17:51:11 -04:00
Adam 5f6b01f4a0 1/0 works once again, maybe. 2015-10-22 11:01:43 -04:00
Adam 2f5f9861ef one/zero? obs arent handling stuff right, add test. now im setting null on instructions some places they fail 2015-10-22 09:53:56 -04:00
Adam bd2e62c22f Ran it a few times, is reobbing some stuff, seems not worse than the old stuff? 2015-10-21 21:37:31 -04:00
Adam d59a1fa88f isBig isnta lways right 2015-10-21 17:36:28 -04:00
Adam 6b41999fb5 Random thinking 2015-10-20 16:50:12 -04:00
Adam c2e1da7125 Java 8. This finally settles down by leaves many fields still obfuscated. 2015-10-19 21:14:21 -04:00
Adam 19cd153e37 Oh this was important 2015-10-19 15:24:43 -04:00
Adam 6c038e7fa6 Make generic load/store instructions. Unused params was replacing ins which requires a reexecution, but it wasn't 2015-10-19 15:23:01 -04:00
Adam 98143941b3 Unused params is causing problems after being run a few times :( 2015-10-18 22:03:46 -04:00
Adam 75364815aa Unused params is not working 2015-10-18 20:34:20 -04:00
Adam 9678bff181 Update gitignore 2015-10-18 18:44:54 -04:00
Adam d6f9509e5a Rename lookup2 -> lookup 2015-10-18 18:44:43 -04:00
Adam 95c4c441d0 Rewrite rename unique to work much different. Seems to run ok. 2015-10-18 18:41:04 -04:00
Adam f43a926e61 Not sure if this is right, but two different ins ctxs were popping this, but the same instruction, so I made it compare instructions 2015-10-17 23:16:13 -04:00
Adam 46955ddcbc move named/whirlpool out of member fields 2015-10-17 20:43:31 -04:00
Adam 4938226071 crc/whirlpool for archives 2015-10-17 20:35:37 -04:00
Adam eee5f72d4e Add disabled test to dump cache 2015-10-17 20:19:37 -04:00
Adam 0c022eef3e Check crc/whirlpool of archives 2015-10-17 20:19:19 -04:00
Adam 9b5a7981aa So there are archives not in the index, not sure what to do with it 2015-10-17 16:28:52 -04:00
Adam 5e28fe9768 Use apache compression commons for compressing gzip 2015-10-17 16:07:41 -04:00