This website requires JavaScript.
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