Universo Games
Ola , Convidado



Você ainda não e cadastrado então cadastre-se e veja todas as atualizações no mundo rpg!!!
Universo Games

Suporte e Desenvolvimento só no Universo Games

Ola Convidado, Seja Bem vindo a equipe lhe deseja boa sorte no seu projeto!

Você não está conectado. Conecte-se ou registre-se

Evitando Cliente Falso!

Ver o tópico anterior Ver o tópico seguinte Ir em baixo  Mensagem [Página 1 de 1]

1Tutorial Evitando Cliente Falso! em Sab 05 Nov 2011, 21:28

RenanR


Membro
Membro
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 Side

Procure 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 Side

Procure 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

http://mmomakerbr.ativoforum.com

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo  Mensagem [Página 1 de 1]

Permissão deste fórum:
Você não pode responder aos tópicos neste fórum