Adam
|
649bec406d
|
File loading. No clue if this is right.
|
2015-10-14 14:09:31 -04:00 |
|
Adam
|
df2db1c84c
|
Put Indexes in store, and indexfile in index
|
2015-10-14 10:02:09 -04:00 |
|
Adam
|
634d5ec325
|
Untested save archive
|
2015-10-13 21:47:38 -04:00 |
|
Adam
|
e2f90f2c95
|
Rest of index loading? untested
|
2015-10-13 21:21:53 -04:00 |
|
Adam
|
92faf3fa48
|
Backup save of archive loading
|
2015-10-13 17:04:18 -04:00 |
|
Adam
|
a557663044
|
datafile id should have been a parameter
|
2015-10-13 10:04:57 -04:00 |
|
Adam
|
2e118bb391
|
Init of store loading, what is datafile id
|
2015-10-13 09:59:37 -04:00 |
|
Adam
|
4f1f75c88f
|
Cleanup/bugfixes
|
2015-10-13 09:50:50 -04:00 |
|
Adam
|
142e432403
|
Use TemporaryFolder for tests
|
2015-10-13 09:37:23 -04:00 |
|
Adam
|
ec9f22fa33
|
Closeable
|
2015-10-12 21:20:46 -04:00 |
|
Adam
|
50a30553b9
|
Add basic store object
|
2015-10-12 21:16:03 -04:00 |
|
Adam
|
57a55d43e1
|
Add basic index file reader/writer and basic test
|
2015-10-12 21:08:46 -04:00 |
|
Adam
|
ee265a6342
|
A little cleanup
|
2015-10-12 20:46:01 -04:00 |
|
Adam
|
07af5cef90
|
Begin work on DataFile
|
2015-10-12 20:34:53 -04:00 |
|
Adam
|
c9a0c7bc55
|
Comment out failing test I will address later
|
2015-10-12 17:42:13 -04:00 |
|
Adam
|
5b48ccef29
|
Merge branch 'master+arith'
Conflicts:
src/main/java/net/runelite/deob/deobfuscators/MethodInliner.java
|
2015-10-12 17:41:06 -04:00 |
|
Adam
|
99985d7d6f
|
class172/field2976 passed to invoke is not simplified
|
2015-10-11 19:38:36 -04:00 |
|
Adam
|
a0cb4c96d6
|
loop multi stuff
|
2015-10-10 22:05:36 -04:00 |
|
Adam
|
76206edeff
|
More guessing stuff. Need an isobfuscated() func.
|
2015-10-10 22:05:25 -04:00 |
|
Adam
|
734f15fa4a
|
More tests/fixes I dont know if this is right
|
2015-10-10 21:15:07 -04:00 |
|
Adam
|
27f2edbea6
|
Limited support for getting around iload/istore, Add test too. Seems to work?
|
2015-10-10 16:21:22 -04:00 |
|
Adam
|
db089ab628
|
Small fixups i guess
|
2015-10-10 15:21:45 -04:00 |
|
Adam
|
bd427975ae
|
Cleanup some of the old encr stuff
|
2015-10-10 10:35:20 -04:00 |
|
Adam
|
fd973a0a95
|
Check per pop if its multiple places or not
|
2015-10-09 14:14:14 -04:00 |
|
Adam
|
0bc49e1ec6
|
Fix fieldmover build? Not sure if this is correct. This mul test doesn't cover what I was trying to fix, field721 = (-1 != var5 && 1 != var5?(class139.field2363 * 1381104939 + 1 * field721 * 1) / 2:1381104939 * class139.field2363) * 1807370871 * 981643079;
|
2015-10-08 21:00:45 -04:00 |
|
Adam
|
9b4f4242eb
|
hey this passes the test but doesnt compile. allow tracking more than one pops for stackctx.
|
2015-10-08 17:30:00 -04:00 |
|
Adam
|
f4c004b7ad
|
Add more to test, this fails
|
2015-10-07 17:20:02 -04:00 |
|
Adam
|
86bddfed9b
|
This fixes the test, although there are simply multiplication expressions not being simplified now in the same expr
|
2015-10-07 15:23:54 -04:00 |
|
Adam
|
26b54f6278
|
save
|
2015-10-04 20:15:25 -04:00 |
|
Adam
|
9ca8151162
|
Isolate a test I believe is wrong
|
2015-10-03 23:31:00 -04:00 |
|
Adam
|
f6f487ad6d
|
Another dup1 test
|
2015-10-03 12:48:51 -04:00 |
|
Adam
|
fb10ab8daa
|
dupx1 test
|
2015-10-03 11:42:04 -04:00 |
|
Adam
|
ec034ce50d
|
Add junit as a test dependency
|
2015-10-03 00:37:59 -04:00 |
|
Adam
|
6f6fd51509
|
Split datastream loading from classfile to prepare for tests
|
2015-10-03 00:36:30 -04:00 |
|
Adam
|
1608d84b39
|
I need a better solution than having to edit the jumpgraph all the time
|
2015-10-02 22:50:32 -04:00 |
|
Adam
|
3e6213ea52
|
ise fixes, grr
|
2015-10-02 17:14:14 -04:00 |
|
Adam
|
164b5fd5af
|
ahhhhhhhhhhhhhhh
|
2015-10-01 17:02:25 -04:00 |
|
Adam
|
d61d006b34
|
Fix some of the dup stuff, works a little better?
|
2015-09-30 20:39:35 -04:00 |
|
Adam
|
d43dc04519
|
something is wrong somewhere but I don't see anything
|
2015-09-27 21:26:05 -04:00 |
|
Adam
|
812975d7dc
|
I don't know if this is right but can decompile 2201 okay
|
2015-09-27 17:32:32 -04:00 |
|
Adam
|
9efef8aa59
|
Make specific/generic to try and allow changing constants without having to change instructions
|
2015-09-26 23:59:05 -04:00 |
|
Adam
|
9a5d2c801f
|
Rewrite multi deob, this looks rather nice
|
2015-09-26 19:31:07 -04:00 |
|
Adam
|
5cc12d0228
|
More multi fixes. Spinning is back with multiplication deobfuscator..
|
2015-09-25 14:17:15 -04:00 |
|
Adam
|
5be7604ee9
|
IT GETS ME EVERY TIME
|
2015-09-25 12:40:47 -04:00 |
|
Adam
|
ae8544cea1
|
beginning work on removing *1
|
2015-09-25 11:23:20 -04:00 |
|
Adam
|
f7edf29ebc
|
mul simplifying for simple expressions
|
2015-09-24 17:37:55 -04:00 |
|
Adam
|
1b063d9e12
|
save
|
2015-09-20 14:29:11 -04:00 |
|
Adam
|
762c6ba543
|
ahhhhhhhhhhhhhhhhhhhhhh
|
2015-09-20 13:41:15 -04:00 |
|
Adam
|
ec86f0bee6
|
Basic multi arith, need to rewrite
|
2015-09-20 13:40:59 -04:00 |
|
Adam
|
4d21fe7daf
|
XXX confused. trying something new, by inserting * setter and * getter before/after put/set field
|
2015-09-19 18:58:00 -04:00 |
|
Adam
|
200a82bc83
|
this inf loops and keeps changing the same last few fields back and forth etc.?
|
2015-09-13 19:41:10 -04:00 |
|
Adam
|
95b87c005c
|
handle setConstant changing ins
|
2015-09-13 19:40:40 -04:00 |
|
Adam
|
0b1d2be4a1
|
still change if *1
|
2015-09-13 19:40:08 -04:00 |
|
Adam
|
98e3b7ec9e
|
setConstant
|
2015-09-13 19:38:36 -04:00 |
|
Adam
|
309595a09b
|
instructions replace
|
2015-09-13 19:37:44 -04:00 |
|
Adam
|
a826ac3c47
|
some guessing, fix dup stuff via magic
|
2015-09-12 22:15:37 -04:00 |
|
Adam
|
c463687202
|
dupinstruction, and enc
|
2015-09-12 13:59:31 -04:00 |
|
Adam
|
53234351f9
|
the value is still decrypted if it is 1 or 0 since x*1=x and x*0=0 so this was wrong
|
2015-09-12 13:53:13 -04:00 |
|
Adam
|
5116d09fa0
|
begin work on guessing
|
2015-09-11 20:47:41 -04:00 |
|
Adam
|
c5af568867
|
rename unique run
|
2015-09-10 21:11:36 -04:00 |
|
Adam
|
c8d1ec9e25
|
After imul runs the value is no longer encrypted
|
2015-09-10 14:17:47 -04:00 |
|
Adam
|
2cfba32e28
|
class172.java: this.field2982 = ((1 * this.field2963 & -65536) + this.field2982 * 1) * -402105799; not working.
|
2015-09-09 21:24:37 -04:00 |
|
Adam
|
9404e1d9af
|
Carry encryption over in iadd and dup x1, this needs to be handled a better way.
|
2015-09-08 20:45:57 -04:00 |
|
Adam
|
7e9233a5d5
|
Fix putfield pop order, runs on all fields it detects now. Don't know if it works.
|
2015-09-08 15:46:29 -04:00 |
|
Adam
|
7b440adc0c
|
Fix putfield object/value order
|
2015-09-08 13:33:46 -04:00 |
|
Adam
|
2ea00d654f
|
32 vars!
|
2015-09-07 17:07:02 -04:00 |
|
Adam
|
f46e4dfdce
|
translating one field works
|
2015-09-06 23:39:47 -04:00 |
|
Adam
|
88bd6490de
|
Work.
|
2015-09-05 23:19:38 -04:00 |
|
Adam
|
9c16bc7ede
|
Fix methodinliner to move jumps to the function being inlined to the right place
(cherry picked from commit fae040a98f)
|
2015-09-05 21:47:03 -04:00 |
|
Adam
|
fae040a98f
|
Fix methodinliner to move jumps to the function being inlined to the right place
|
2015-09-05 19:10:57 -04:00 |
|
Adam
|
227606a065
|
hm
|
2015-08-26 19:10:56 -04:00 |
|
Adam
|
1fd79174ea
|
Some detecting getters, not totally right. Cap at 5.
|
2015-08-24 18:27:13 -04:00 |
|
Adam
|
4143a59d9d
|
cleanup
|
2015-08-23 20:29:23 -04:00 |
|
Adam
|
5561478ec8
|
Also direct assignment
|
2015-08-23 18:35:45 -04:00 |
|
Adam
|
7ac2b0e977
|
Working on doing arith deob during exec
|
2015-08-23 18:22:51 -04:00 |
|
Adam
|
32cbb0f805
|
Merge branch 'master' into master+arith
Conflicts:
src/main/java/net/runelite/deob/attributes/code/instructions/GetStatic.java
|
2015-08-23 12:55:31 -04:00 |
|
Adam
|
9878fb59b3
|
Remove beginning of original instruction graph, don't need it
|
2015-08-23 12:49:21 -04:00 |
|
Adam
|
0a8d233083
|
arith v2
|
2015-08-23 12:40:12 -04:00 |
|
Adam
|
4d4dd9715e
|
Allow inlining methods with exceptions
|
2015-08-22 22:53:03 -04:00 |
|
Adam
|
0bfc3e3c38
|
Blah whitespace
|
2015-08-22 17:56:08 -04:00 |
|
Adam
|
e478a4b1f9
|
Store stack context with variable context, and pass up stack contexts when invoking methods. I don't think iirc is right?
|
2015-08-22 17:54:39 -04:00 |
|
Adam
|
8ff2f4776a
|
Only onsider non static methods in fieldmover, note why fieldmover is broken
|
2015-08-22 14:58:21 -04:00 |
|
Adam
|
8e487a3567
|
Merge branch 'master' into master+fieldmove
|
2015-08-22 12:19:22 -04:00 |
|
Adam
|
1853bb1be1
|
Field moving works
|
2015-08-22 12:18:24 -04:00 |
|
Adam
|
35d8a98365
|
hm this assert fails
|
2015-08-19 21:23:00 -04:00 |
|
Adam
|
7fb5f3e721
|
work on moving static initializers
|
2015-08-17 20:18:34 -04:00 |
|
Adam
|
88fc561188
|
Fix rename unique fields
|
2015-08-17 17:01:03 -04:00 |
|
Adam
|
5839452b3b
|
requires some work to move static field initializers
|
2015-08-16 21:15:51 -04:00 |
|
Adam
|
5059f8cc75
|
Fix not removing ctors, unused class deob. Can't yet move static fields to client until I can move clinit
|
2015-08-16 19:08:22 -04:00 |
|
Adam
|
4f11ca9f36
|
Rename info.sigterm -> net.runelite
|
2015-08-16 15:17:58 -04:00 |
|
Adam
|
1c8f2dbc27
|
Inline static constant string fields
|
2015-08-15 17:05:54 -04:00 |
|
Adam
|
8a7e1d1f97
|
Field mover
|
2015-08-15 14:54:48 -04:00 |
|
Adam
|
fc3c0a258f
|
Finish methodmover
|
2015-08-15 12:49:00 -04:00 |
|
Adam
|
f91f6f5918
|
Small fixes
|
2015-08-15 00:03:00 -04:00 |
|
Adam
|
09c4b108dd
|
Fix inliner
|
2015-08-14 15:01:11 -04:00 |
|
Adam
|
f3bdcf954e
|
Bail out if const param detects a lvt store
|
2015-08-14 14:00:27 -04:00 |
|
Adam
|
2eeda597dc
|
Compare more than just the pops, but the entire stack, and compare
the instructions not the contexts
|
2015-08-13 18:22:53 -04:00 |
|
Adam
|
9b4230154c
|
Use instruction ctx to see if a jump has already happened. Not sure if it works but it runs.
|
2015-08-12 18:01:12 -04:00 |
|
Adam
|
f8fe552287
|
invokespecial shouldn't find deep for the method being invoked
|
2015-08-09 20:50:06 -04:00 |
|
Adam
|
399e5d8f8a
|
cleanup athrow
|
2015-08-09 17:22:53 -04:00 |
|