Convidado Convidado
| Assunto: Evitando Cliente Falso! Sáb 05 Nov 2011, 22:28 | |
| Bom, uma coisa que percebi, e que muitos estão sofrendo com isso, são os Cliente Falso, Isso Consiste, em um Hacker ( Na maioria das vezes Lammer) cria um Cliente Falso com o Seu IP e Porta, que pode ser facilmente descoberto, e nesse tutorial, ensinarei como bloquear facilmente esses cliente falso. Cliente SideProcure Por: - Código:
-
Sub SendLogin(ByVal Name As String, ByVal Password As String) Dim Packet As String
Packet = "logination" & SEP_CHAR & Trim(Name) & SEP_CHAR & Trim(Password) & SEP_CHAR & CLIENT_MAJOR & SEP_CHAR & CLIENT_MINOR & SEP_CHAR & CLIENT_REVISION & SEP_CHAR & SEC_CODE & END_CHAR Call SendData(Packet) End Sub E mude o " logination" para " mmorpgbrlogination" Serve SideProcure Por: - Código:
-
Exit Sub
Case "logination"
If Not IsLoggedIn(Index) Then Name = Parse(1) Password = Parse(2)
For i = 1 To Len(Name) N = Asc(Mid$(Name, i, 1))
If (N >= 65 And N <= 90) Or (N >= 97 And N <= 122) Or (N = 95) Or (N = 32) Or (N >= 48 And N <= 57) Then Else Call PlainMsg(Index, "Contas duplas não são aceitadas!", 3) Exit Sub End If
Next
If Parse$(3) & "." & Parse$(4) & "." & Parse$(5) & "." & Parse$(6) <> CLIENT_MAJOR & "." & CLIENT_MINOR & "." & CLIENT_REVISION & "." & SEC_CODE Then Call SendDataTo(Index, "sound" & SEP_CHAR & "NovaVersão" & END_CHAR) Call NewVersion(Index, Trim$(GetVar(App.Path & "\Dados.ini", "CONFIG", "WebSite"))) Exit Sub End If
If Not AccountExist(Name) Then Call PlainMsg(Index, "Essa conta não existe.", 3) Exit Sub End If
If Not PasswordOK(Name, Password) Then Call PlainMsg(Index, "Senha incorreta.", 3) Exit Sub End If
If IsMultiAccounts(Name) Then Call PlainMsg(Index, "Logins múltiplos não são aceitos.", 3) Exit Sub End If
If frmServer.Closed.Value = Checked Then Call PlainMsg(Index, "O servidor está em manutenção!", 3) Exit Sub End If
Dim Packs As String
Packs = "MAXINFO" & SEP_CHAR Packs = Packs & GAME_NAME & SEP_CHAR Packs = Packs & MAX_PLAYERS & SEP_CHAR Packs = Packs & MAX_ITEMS & SEP_CHAR Packs = Packs & MAX_NPCS & SEP_CHAR Packs = Packs & MAX_SHOPS & SEP_CHAR Packs = Packs & MAX_SPELLS & SEP_CHAR Packs = Packs & MAX_MAPS & SEP_CHAR Packs = Packs & MAX_MAP_ITEMS & SEP_CHAR Packs = Packs & MAX_MAPX & SEP_CHAR Packs = Packs & MAX_MAPY & SEP_CHAR Packs = Packs & MAX_EMOTICONS & SEP_CHAR Packs = Packs & MAX_SPEECH & SEP_CHAR Packs = Packs & END_CHAR Call SendDataTo(Index, Packs) Call LoadPlayer(Index, Name) Call SendChars(Index) Call SendDataVIP(Index) Call AddLog(GetPlayerLogin(Index) & " se logou com o IP " & GetPlayerIP(Index) & ".", PLAYER_LOG) Call TextAdd(frmServer.txtText(0), GetPlayerLogin(Index) & " se logou com o IP " & GetPlayerIP(Index) & ".", True) End If
Exit Sub Mude o " logination" para " mmorpgbrlogination" Pronto! Seu Jogo já estará seguro contra cliente falso! Quando o Cliente falso For Logar no seu jogo, na tela de Login ficará apenas carregando...Para sempre e.e E como tem gente hacker nesse fórum, que pode ver isso, simples, mude o mmorpgbrlogination no Serve e Cliente para o nome que você queira! Logo será impossível alguém criar um cliente falso com o mesmo IP e porta. Créditos:Gustavo Santos Diniz RenanR |
|