Commit Graph
100 Commits
Author SHA1 Message Date
Adam d1433c6e84 ise 2016-04-03 20:06:27 -04:00
Adam eaf870be77 cleanup 2016-04-03 15:56:31 -04:00
Adam d6c7d7dc8a playing with less memory 2016-04-03 15:53:13 -04:00
Adam c9bfbb1352 Ahhh 2016-04-03 13:04:19 -04:00
Adam c760c71c3f Make frame execute return instruction context. Had to change how wide works some. I dont know if its right. Also pop2 was totally messed up. 2016-04-03 13:03:45 -04:00
Adam e9ee78a48d Method context was actually important because its copied between frames 2016-04-03 12:40:01 -04:00
Adam 7eb1c0d32a Revert "Remove method context which is unnecessary now theres no more graph analysis"
This reverts commit 4e53b80079741083de724f1056380d095b679e9e.
2016-04-03 12:38:31 -04:00
Adam 0c027422b9 Import cleanup 2016-04-02 22:50:06 -04:00
Adam 5ca8e13c53 Remove method context which is unnecessary now theres no more graph analysis 2016-04-02 22:49:30 -04:00
Adam 6d212c958f Cleanup old commented code and remove unused fields from the debugging 2016-04-02 22:46:40 -04:00
Adam c816ee3c86 Remove unused method context instruction context list. I think the MethodContext class can be removed 2016-04-02 22:29:38 -04:00
Adam b77f0e3651 Update api version 2016-04-02 21:48:19 -04:00
Adam f5130c1a98 Add injector/mapper main classes/entrypoints. Maybe should make those tests use these? 2016-04-01 23:59:40 -04:00
Adam fb31ccecff Add basic game config grabber/logic to check for an update. I guess this works. 2016-04-01 23:23:02 -04:00
Adam 3161cfaa09 Update some paths in tests etc 2016-04-01 22:47:11 -04:00
Adam 41b3777b24 Remove deob.gson which isn't used 2016-04-01 22:40:55 -04:00
Adam ce9359a1fd Fix sipush length 2016-04-01 22:31:19 -04:00
Adam ed13e972cc Make idiv mappable 2016-03-31 21:27:18 -04:00
Adam b90316db06 Add gamepack 20, 3/31/2016 2016-03-31 12:50:56 -04:00
Adam d78a83c50b Injection works, I don't think I need to change this descriptor comparison since the client versions are the same 2016-03-31 12:50:38 -04:00
Adam a163bc4c46 Add class mapper and use it in annotation mapper, which seems to work more reliably 2016-03-30 19:43:47 -04:00
Adam b3efaec8e6 Try and fix some of the smaller multiplication problems. I dont know if this is right. Seems to break when multiplying long * a casted int like field3228 2016-03-29 20:53:43 -04:00
Adam a2352bdc19 Order guesses based on cardinality 2016-03-28 19:19:08 -04:00
Adam fbb41000b8 ArrayLoad also isnt part of expressions 2016-03-28 18:41:28 -04:00
Adam 51ae836cd8 Add gamepack 19 2016-03-27 21:08:25 -04:00
Adam 8d022d216b Map invokespecial on objects that are under java/io 2016-03-27 19:38:15 -04:00
Adam d58116b4ea Map java/lang/reflect/Field and Method 2016-03-27 19:16:25 -04:00
Adam afcb4a1c36 Fix annotation mapper to map annotations on methods. Also fix lookup by constant classname. Theres more fields that i thought that aren't mapped, 4 2016-03-27 18:43:41 -04:00
Adam d93317f662 Don't stop frames that can't step into static functions. It can happen if the same function steps into a static function multiple places which then steps into another static function at one place. Even though its been stepped into before it shouldn't stop execution of the top level function. 2016-03-27 18:17:40 -04:00
Adam 91289273fa Little cleanup 2016-03-27 18:11:45 -04:00
Adam 0462c4a1d1 Map both possibilities on ambiguous if statements anyway 2016-03-27 18:11:00 -04:00
Adam f36a365659 Make msm work like smsm because classes aren't guaranteed to line up 2016-03-27 13:54:17 -04:00
Adam b45ecd4996 Fix dup_x2 getOriginal 2016-03-27 13:52:57 -04:00
Adam 40725faa0a Map classes too when mapping fields/methods 2016-03-27 13:34:22 -04:00
Adam 37193b7a79 Fix refactor fail in modarith from earlier 2016-03-27 11:23:24 -04:00
Adam e3a6310572 Get rid of most hard type comparisons in mapper 2016-03-27 10:44:55 -04:00
Adam d7abcdf569 Remove ismappable which has never worked 2016-03-26 17:22:00 -04:00
Adam 41a1ffbae2 Reenable modarith 2016-03-26 17:09:36 -04:00
Adam 271fa6ba46 Insert getter/setters all at once 2016-03-26 16:46:20 -04:00
Adam 4485681a28 modarith test 2016-03-26 10:43:26 -04:00
Adam fd8af8732d Unused class test 2016-03-25 22:11:19 -04:00
Adam 35628b4497 Rewrite field inliner 2016-03-25 22:10:26 -04:00
Adam c22a9e43da Rewrite unused fields 2016-03-25 22:02:44 -04:00
Adam e8c047aabe Cleanup 2016-03-25 21:55:06 -04:00
Adam 3444655f09 Rewrite constant parameter. A bit faster now. Can't tell if its right. Seems to compile. 2016-03-25 21:52:23 -04:00
Adam 5ef0be50bf Make unused parameters use VirtualMethods. This removes more parameters than before, I dont know if it is right. 2016-03-25 15:04:28 -04:00
Adam 0ed6456c60 Move virtual method lookup its own class as many things use it 2016-03-25 14:21:27 -04:00
Adam bcbc87994a Unused params test, this is very slow. 2016-03-24 18:38:58 -04:00
Adam b16fbd712e Constant parameter test, kind of slow though, 46s. 2016-03-24 17:25:16 -04:00
Adam cbdf406434 Remove jump graph, isn't used except for some integrity checks, but it makes stuff overly complex. 2016-03-24 17:18:08 -04:00
Adam d4a74501b7 Just run once 2016-03-24 15:13:11 -04:00
Adam e73be15286 duh 2016-03-24 10:14:22 -04:00
Adam 2fdf2b47bc ise tests/cleanup. needs more optimizations. 2016-03-24 10:13:18 -04:00
Adam 3f91d272d6 Couple more simple tests 2016-03-24 10:12:37 -04:00
Adam e8a5eba8f4 Rename unique test 2016-03-21 11:17:06 -04:00
Adam 9830f4a339 Move asm specific stuff to net.runelite.asm 2016-03-21 10:11:36 -04:00
Adam 488c11abfa Use internal classnames when injecting interfaces 2016-03-20 17:30:59 -04:00
Adam 9b1f5720b0 Only re-generate pool info for get/put/invoke instructions if something changes, otherwise it uses the pool info of the resolved field which isn't always the same 2016-03-20 17:30:31 -04:00
Adam c79a344008 Make specific most things, so minimize jasmin diff so I can see the result of the injection easier.. 2016-03-20 17:29:45 -04:00
Adam a97e7c283e Realized I can also use mapping importer to check mappings. This finds some discrepancies with the update RL mappings, but on manual inspection the RL mappings seem wrong. 2016-03-19 23:31:40 -04:00
Adam 3cc6255596 Rebuild pool when writing instrutions to fix previous corruption with the newarray stuff. Run classes through ow2 asm to generate stack maps (and maxs for fun) since I don't want to generate my own stackmaps. 2016-03-19 12:45:56 -04:00
Adam 3d1ae24d73 Well this seems to work a little better. This is totally made up. 2016-03-18 23:09:34 -04:00
Adam 5a0c8ee21d arraystore: map values field 2016-03-18 20:41:52 -04:00
Adam 39e2c0420f Crap. 2016-03-18 20:08:39 -04:00
Adam 4ea2d8d632 Fix if field mapper to take static/class name into consideration 2016-03-18 16:12:04 -04:00
Adam a2fe796306 Add gamepack 18 2016-03-17 08:55:23 -04:00
Adam 4651c30abc Inject test now runs with all api methods found. 2016-03-12 13:37:40 -05:00
Adam 31dc462e55 Redirect supercalls in obfuscated overrides. 2016-03-11 22:30:48 -05:00
Adam 419e0da7c1 Don't delete constructors because it might containe stuff we actually want. Instead rename to init and invoke from constructors. Magic. 2016-03-11 20:59:48 -05:00
Adam 6e79aece20 Some injecting classes now works 2016-03-11 17:34:09 -05:00
Adam 2cbdec1798 Beginning work on inject replace 2016-03-11 14:31:31 -05:00
Adam 61f6191228 invoker injection. 2016-03-11 00:26:00 -05:00
Adam 06c6c5d3b0 constant parameter: annotate methods with constant parameters are @obfuscatedsignature so we can find them later in inject. Remove deobbed 16 jar as it doesnt have up to date annotations anymore. 2016-03-10 23:40:48 -05:00
Adam 39c14267e5 Oops. 2016-03-10 19:56:44 -05:00
Adam 575deaf992 Sort stuff isnt required for graph stuff anymore, it was causing order of classes to load to be different when comparing obfuscated jar vs rebuilt jar, which caused class children order to be different, which affects renamer searching for bases which broke the issame comparison in invokeinterface. 2016-03-10 19:35:55 -05:00
Adam d130a2fb4f Hack to make packet mapping stop at the end of the packet handler 2016-03-10 18:02:56 -05:00
Adam c616eba918 17 was the same as 16, add deobbed 16 jar 2016-03-06 21:24:55 -05:00
Adam 3dce3934c4 Try and pull packet info out of source. gamepack 16 and 17 are actually identical, I didn't realize. Interestingly i found if I attempt to map deobbed client that is rebuilt vs the deobbed client, it can't map everything. Some of that might have to do with the packet handling stuff, this currently npes in iinc so I can't tell how many is due to that yet. 2016-03-06 17:36:23 -05:00
Adam c6d3620ab7 Method injection works, need to @Import annotate stuff though probably. 2016-03-06 15:28:11 -05:00
Adam bb81dcf260 Import bugfixes. Need to @Import annotations etc since it can't pick up methods from the api atm 2016-03-05 23:34:47 -05:00
Adam 2675a402e4 Oh. 2016-03-04 15:38:26 -05:00
Adam 81c5c3831c Merge branch 'master+rename5' of bitbucket.org:Adam-/jbytecode into master+rename5 2016-03-04 15:37:23 -05:00
Adam f809d2a793 Begin inject 2016-03-04 15:37:12 -05:00
Adam 158a4219ae client 17 2016-03-03 20:31:10 -05:00
Adam a16a8a5a38 Begin moving code to do mapping to core. Write out annotation mapper. 2016-02-28 19:39:16 -05:00
Adam 7b46ae596f Once again produces code that compiles 2016-02-28 11:44:24 -05:00
Adam a97ee8881c This was hard to find. Seems to work better? Old code here was finding wildly irrelevant funcs. Just use the renamer code. 2016-02-27 23:04:44 -05:00
Adam 63272b915b Trying to get deob running again. Somethings broken. 2016-02-27 16:32:22 -05:00
Adam 6eeeaf0716 I don't know if this is right. Seeing some dead code still left in which is concerning. 2016-02-27 16:10:13 -05:00
Adam fc82bb8a21 Generated garbage code will make negative sized arrays 2016-02-27 14:53:02 -05:00
Adam 1d2a7ba82c Add RL mappings for the old jars 2016-02-27 13:43:04 -05:00
Adam 92b053548a Fix handling invokevirtual on static methods 2016-02-27 13:37:41 -05:00
Adam fb4ee1ac9b Store return stack pop with stack context instead of what I was trying to do before 2016-02-27 12:58:44 -05:00
Adam 5fea3a9c31 Map multiple field comparison ifs, this maps all of my test rl fields 2016-02-27 12:33:13 -05:00
Adam 19f2807c86 Mapping packet handlers works some. Tried to add inlining of results of static methods. Doesnt work well because it inf loops so its disabled usually. I think instead I can track this separately on the stack context and fix resolve() to deal with it. 2016-02-27 11:38:44 -05:00
Adam 83f338a2e9 Dont know if this is right, but the pkt handlers at least can be picked up now. 2016-02-14 18:33:51 -05:00
Adam 3294e1add0 This took awhile to find. 2016-02-14 15:21:05 -05:00
Adam d9fc79bba5 Test to see how many of the RL fields are mapped. Most but not all. 2016-02-14 00:10:00 -05:00
Adam 4d81829128 Beginning of rename deob 2016-02-13 23:38:58 -05:00
Adam 8f6efa7717 Remove old graph stuff, all tests pass 2016-02-13 22:51:11 -05:00