Commit Graph

134 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
5a0c8ee21d arraystore: map values field 2016-03-18 20:41:52 -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
6e79aece20 Some injecting classes now works 2016-03-11 17:34:09 -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
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
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
1d2a7ba82c Add RL mappings for the old jars 2016-02-27 13:43:04 -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
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
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
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
bf03c60731 Map fields from ifs 2016-02-12 14:56:32 -05:00
Adam
cdc949abe0 pop stack more, I dont know if this is right, but maps a couple more fields 2016-02-12 13:30:01 -05:00
Adam
d4b148f72a Including mapper map stuff in 2016-02-12 12:03:49 -05:00
Adam
4021e3d02f Interesting work using pme to detect method equality 2016-02-11 22:54:18 -05:00
Adam
2bfbe1f239 This can map some but not nearly enough. Main problem seems to be the order of the packet handlers is scrambled, as well as their ids.
Maybe try detecting/treating the packet handlers as separate "functions" and compare them by seeing if PME can run over both?
Maybe try hardening PME mapper to fail more easily (eg setfield of field of two different types, or invoke with wrong signatures?), and then try and brute force methods in general.
Can also map methods with unique signatures that are non static method<->method.
client clinit?
2016-02-09 19:45:39 -05:00
Adam
c4bf4f65df Actually I think I can just stop the frame if it crashes. This runs forever for some reason. 2016-02-07 14:27:19 -05:00
Adam
6906c81455 Mapping of static methods when stepping out in pme 2016-02-07 11:32:18 -05:00
Adam
74100b152d Track array stores too, seems to run? 2016-02-06 13:28:41 -05:00
Adam
2854abfb08 init field order fix 2016-02-05 20:22:13 -05:00
Adam
e2afbd3b98 Working on all tests again, hitting more ifconds not lining up 2016-02-05 15:54:33 -05:00
Adam
9d3ba7e1cf XXX WIP TOTALLYWRONG. pmes are stopping prematurely because returnTo is not being kept across frame dups. if I enable it, i get assert fails on frame.other.
This also always steps into invokestatics, for when two are invoked but not really the same function.
2016-01-31 20:49:54 -05:00
Adam
cbe45eddfe Keep real type of stack contexts, which I think I need later. Exec test passes, not sure of other implications of this. 2016-01-30 15:56:36 -05:00
Adam
d24411e63f Make test files configurable 2016-01-30 11:14:02 -05:00
Adam
f50c6523c0 hm 2016-01-29 21:24:07 -05:00
Adam
39ac3f1d68 ifnull 2016-01-29 20:38:24 -05:00
Adam
def680fb9c iflt 2016-01-29 20:31:22 -05:00
Adam
fac66bfe52 Test all deep 2016-01-25 16:32:33 -05:00
Adam
91ff039691 I dont know if this is right but test all passes again 2016-01-25 16:27:53 -05:00
Adam
b816944029 hm this is horrible 2016-01-25 14:43:55 -05:00
Adam
951a6699c8 711 vs 742 but not the same 2016-01-25 13:44:08 -05:00
Adam
a0a2054187 ifacmpeq vs ifacmpne, fix ordering methods on initial mappings 2016-01-25 12:00:12 -05:00
Adam
1bbb2f2250 ifle <-> ifgt, work on all mapping test 2016-01-25 11:41:44 -05:00
Adam
a56e2b2783 Experimenting with using parallel executor for all mapping 2016-01-24 13:22:10 -05:00
Adam
d328551750 Trying to see if I can run pme on client init. Failing between unequal number of java string invokes 2016-01-17 20:29:23 -05:00
Adam
c632beac50 another test 2016-01-17 17:00:43 -05:00