Commit Graph

453 Commits

Author SHA1 Message Date
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
Adam
c1bd2d199e Fix tests 2016-02-13 22:28:40 -05:00
Adam
770e1f6b2f resolve multidimensional arrays 2016-02-13 20:54:44 -05:00
Adam
d833b53646 map value of putfields 2016-02-13 19:00:18 -05:00
Adam
71e0a6d996 Require frames to be crashed too to not map, adds +100 2016-02-13 18:48:43 -05:00
Adam
bcc74c6256 Map field of invoked object too 2016-02-13 18:02:20 -05:00
Adam
66e9960596 this wont work because exception handlers arent run so it wont see all returns 2016-02-13 17:07:01 -05:00
Adam
8efd637a87 Attempt to map non static methods using PME too 2016-02-12 15:34:52 -05:00
Adam
466da0bcb3 Map invoke arguments 2016-02-12 15:11:15 -05:00
Adam
1272d7b263 Compare method signatures when comparing invokes 2016-02-12 15:00:41 -05:00