Commit Graph

  • 419e0da7c1 Don't delete constructors because it might containe stuff we actually want. Instead rename to init and invoke from constructors. Magic. Adam 2016-03-11 20:59:48 -05:00
  • 6e79aece20 Some injecting classes now works Adam 2016-03-11 17:34:09 -05:00
  • 2cbdec1798 Beginning work on inject replace Adam 2016-03-11 14:31:31 -05:00
  • fc452f2008 Replace/ObfuscatedOverride Adam 2016-03-11 14:29:15 -05:00
  • 61f6191228 invoker injection. Adam 2016-03-11 00:26:00 -05:00
  • 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. Adam 2016-03-10 23:40:48 -05:00
  • d888d94fe3 ObfuscatedSignature, still on 16/17 Adam 2016-03-10 23:29:42 -05:00
  • f64fd20d58 Also constructor Adam 2016-03-10 23:26:43 -05:00
  • 87b0a36fbb Obfuscated Signature Adam 2016-03-10 23:24:04 -05:00
  • 39c14267e5 Oops. Adam 2016-03-10 19:56:44 -05:00
  • 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. Adam 2016-03-10 19:35:55 -05:00
  • d130a2fb4f Hack to make packet mapping stop at the end of the packet handler Adam 2016-03-10 18:02:56 -05:00
  • c616eba918 17 was the same as 16, add deobbed 16 jar Adam 2016-03-06 21:24:55 -05:00
  • 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. Adam 2016-03-06 17:36:23 -05:00
  • ec6fb4bc11 Might be easier to not put this under my package since my tools dont expect it there Adam 2016-03-06 17:10:29 -05:00
  • d73a52b9fb Also export packet handler, needed for packet mappings Adam 2016-03-06 16:52:06 -05:00
  • 13160a1ae5 package, netscape resources. builds. Adam 2016-03-06 15:53:22 -05:00
  • f4f8649b00 gamepack 16 3/5/16 Adam 2016-03-06 15:42:40 -05:00
  • c6d3620ab7 Method injection works, need to @Import annotate stuff though probably. Adam 2016-03-06 15:28:11 -05:00
  • bb81dcf260 Import bugfixes. Need to @Import annotations etc since it can't pick up methods from the api atm Adam 2016-03-05 23:34:47 -05:00
  • 2675a402e4 Oh. Adam 2016-03-04 15:38:26 -05:00
  • 81c5c3831c Merge branch 'master+rename5' of bitbucket.org:Adam-/jbytecode into master+rename5 Adam 2016-03-04 15:37:23 -05:00
  • f809d2a793 Begin inject Adam 2016-03-04 15:37:12 -05:00
  • 158a4219ae client 17 Adam 2016-03-03 20:31:10 -05:00
  • a16a8a5a38 Begin moving code to do mapping to core. Write out annotation mapper. Adam 2016-02-28 19:39:16 -05:00
  • 7b46ae596f Once again produces code that compiles Adam 2016-02-28 11:44:24 -05:00
  • a97ee8881c This was hard to find. Seems to work better? Old code here was finding wildly irrelevant funcs. Just use the renamer code. Adam 2016-02-27 23:04:44 -05:00
  • 63272b915b Trying to get deob running again. Somethings broken. Adam 2016-02-27 16:32:22 -05:00
  • 6eeeaf0716 I don't know if this is right. Seeing some dead code still left in which is concerning. Adam 2016-02-27 16:10:13 -05:00
  • fc82bb8a21 Generated garbage code will make negative sized arrays Adam 2016-02-27 14:53:02 -05:00
  • 1d2a7ba82c Add RL mappings for the old jars Adam 2016-02-27 13:43:04 -05:00
  • 92b053548a Fix handling invokevirtual on static methods Adam 2016-02-27 13:37:41 -05:00
  • fb4ee1ac9b Store return stack pop with stack context instead of what I was trying to do before Adam 2016-02-27 12:58:44 -05:00
  • 5fea3a9c31 Map multiple field comparison ifs, this maps all of my test rl fields Adam 2016-02-27 12:33:13 -05:00
  • 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. Adam 2016-02-27 11:38:44 -05:00
  • 83f338a2e9 Dont know if this is right, but the pkt handlers at least can be picked up now. Adam 2016-02-14 18:33:51 -05:00
  • 3294e1add0 This took awhile to find. Adam 2016-02-14 15:21:05 -05:00
  • d9fc79bba5 Test to see how many of the RL fields are mapped. Most but not all. Adam 2016-02-14 00:10:00 -05:00
  • 4d81829128 Beginning of rename deob Adam 2016-02-13 23:38:58 -05:00
  • 8f6efa7717 Remove old graph stuff, all tests pass Adam 2016-02-13 22:51:11 -05:00
  • c1bd2d199e Fix tests Adam 2016-02-13 22:28:40 -05:00
  • 770e1f6b2f resolve multidimensional arrays Adam 2016-02-13 20:54:44 -05:00
  • d833b53646 map value of putfields Adam 2016-02-13 19:00:18 -05:00
  • 71e0a6d996 Require frames to be crashed too to not map, adds +100 Adam 2016-02-13 18:48:43 -05:00
  • bcc74c6256 Map field of invoked object too Adam 2016-02-13 18:02:20 -05:00
  • 66e9960596 this wont work because exception handlers arent run so it wont see all returns Adam 2016-02-13 17:07:01 -05:00
  • 8efd637a87 Attempt to map non static methods using PME too Adam 2016-02-12 15:34:52 -05:00
  • 466da0bcb3 Map invoke arguments Adam 2016-02-12 15:11:15 -05:00
  • 1272d7b263 Compare method signatures when comparing invokes Adam 2016-02-12 15:00:41 -05:00
  • bf03c60731 Map fields from ifs Adam 2016-02-12 14:56:32 -05:00
  • cdc949abe0 pop stack more, I dont know if this is right, but maps a couple more fields Adam 2016-02-12 13:30:01 -05:00
  • d4b148f72a Including mapper map stuff in Adam 2016-02-12 12:03:49 -05:00
  • 4021e3d02f Interesting work using pme to detect method equality Adam 2016-02-11 22:54:18 -05:00
  • 602afc964c Make isSame sanity check more in set/put field and invokes Adam 2016-02-10 20:33:45 -05:00
  • 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? Adam 2016-02-09 19:45:39 -05:00
  • 0662e74369 I dont know why this runs forever. Adam 2016-02-07 21:03:20 -05:00
  • c4bf4f65df Actually I think I can just stop the frame if it crashes. This runs forever for some reason. Adam 2016-02-07 14:27:19 -05:00
  • 6906c81455 Mapping of static methods when stepping out in pme Adam 2016-02-07 11:32:18 -05:00
  • 9b2bda10cb This file was important Adam 2016-02-06 16:10:15 -05:00
  • 74100b152d Track array stores too, seems to run? Adam 2016-02-06 13:28:41 -05:00
  • 2854abfb08 init field order fix Adam 2016-02-05 20:22:13 -05:00
  • e9103882b4 Also ignore javax. Now on init order ob. Adam 2016-02-05 18:39:54 -05:00
  • dd0a96436e ifnonnull vs ifnull Adam 2016-02-05 16:00:51 -05:00
  • e2afbd3b98 Working on all tests again, hitting more ifconds not lining up Adam 2016-02-05 15:54:33 -05:00
  • 54b83ebda5 Forget trying to keep a 1<->1 of the frames Adam 2016-02-05 14:57:38 -05:00
  • ac9282da76 I think i see why. Adam 2016-02-03 21:25:58 -05:00
  • 4aa8b23dfd well this gets further Adam 2016-02-01 20:14:57 -05:00
  • 949ce54fb9 I think i see why. Adam 2016-02-01 16:59:41 -05:00
  • 3faa876ff7 this is all wrong Adam 2016-01-31 22:18:57 -05:00
  • 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. Adam 2016-01-31 20:49:54 -05:00
  • 8e73f37eba boolean ifeq vs ificmpne. I want to unwrap these smaller ifs into larger ones to simplify code. Adam 2016-01-30 16:29:22 -05:00
  • cbe45eddfe Keep real type of stack contexts, which I think I need later. Exec test passes, not sure of other implications of this. Adam 2016-01-30 15:56:36 -05:00
  • 2a3b9158ea ifcmpge vs ifcmplt Adam 2016-01-30 14:06:23 -05:00
  • 2b4c47fb25 ifacmpeq vs ifnonnull, ifeq vs ificmpne Adam 2016-01-30 13:56:58 -05:00
  • 234e42a319 Fix previous commit Adam 2016-01-30 13:52:35 -05:00
  • f96f9b6c02 ificmpne to ificmpeq Adam 2016-01-30 11:31:52 -05:00
  • d24411e63f Make test files configurable Adam 2016-01-30 11:14:02 -05:00
  • c8d29e3be4 Should be looking up all methods in invokevirtual, not just based off of the pool method and up. With test=true this fails on the constructor inlined constant value obfuscation. Adam 2016-01-29 21:52:39 -05:00
  • f50c6523c0 hm Adam 2016-01-29 21:24:07 -05:00
  • 39ac3f1d68 ifnull Adam 2016-01-29 20:38:24 -05:00
  • def680fb9c iflt Adam 2016-01-29 20:31:22 -05:00
  • fac66bfe52 Test all deep Adam 2016-01-25 16:32:33 -05:00
  • 91ff039691 I dont know if this is right but test all passes again Adam 2016-01-25 16:27:53 -05:00
  • 6da0b66b2f Merge branch 'master+rename5' into HEAD Adam 2016-01-25 16:22:03 -05:00
  • e5e101214c ahhhhhhhhhhhhhhhhhhh Adam 2016-01-25 16:13:21 -05:00
  • b816944029 hm this is horrible Adam 2016-01-25 14:43:55 -05:00
  • 951a6699c8 711 vs 742 but not the same Adam 2016-01-25 13:44:08 -05:00
  • a0a2054187 ifacmpeq vs ifacmpne, fix ordering methods on initial mappings Adam 2016-01-25 12:00:12 -05:00
  • 1bbb2f2250 ifle <-> ifgt, work on all mapping test Adam 2016-01-25 11:41:44 -05:00
  • a56e2b2783 Experimenting with using parallel executor for all mapping Adam 2016-01-24 13:22:10 -05:00
  • d328551750 Trying to see if I can run pme on client init. Failing between unequal number of java string invokes Adam 2016-01-17 20:29:23 -05:00
  • c632beac50 another test Adam 2016-01-17 17:00:43 -05:00
  • a82a9ba4b9 I guess when I rebuilt the test jar the order of the classes changed, 1->100 not 1->2, which made the class inheritance order inconsistent Adam 2016-01-17 11:32:14 -05:00
  • 67d8bfed47 I don't know why this is failing Adam 2016-01-14 21:02:07 -05:00
  • 90d5f5ead0 Add to test Adam 2016-01-13 18:16:39 -05:00
  • 35ca054da8 mappable test seems to not work well, I think because of static methods Adam 2016-01-13 18:02:36 -05:00
  • 3b4ea9ce0d More tests Adam 2016-01-13 14:58:15 -05:00
  • 28abf2f343 mapOtherBranch stuff, seems to run Adam 2016-01-13 12:34:05 -05:00
  • 99c51051fe Began thinking about this branch thing Adam 2016-01-13 10:31:33 -05:00
  • 47b30983cb Add to test Adam 2016-01-11 12:23:03 -05:00