Thread: I just want a cache editor.

Results 1 to 8 of 8
  1. #1 I just want a cache editor. 
    Registered Member
    Join Date
    Nov 2011
    Posts
    70
    Thanks given
    5
    Thanks received
    0
    Rep Power
    11
    Hello there, I'll just fill you in on what I'm doing now.

    So at this moment I'm just creating some content for a rsps for fun. But I always want to create something with objects and models. When I try this with the cache editor of frosty it wont work ofcourse because I didn't update the reference table for 830 cache.

    The reference table for me is something new and I don't understand it, I would like to understand this more clearly so maybe I could update this myself. I found this informative thread of the reference table but it stay's chinese for me. If someone likes to talk me trough this or can give me some tips on how to do this it would be really nice.

    I just want to create a Easter event at this moment and for that I need to edit some objects with a extra option rather than the examine option alone. For this I always used a cache editor in 718 but for 830 I don't know how I could do it otherwise.

    So I don't think I should explain this more clearly? I'm sorry for my bad english and typo's.
    Reply With Quote  
     

  2. #2  
    Registered Member
    Join Date
    Nov 2011
    Posts
    70
    Thanks given
    5
    Thanks received
    0
    Rep Power
    11
    Bump, feeling I'm not getting it here.
    Reply With Quote  
     

  3. #3  
    Contributor

    clem585's Avatar
    Join Date
    Sep 2013
    Posts
    3,788
    Thanks given
    706
    Thanks received
    702
    Rep Power
    570
    Quote Originally Posted by ebert View Post
    Hello there, I'll just fill you in on what I'm doing now.

    So at this moment I'm just creating some content for a rsps for fun. But I always want to create something with objects and models. When I try this with the cache editor of frosty it wont work ofcourse because I didn't update the reference table for 830 cache.

    The reference table for me is something new and I don't understand it, I would like to understand this more clearly so maybe I could update this myself. I found this informative thread of the reference table but it stay's chinese for me. If someone likes to talk me trough this or can give me some tips on how to do this it would be really nice.

    I just want to create a Easter event at this moment and for that I need to edit some objects with a extra option rather than the examine option alone. For this I always used a cache editor in 718 but for 830 I don't know how I could do it otherwise.

    So I don't think I should explain this more clearly? I'm sorry for my bad english and typo's.
    Can't you adapt the 718 object defs to 830? Only a few opcode changed for ObjectDefinitions so that would be the easiest way. Just look for an ObjectDefinitions in a 830 client and add the opcodes that are missing to your 718 ver. of the ObjectDefinitions.
    Project thread
    Reply With Quote  
     

  4. #4  
    Registered Member
    Join Date
    Nov 2011
    Posts
    70
    Thanks given
    5
    Thanks received
    0
    Rep Power
    11
    Hey Clem585 I've looked into the objectdefinitions of the client versus the one in the editor's I have at this moment. I only see some difference in the opcodes of 44 and 45 but I have no idea on how I should work with these. That's a part of my question which I asked before, how should I look at this and how do these work?

    Thanks for the tip btw.
    Reply With Quote  
     

  5. #5  
    Contributor

    clem585's Avatar
    Join Date
    Sep 2013
    Posts
    3,788
    Thanks given
    706
    Thanks received
    702
    Rep Power
    570
    Quote Originally Posted by ebert View Post
    Hey Clem585 I've looked into the objectdefinitions of the client versus the one in the editor's I have at this moment. I only see some difference in the opcodes of 44 and 45 but I have no idea on how I should work with these. That's a part of my question which I asked before, how should I look at this and how do these work?

    Thanks for the tip btw.
    You make the same code but server-sided. If your client says:

    Code:
    if (i== 44) {
        anInt555 = stream.readUnsignedByte() * 435435435435;
        anInt556 = stream.readUnsignedByte() * 323423234333;
    }
    You recreate server-sided:

    Code:
    //no need for the * X because it's client-sided obfuscation that is just there to makes the client more confusing
    
    //at the top
    private int anInt555;
    private int anInt556;
    
    //with the other opcodes
    if (opcode == 44) {
        anInt555 = stream.readUnsignedByte();
        anInt556 = stream.readUnsignedByte();
    }
    This one is pretty simple since it's just 2 bytes but you can post opcode 44 & 45 if you can't figure it out. It's just mostly removing the * 89843834 obfuscation and creating variables though.
    Project thread
    Reply With Quote  
     

  6. #6  
    Registered Member
    Join Date
    Nov 2011
    Posts
    70
    Thanks given
    5
    Thanks received
    0
    Rep Power
    11
    I get that, reverse engineering. But this is just messing my head up. These are the bits that are different from the current ObjectDefinitions in the cache editor I have.
    Are they just making up variables to play with your mind or what the hell is going on?

    First piece I found that's not in mine:
    Spoiler for First Piece:
    Code:
    } else if (44 == i) {
    				int i_21_ = class572_sub15.readUnsignedShort(647518597);
    				int i_22_ = 0;
    				for (int i_23_ = i_21_; i_23_ > 0; i_23_ >>= 1)
    					i_22_++;
    				aByteArray5612 = new byte[i_22_];
    				byte i_24_ = 0;
    				for (int i_25_ = 0; i_25_ < i_22_; i_25_++) {
    					if ((i_21_ & 1 << i_25_) > 0) {
    						aByteArray5612[i_25_] = i_24_;
    						i_24_++;
    					} else
    						aByteArray5612[i_25_] = (byte) -1;
    				}
    			} else if (45 == i) {
    				int i_26_ = class572_sub15.readUnsignedShort(647518597);
    				int i_27_ = 0;
    				for (int i_28_ = i_26_; i_28_ > 0; i_28_ >>= 1)
    					i_27_++;
    				aByteArray5650 = new byte[i_27_];
    				byte i_29_ = 0;
    				for (int i_30_ = 0; i_30_ < i_27_; i_30_++) {
    					if ((i_26_ & 1 << i_30_) > 0) {
    						aByteArray5650[i_30_] = i_29_;
    						i_29_++;
    					} else
    						aByteArray5650[i_30_] = (byte) -1;
    				}
    			}


    Second one:
    Code:
    else if (i == 186)
           aClass512_5683 = ((Class512) Class455.method5387(Class70.method1078((byte) 73), class572_sub15.readUnsignedByte(451328302), -2144931931));
    Third piece:
    Code:
    else if (i >= 190 && i < 196) {
    					if (anIntArray5651 == null) {
    						anIntArray5651 = new int[6];
    						Arrays.fill(anIntArray5651, -1);
    					}
    					anIntArray5651[i - 190] = class572_sub15.readUnsignedShort(647518597);
    				} else if (196 == i)
    					Class455.method5387(Class567.method6721(-1954197384), class572_sub15.readUnsignedByte(905108059), -1874264473);
    				else if (197 == i)
    					Class455.method5387(Class57.method1000((byte) -90), class572_sub15.readUnsignedByte(61088174), -2049457415);
    				else if (i != 198 && i != 199) {
    					if (200 == i)
    						aBool5636 = true;
    					else if (i == 201) {
    						aClass326_5684 = new Class326();
    						aClass326_5684.aFloat4113 = (float) class572_sub15.readSmart(16777215);
    						aClass326_5684.aFloat4106 = (float) class572_sub15.readSmart(16777215);
    						aClass326_5684.aFloat4108 = (float) class572_sub15.readSmart(16777215);
    						aClass326_5684.aFloat4109 = (float) class572_sub15.readSmart(16777215);
    						aClass326_5684.aFloat4110 = (float) class572_sub15.readSmart(16777215);
    						aClass326_5684.aFloat4111 = (float) class572_sub15.readSmart(16777215);
    					}
    Reply With Quote  
     

  7. #7  
    Registered Member Ombra's Avatar
    Join Date
    Feb 2017
    Posts
    83
    Thanks given
    2
    Thanks received
    25
    Rep Power
    35
    Quote Originally Posted by clem585 View Post
    ...
    Clem, do you have a version of openRS with writing back to the cache. Or do u just use alexs lib.
    Id work on a tool similar but cant write to cache atm.
    Reply With Quote  
     

  8. #8  
    Contributor

    clem585's Avatar
    Join Date
    Sep 2013
    Posts
    3,788
    Thanks given
    706
    Thanks received
    702
    Rep Power
    570
    Quote Originally Posted by Ombra View Post
    Clem, do you have a version of openRS with writing back to the cache. Or do u just use alexs lib.
    Id work on a tool similar but cant write to cache atm.
    Alex's tool:

    Code:
    OutputStream stream = new OutputStream();
    stream.writeByte(0);
    store.getIndexes()[X].putFile(archiveId, fileId, stream.getBuffer());
    Project thread
    Reply With Quote  
     


Thread Information
Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)


User Tag List

Similar Threads

  1. RuneScape 2nd Cache Editor!
    By James in forum Tutorials
    Replies: 24
    Last Post: 05-29-2008, 11:32 AM
  2. Just wanted to share something from the cache
    By Meanz in forum RS2 Client
    Replies: 15
    Last Post: 05-06-2008, 09:37 AM
  3. Want a cache packed?
    By Clienthax in forum RS2 Client
    Replies: 7
    Last Post: 05-02-2008, 01:00 AM
  4. i want old cache
    By Sinidious in forum RS2 Client
    Replies: 5
    Last Post: 07-06-2007, 12:18 AM
Tags for this Thread

View Tag Cloud

Posting Permissions
  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •