[Release] Remote hack patch (while changing channels)

Results 1 to 9 of 9
  1. #1
    jRvdJxwvjhs Linkerzz is offline
    MemberRank
    Nov 2008 Join Date
    NorwayLocation
    345Posts

    note [Release] Remote hack patch (while changing channels)

    This works on MapleSolaxia source for me, if you use a different source I can't say it will work with 100% certainty.

    Put this in MapleClient somewhere.

    PHP Code:
        private boolean preventDoubleLogin() {
            
    boolean prev false;
            try {
                try (
    PreparedStatement ps DatabaseConnection.getConnection().prepareStatement("SELECT FROM iplog (accountid, ip) VALUES (?, ?)")) {
                    try (
    ResultSet rs ps.executeQuery()) {
                        
    rs.next();
                        if (
    rs.getString(2) == null session.getRemoteAddress().toString() == null rs.getString(2).equals(session.getRemoteAddress().toString())) {
                            
    prev true;
                        }
                    }
                }
            } catch (
    SQLException e) {
                
    e.printStackTrace();
            }
            return 
    prev;
        } 
    Then, still within MapleClient, Ctrl+F:
    Code:
    public void changeChannel(int channel) {
    Below:
    Code:
    if (player.isBanned()) {
    			disconnect(false, false);
    			return;
    		}
    Add:
    PHP Code:
                    //aditionally MaplePacketCreator\changeChannel could use a check, but what do I know anyway?
                    
    if (!player.isLoggedin() || preventDoubleLogin()) {
                        
    disconnect(falsefalse);
                        
    System.out.println("Player: " player ", isLoggedin(): " player.isLoggedin() + ", preventDoubleLogin(): " preventDoubleLogin());
                        return;
                    } 
    Thank you to everyone who replied to my help thread here:
    https://forum.ragezone.com/f566/patc...-hack-1072340/

    Oh, and most importantly, thank fraysa for his sessionId release.
    Without it, this release would be worthless.
    https://forum.ragezone.com/f427/secu...odinms-975812/
    Last edited by Linkerzz; 15-08-15 at 05:50 AM.


  2. #2
    I'm overrated. Fraysa is offline
    MemberRank
    Apr 2008 Join Date
    4,891Posts

    Re: [Release] Remote hack patch (while changing channels)

    If you're using v.83, it'd be better to use the client check in addition to this check (or just the client check). My release won't work because you need to cache the session id when the client first logs in and then obtain it again using the character id.

    Good job, nonetheless.

  3. #3
    Valued Member Supra is offline
    MemberRank
    Jul 2015 Join Date
    119Posts

    Re: [Release] Remote hack patch (while changing channels)

    Don't work for v83 TiredStory Source ): (well I just can't ctrl+f what you told me to) :/

  4. #4
    jRvdJxwvjhs Linkerzz is offline
    MemberRank
    Nov 2008 Join Date
    NorwayLocation
    345Posts

    Re: [Release] Remote hack patch (while changing channels)

    Quote Originally Posted by Supra View Post
    Don't work for v83 TiredStory Source ): (well I just can't ctrl+f what you told me to) :/
    PM me, I can help you look. :)

    - - - Updated - - -

    Quote Originally Posted by Fraysa View Post
    If you're using v.83, it'd be better to use the client check in addition to this check (or just the client check). My release won't work because you need to cache the session id when the client first logs in and then obtain it again using the character id.

    Good job, nonetheless.
    Oh! I had thought the sessionid was in the "ip" row of "iplogs"? Example: "/127.0.0.1:49555".
    I'm matching this row obtained from logging in with the current value while changing channels, otherwise d/c.

  5. #5
    while(true) spam(); kevintjuh93 is offline
    MemberRank
    Jun 2008 Join Date
    The NetherlandsLocation
    4,119Posts

    Re: [Release] Remote hack patch (while changing channels)

    Quote Originally Posted by Fraysa View Post
    If you're using v.83, it'd be better to use the client check in addition to this check (or just the client check). My release won't work because you need to cache the session id when the client first logs in and then obtain it again using the character id.

    Good job, nonetheless.
    That check wasn't released in v.83. If I am not mistaken v.88 has it, so I think it was present since v.87 or so.

  6. #6
    jRvdJxwvjhs Linkerzz is offline
    MemberRank
    Nov 2008 Join Date
    NorwayLocation
    345Posts

    Re: [Release] Remote hack patch (while changing channels)

    Regarding my first post, I have done a bit of research and came up with a better (non-rushed) solution. I think.

    Inside "MapleClient.java" add:

    PHP Code:
    private String[] ip
    Then add this wherever you want within MapleClient:
    PHP Code:
        public final void updateIp(String[] socket) {
            
    this.ip socket;
        }
        
        public final 
    boolean compareToSocket(String[] socket) {
            if (
    socket == this.ip){
                return 
    true;
            }
            return 
    false;
        } 
    now in "RegisterPicHandler.java"
    under
    PHP Code:
    final String[] socket Server.getInstance().getIP(c.getWorld(), c.getChannel()).split(":"); 
    add
    PHP Code:
    c.updateIp(socket); 

    then maybe use the compareToSocket method somewhere

  7. #7
    Moderator Eric is offline
    ModeratorRank
    Jan 2010 Join Date
    DEV CityLocation
    3,188Posts

    Re: [Release] Remote hack patch (while changing channels)

    @Linkerzz You do realize the socket ip is your local socket, right? Meaning, it's the IP and port of the current World/Channel you're logging onto, not the user's IP. If they're on the same channel/world, and just re-send the packet back, it would be the same socket and the check would fail, no?

  8. #8
    jRvdJxwvjhs Linkerzz is offline
    MemberRank
    Nov 2008 Join Date
    NorwayLocation
    345Posts

    Re: [Release] Remote hack patch (while changing channels)

    Quote Originally Posted by chunkarama View Post
    @Linkerzz You do realize the socket ip is your local socket, right? Meaning, it's the IP and port of the current World/Channel you're logging onto, not the user's IP. If they're on the same channel/world, and just re-send the packet back, it would be the same socket and the check would fail, no?
    I did not know this, haha.. Wait, wouldnt it just be this instead?
    PHP Code:
    client.getSession().getRemoteAddress().toString().split(":"); 

    Last edited by Linkerzz; 05-09-15 at 06:58 AM.

  9. #9
    C# developer xStr0nGx is offline
    MemberRank
    Dec 2013 Join Date
    UnknownLocation
    659Posts

    Re: [Release] Remote hack patch (while changing channels)

    Quote Originally Posted by Linkerzz View Post
    I did not know this, haha.. Wait, wouldnt it just be this instead?
    PHP Code:
    client.getSession().getRemoteAddress().toString().split(":"); 


    Seems like it can be that, no clue I quitted long ago.

    But I'd suggest you to check out how your server logs the clients ips to the database..



Advertisement