Thread: How to trace useful client methods [such as sendMessage, client sided]

Results 1 to 9 of 9
  1. #1 How to trace useful client methods [such as sendMessage, client sided] 
    Registered Member Anthony-|'s Avatar
    Join Date
    Jan 2008
    Posts
    749
    Thanks given
    103
    Thanks received
    46
    Rep Power
    58
    Now, this is basically to like learn how to remove "Welcome to the RuneScape Lobby." and stuff like that, or client sided strings. Some client sided strings that are located in the client can be found by searching "RuneScape" or "Loading" and Eclipse or whatever should take you to that class. That class should have a bunch of strings in it from anywhere to items to friends list strings the client will use.

    For this example and thread, I will be using a 621 client.

    The class in the original 621 deob is:
    Code:
    kt.java
    . Mine has been renamed to
    Code:
    ClientStrings.java
    so ignore my renamed class.

    For this example we will be using:
    Code:
    	U = new ClientStrings(" is already on your friends list.",
    		   " steht bereits auf deiner Freunde-Liste!",
    		   " est d\u00e9j\u00e0 dans votre liste d'amis.",
    		   " j\u00e1 est\u00e1 na sua lista de amigos.");
    Now, let's search for when this string is used.

    Now you should come up on a class(rh.java) and it should contain ClientStrings.U or kt.U in the line of:
    Code:
    			    cba.a(4, false,
    				  string + ClientStrings.U.getString((byte) 114, cba.languageID));
    Now if you have played RuneScape in the past, you will know that that string "is already on your friends list." is wrote when somebody you are trying to add is already on your friends list(obviously). So now we know that the string, in front of ClientStrings is the username that we typed into the client to add the user, but that user is already on our friends list. Now let's follow cba.a and see where it goes.

    It goes to this:
    Code:
        static final void a(int i, boolean bool, String string) {
    	h++;
    	oba.a("", string, i, -1, "", 0, "");
    	if (bool != false)
    	    f = null;
        }
    So that means String string is what the client wants to display.
    Now let's see where oba.a takes us.

    oba.a
    Code:
        static final void a(String string, String string_7_, int i, int i_8_,
    			String string_9_, int i_10_, String string_11_) {
    	at.a(string, string_7_, i, i_10_, i_8_, string_9_, null, (byte) 127,
    	     string_11_);
    	D++;
        }
    Now oba.a is sending a null string for the first string, and the one we should be looking at which contains "Username is already on your friend's list." is string_7_.

    Now let's go to at.a.
    Code:
        static final void a(String string, String string_1_, int i, int i_2_,
    			int i_3_, String string_4_, String string_5_,
    			byte i_6_, String string_7_) {
        	if(string_1_ == "Welcome to the RuneScape Lobby."){
        		string_1_ = "";}
    	D++;
    	if (i_6_ <= 99)
    	    i(68);
    	sc var_sc = he.d[99];
    	for (int i_8_ = 99; i_8_ > 0; i_8_--)
    	    he.d[i_8_] = he.d[i_8_ - 1];
    	if (var_sc != null)
    	    var_sc.a(string_5_, string_1_, string_7_, string_4_, i, i_2_, i_3_,
    		     false, string);
    	else
    	    var_sc = new sc(i, i_2_, string_7_, string_4_, string, string_5_,
    			    i_3_, string_1_);
    	pl.f++;
    	aea.G = tb.u;
    	he.d[0] = var_sc;
        }
    Now, I have already commented the "Welcome to the RuneScape Lobby." string out and made it display nothing as you can see here. I could actually probably make it better, but too lazy right now . Anyway, as you can see here all of the strings will go through here and you will see them if you dump them. This may help if you want to change a final string or such. But anyway, you can do about anything just by searching up some of the client strings in the client's class.

    I'll show another example soon.
    Reply With Quote  
     

  2. #2  
    Banned

    Join Date
    Nov 2010
    Age
    29
    Posts
    2,682
    Thanks given
    824
    Thanks received
    404
    Rep Power
    0
    Nice man. Work's Beastly.
    Reply With Quote  
     

  3. Thankful user:


  4. #3  
    Registered Member
    Teemuzz's Avatar
    Join Date
    Oct 2009
    Posts
    2,755
    Thanks given
    1,212
    Thanks received
    422
    Rep Power
    934
    Gj. :l
    Reply With Quote  
     

  5. #4  
    Banned

    Join Date
    May 2010
    Age
    28
    Posts
    1,023
    Thanks given
    199
    Thanks received
    87
    Rep Power
    0
    Good job anthony.
    Reply With Quote  
     

  6. #5  
    Registered Member
    Stacx's Avatar
    Join Date
    Jun 2009
    Posts
    463
    Thanks given
    166
    Thanks received
    105
    Rep Power
    125
    Search for T3 you should get 2 results other one is from the special packets(object releated) method.

    Search for 0xc000 and you got player/npc masks

    and thanks lol
    Reply With Quote  
     

  7. #6  
    Registered Member Anthony-|'s Avatar
    Join Date
    Jan 2008
    Posts
    749
    Thanks given
    103
    Thanks received
    46
    Rep Power
    58
    Quote Originally Posted by Stacx View Post
    Search for T3 you should get 2 results other one is from the special packets(object releated) method.

    Search for 0xc000 and you got player/npc masks

    and thanks lol
    Funny part is that's true. Just not a lot of people know what it does
    Reply With Quote  
     

  8. Thankful user:


  9. #7  
    Registered Member M4ntach's Avatar
    Join Date
    Nov 2010
    Posts
    352
    Thanks given
    127
    Thanks received
    19
    Rep Power
    23
    Sexy job!
    Sir Tom has made 13 Projects so far.
    Each and every one failed with the same NIO based and cancelled within a week
    Reply With Quote  
     

  10. #8  
    :doge:

    Join Date
    Jan 2009
    Posts
    3,758
    Thanks given
    221
    Thanks received
    817
    Rep Power
    2116
    btw to find the sendMessage outgoing packet, all you need to do is find the OutgoingPacketBuffer and search

    Code:
    String string = "";
    lol

    and ClientStrings is actually a

    TranslatableString
    Reply With Quote  
     

  11. Thankful user:


  12. #9  
    Registered Member M4ntach's Avatar
    Join Date
    Nov 2010
    Posts
    352
    Thanks given
    127
    Thanks received
    19
    Rep Power
    23
    Quote Originally Posted by `Discardedx2 View Post
    btw to find the sendMessage outgoing packet, all you need to do is find the OutgoingPacketBuffer and search

    Code:
    String string = "";
    lol

    and ClientStrings is actually a

    TranslatableString
    I think he should apologize for not using your naming.

    Sir Tom has made 13 Projects so far.
    Each and every one failed with the same NIO based and cancelled within a week
    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. Replies: 0
    Last Post: 09-08-2010, 03:38 PM
  2. Replies: 1
    Last Post: 09-03-2010, 10:42 PM
  3. [508] Client-Sided SendMessage
    By Lazaro in forum Snippets
    Replies: 7
    Last Post: 02-07-2009, 03:30 AM
  4. Client sided read methods
    By Shiver in forum RS 503+ Client & Server
    Replies: 10
    Last Post: 08-10-2008, 06:26 AM
Posting Permissions
  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •