Commit Graph

  • d43dc04519 something is wrong somewhere but I don't see anything Adam 2015-09-27 21:26:05 -04:00
  • 812975d7dc I don't know if this is right but can decompile 2201 okay Adam 2015-09-27 17:32:32 -04:00
  • 9efef8aa59 Make specific/generic to try and allow changing constants without having to change instructions Adam 2015-09-26 23:59:05 -04:00
  • 9a5d2c801f Rewrite multi deob, this looks rather nice Adam 2015-09-26 19:31:07 -04:00
  • 5cc12d0228 More multi fixes. Spinning is back with multiplication deobfuscator.. Adam 2015-09-25 14:17:15 -04:00
  • 5be7604ee9 IT GETS ME EVERY TIME Adam 2015-09-25 12:40:47 -04:00
  • ae8544cea1 beginning work on removing *1 Adam 2015-09-25 11:23:20 -04:00
  • f7edf29ebc mul simplifying for simple expressions Adam 2015-09-24 17:37:55 -04:00
  • 1b063d9e12 save Adam 2015-09-20 14:29:11 -04:00
  • 762c6ba543 ahhhhhhhhhhhhhhhhhhhhhh Adam 2015-09-20 13:41:15 -04:00
  • ec86f0bee6 Basic multi arith, need to rewrite Adam 2015-09-20 13:40:59 -04:00
  • 4d21fe7daf XXX confused. trying something new, by inserting * setter and * getter before/after put/set field Adam 2015-09-19 18:58:00 -04:00
  • 200a82bc83 this inf loops and keeps changing the same last few fields back and forth etc.? Adam 2015-09-13 19:41:10 -04:00
  • 95b87c005c handle setConstant changing ins Adam 2015-09-13 19:40:40 -04:00
  • 0b1d2be4a1 still change if *1 Adam 2015-09-13 19:40:08 -04:00
  • 98e3b7ec9e setConstant Adam 2015-09-13 19:38:36 -04:00
  • 309595a09b instructions replace Adam 2015-09-13 19:37:44 -04:00
  • a826ac3c47 some guessing, fix dup stuff via magic Adam 2015-09-12 22:15:37 -04:00
  • c463687202 dupinstruction, and enc Adam 2015-09-12 13:59:31 -04:00
  • 53234351f9 the value is still decrypted if it is 1 or 0 since x*1=x and x*0=0 so this was wrong Adam 2015-09-12 13:53:13 -04:00
  • 5116d09fa0 begin work on guessing Adam 2015-09-11 20:47:41 -04:00
  • c5af568867 rename unique run Adam 2015-09-10 21:11:36 -04:00
  • c8d1ec9e25 After imul runs the value is no longer encrypted Adam 2015-09-10 14:17:47 -04:00
  • 2cfba32e28 class172.java: this.field2982 = ((1 * this.field2963 & -65536) + this.field2982 * 1) * -402105799; not working. Adam 2015-09-09 21:24:37 -04:00
  • 9404e1d9af Carry encryption over in iadd and dup x1, this needs to be handled a better way. Adam 2015-09-08 20:45:57 -04:00
  • 7e9233a5d5 Fix putfield pop order, runs on all fields it detects now. Don't know if it works. Adam 2015-09-08 15:46:29 -04:00
  • 7b440adc0c Fix putfield object/value order Adam 2015-09-08 13:33:46 -04:00
  • 2ea00d654f 32 vars! Adam 2015-09-07 17:07:02 -04:00
  • f46e4dfdce translating one field works Adam 2015-09-06 23:39:47 -04:00
  • 88bd6490de Work. Adam 2015-09-05 23:19:38 -04:00
  • 9c16bc7ede Fix methodinliner to move jumps to the function being inlined to the right place Adam 2015-09-05 19:10:57 -04:00
  • fae040a98f Fix methodinliner to move jumps to the function being inlined to the right place Adam 2015-09-05 19:10:57 -04:00
  • 227606a065 hm Adam 2015-08-26 19:10:56 -04:00
  • 1fd79174ea Some detecting getters, not totally right. Cap at 5. Adam 2015-08-24 18:27:13 -04:00
  • 4143a59d9d cleanup Adam 2015-08-23 20:29:23 -04:00
  • 5561478ec8 Also direct assignment Adam 2015-08-23 18:35:45 -04:00
  • 7ac2b0e977 Working on doing arith deob during exec Adam 2015-08-23 18:22:51 -04:00
  • 32cbb0f805 Merge branch 'master' into master+arith Adam 2015-08-23 12:55:31 -04:00
  • 9878fb59b3 Remove beginning of original instruction graph, don't need it Adam 2015-08-23 12:49:21 -04:00
  • 0a8d233083 arith v2 Adam 2015-08-23 12:40:12 -04:00
  • 4d4dd9715e Allow inlining methods with exceptions Adam 2015-08-22 22:53:03 -04:00
  • 0bfc3e3c38 Blah whitespace Adam 2015-08-22 17:56:08 -04:00
  • e478a4b1f9 Store stack context with variable context, and pass up stack contexts when invoking methods. I don't think iirc is right? Adam 2015-08-22 17:54:39 -04:00
  • 8ff2f4776a Only onsider non static methods in fieldmover, note why fieldmover is broken Adam 2015-08-22 14:58:21 -04:00
  • 8e487a3567 Merge branch 'master' into master+fieldmove Adam 2015-08-22 12:19:22 -04:00
  • 1853bb1be1 Field moving works Adam 2015-08-22 12:18:24 -04:00
  • 35d8a98365 hm this assert fails Adam 2015-08-19 21:23:00 -04:00
  • 7fb5f3e721 work on moving static initializers Adam 2015-08-17 20:18:34 -04:00
  • 88fc561188 Fix rename unique fields Adam 2015-08-17 17:01:03 -04:00
  • 5839452b3b requires some work to move static field initializers Adam 2015-08-16 21:15:51 -04:00
  • 5059f8cc75 Fix not removing ctors, unused class deob. Can't yet move static fields to client until I can move clinit Adam 2015-08-16 19:08:22 -04:00
  • 4f11ca9f36 Rename info.sigterm -> net.runelite Adam 2015-08-16 15:17:58 -04:00
  • 1c8f2dbc27 Inline static constant string fields Adam 2015-08-15 17:05:54 -04:00
  • 8a7e1d1f97 Field mover Adam 2015-08-15 14:54:48 -04:00
  • fc3c0a258f Finish methodmover Adam 2015-08-15 12:49:00 -04:00
  • f91f6f5918 Small fixes Adam 2015-08-15 00:03:00 -04:00
  • 09c4b108dd Fix inliner Adam 2015-08-14 15:01:11 -04:00
  • f3bdcf954e Bail out if const param detects a lvt store Adam 2015-08-14 14:00:27 -04:00
  • 2eeda597dc Compare more than just the pops, but the entire stack, and compare the instructions not the contexts Adam 2015-08-13 18:22:53 -04:00
  • 9b4230154c Use instruction ctx to see if a jump has already happened. Not sure if it works but it runs. Adam 2015-08-12 18:01:12 -04:00
  • f8fe552287 invokespecial shouldn't find deep for the method being invoked Adam 2015-08-09 20:50:06 -04:00
  • 399e5d8f8a cleanup athrow Adam 2015-08-09 17:22:53 -04:00
  • 0e626afd0a jump to exception handlers more reliably. fix finaliers Adam 2015-08-09 17:22:00 -04:00
  • 1090dfee7e fix lt comparison Adam 2015-08-09 13:06:42 -04:00
  • b9410f76a5 remove unused blocks Adam 2015-08-09 12:11:17 -04:00
  • ba1ff95628 Trying to make this work live, constant param deob is breaking stuff Adam 2015-08-09 12:10:58 -04:00
  • 7c336948fc Rebuild jump graph in inliner Adam 2015-08-08 21:51:15 -04:00
  • da0b7403b4 Try and replace unused blocks with unreached code, seeing some problems somewhere Adam 2015-08-08 20:45:16 -04:00
  • 12318efcaf untested, inline functions with args/return values Adam 2015-08-08 14:27:02 -04:00
  • 2e7e2d31d4 Inline static void methods with no arguments Adam 2015-08-08 11:06:41 -04:00
  • d09eb21a0d Some initial work on inlining Adam 2015-08-08 00:37:12 -04:00
  • 42e4223e83 make illegal state exception less strict Adam 2015-08-07 20:46:47 -04:00
  • 95368f61a8 Fix constant parameter corrupting instructions. Make unused blocks faster. Adam 2015-08-06 18:59:23 -04:00
  • ba4f23ffbd per method,lvt deadops, but this appears to produce broken code? Adam 2015-08-05 17:03:49 -04:00
  • 9c3b0b4754 Fix identifying vmethods incorrectly if two classes can be reached in the classgraph with two methods that have the same name and signature but are otherwise unrelated Adam 2015-08-04 20:40:20 -04:00
  • b4a316b811 cleanup Adam 2015-08-03 16:47:10 -04:00
  • 57b9a45871 appears to work Adam 2015-08-02 21:46:24 -04:00
  • 1ac0cef696 these const push instructions are also push instructions. need to fix jumps to the logically dead conditionals. Adam 2015-08-02 11:50:20 -04:00
  • 516fa7805f I dont know if this works or is correct but it runs? Adam 2015-08-01 21:35:02 -04:00
  • 7ce6cca104 this doesn't work at all but looks bette Adam 2015-07-31 23:48:35 -04:00
  • 7b4de7d8db I dont like this Adam 2015-07-31 12:47:40 -04:00
  • a7902d53e9 idr Adam 2015-07-30 20:45:28 -04:00
  • 5478fc7385 Start of constant parameter stuff Adam 2015-07-30 16:39:48 -04:00
  • f27e410f5b Fix rename unique, renaming fields depends on classgraph for searching deep for fields Adam 2015-07-28 16:48:03 -04:00
  • 369a93be7b Rename unique first Adam 2015-07-27 20:12:56 -04:00
  • fda37792ff Seeing something weird with invokestatic methods on non static methods? Adam 2015-07-26 21:36:19 -04:00
  • 35fcfc0645 Don't remove params on not ob'd methods, or ctors Adam 2015-07-26 19:01:43 -04:00
  • 30e29a52ab rename unique works Adam 2015-07-26 14:15:52 -04:00
  • 76cd96b7d8 Check for unused constructors too Adam 2015-07-13 16:20:34 -04:00
  • ba5ecc5c6c Fix multianewarray class renaming Adam 2015-07-13 08:49:49 -04:00
  • b7d4d4981f Debugging stuff. Adam 2015-07-12 21:43:40 -04:00
  • ec50303962 Fix up jump inlining, this causes linear scans of the instructions for a lot of exceptions and is slow. Need to allow inlining in try blocks? Adam 2015-07-12 00:15:45 -04:00
  • 3fbb69e102 Fixes to unique rename, just use getMethods() instead of comparing names Adam 2015-07-11 13:34:32 -04:00
  • e263694eac Rest of rename unique. Untested but asm looks ok. Adam 2015-07-11 11:33:40 -04:00
  • b03a0e3181 Rename unique non overriden methods Adam 2015-07-10 22:00:12 -04:00
  • 26458e7280 Add common deobfuscator interface Adam 2015-07-10 12:37:45 -04:00
  • df11cdaded Rename unique fields Adam 2015-07-10 11:29:46 -04:00
  • 5781f08152 Beginning work of rename unique, now renames classes Adam 2015-07-09 20:56:44 -04:00
  • c92387e089 Remove pool entry pool reference Adam 2015-07-07 12:49:37 -04:00
  • be127c55cb cleanup Adam 2015-07-05 21:09:13 -04:00