GS-Zone

Creando Clave Dinamica Ir al Indice

Moderadores: Moderadores de Argentum, Especialistas de Argentum, Especialistas de Programación

4

Nota » 11 Dic 2010 14:19

Hola .. hace unos dias se me dio por mejorar la seguridad de mi ao y lo que hice fue crear una funcion que cree un numero alazar el cual sera necesario a la hora de loguear y cada ves que quieras loguear generaria uno nuevo. Bueno sino me equivoco tengo q acer la llamada call Funcion , dps en el handle loginexisting y handlenewloginexisting tengo q llamar a la funcion aih tambien?
Y la duda que tengo mas importante en todo esto es como hago que el servidor veirifique que se genero un numero y fue enviado al server y cual fue el numero osea si se cliente genero el numero 768 el cliente lea que si no es 768 no loguee , no toy seguro si es mediante un if o nose.

Atte Comodin

Imagen
Si la vida te da la espalda robale la billetera.
138
Destructor de Mentes [5]
Registrado: Años de membresíaAños de membresía
Ubicación: Argentina
Mensajes: 748
Aportes: 1

Nota » 11 Dic 2010 14:37

Deberías hacer lo siguiente:
El servidor genera la clave al recibir el paquete de la conexion, la envía a la conexión con el cliente, el cliente la responde, el servidor verifica o puede hacerlo el mismo cliente, y esta de ser la misma genera la conexión correctamente...

Usarás Cases, Ifs, Funciones y no mucho más... Dejanos la base sino que lo miramos más a fondo

mica.khalem@gmail.com

•Parra escribió:Pf que locura xD ...
Que has hecho? xD


Imagen


FAN DE BLIZZARD
God is gay
363
Administrador
Registrado: 5 Años de membresía!
Ubicación: Capital Federal
Mensajes: 3012
Aportes: 19
Premios: 1
Mister Programador AO (1)

Nota » 12 Dic 2010 05:33

Khalem escribió:Deberías hacer lo siguiente:
El servidor genera la clave al recibir el paquete de la conexion, la envía a la conexión con el cliente, el cliente la responde, el servidor verifica o puede hacerlo el mismo cliente, y esta de ser la misma genera la conexión correctamente...

Usarás Cases, Ifs, Funciones y no mucho más... Dejanos la base sino que lo miramos más a fondo


mira yo habia echo algo asi

en el cliente ene l loginexistingchar puse algo asi

  1. dim random as byte
  2. dim clave as string
  3.  
  4. random = randomnumber(1, 5)
  5.  
  6. if random = 1 then
  7. 'rot13("ks1qUemesalTeASlAeNCripTaCiOnjEJjorKerjtJERTehrEJR")
  8. clave="uNacLaveSecreta"
  9. elseif random = 2 then
  10. clave="uNacLaveSecreta1"
  11. elseif random = 3 then
  12. clave="uNacLaveSecreta2"
  13. elseif random = 4 then
  14. clave="uNacLaveSecreta3"
  15. elseif random = 5 then
  16. clave="uNacLaveSecreta4"
  17. end if


si tenes algún algoritmo de encriptación en ves de clave="asdajsdja" pone clave=funcion("asdajsdja")

y arriba de

  1. call .writeasciistring(username) 'creo qe era asi fijate en el writeloginexistingchar


pones

  1. call .writeasciistring(clave)
  2. call .writebyte(random)


en el handleloginexistingchar del servidor arriba de



puse algo asi

  1. dim clave as string
  2. dim random as byte


y arriba de

  1. username = buffer.readasciistring() 'nose si era si no tengoe l vb aca


pone

  1. clave = buffer.readasciistring()
  2. random = buffer.readbyte()


desp la linea que llama al connectuser

  1. call connectuser(userindex, username , userpass ....


le agregas 2 parametros

osea si antes era

  1. call connectuser(userindex, username , userpass)


ahora tendria que qedar

  1. call connectuser(userindex, username , userpass,clave, random)


despues buscas el sub connectuser

y lo mismo haces con los parametros

es algo asi

  1. sub connectuser(byval userindex as integer, byref username as string...


y le agregas esto (antes de terminar el parentesis)

  1. byval clave as string, byval random as byte


y adentro de ese sub mete algoa si

  1. if random = 1 and clave <> "uNacLaveSecreta" then
  2. call writeerrormsg(userindex, "blabla no chitees")
  3. call flushbuffer(userindex)
  4. call closesocket(userindex)
  5. elseif random = 2 and clave <> "uNacLaveSecreta1" then
  6. call writeerrormsg(userindex, "blabla no chitees")
  7. call flushbuffer(userindex)
  8. call closesocket(userindex)
  9. elseif random = 3 and clave <> "uNacLaveSecreta2" then
  10. call writeerrormsg(userindex, "blabla no chitees")
  11. call flushbuffer(userindex)
  12. call closesocket(userindex)
  13. elseif random = 4 and clave <> "uNacLaveSecreta3" then
  14. call writeerrormsg(userindex, "blabla no chitees")
  15. call flushbuffer(userindex)
  16. call closesocket(userindex)
  17. elseif random = 5 and clave <> "uNacLaveSecreta4" then
  18. call writeerrormsg(userindex, "blabla no chitees")
  19. call flushbuffer(userindex)
  20. call closesocket(userindex)
  21. end if


y we ahi es dinamica pero re pete xd ante sniffers te recomiendo en la clave poner algo del login qe se yo

password o algo asi xd ingeniatelas te deje la base ahora completalo y/o modificalo a tu gusto

te recomiendo usar una encriptacion para la clave, suerte che

maTih.-

LyRan escribió:Buenos Dias amigos y programadores de Gs Zone, Me gustaria pedirle la amabilidad de una ayuda con un cliente editado para mi Ao casero, Osea me explico, yo juego Ao con varios amigos y ellos todos usan cheat y no me gusta eso me gustaria que alguien me ayudara a crear un cliente editado con auto poteo de ambas potas a la ves ya sea que se alla gastado Mana lanzando algun hechis y comienze a potear solo hasta estar completamente el Mana, igual para la salud y poteo rapido para ambos.
mAnco programEr
799
Oraculo [5]
Registrado: Años de membresíaAños de membresía
Ubicación: Bolivia
Mensajes: 2299
Aportes: 109

Nota » 12 Dic 2010 21:20

maTih.- escribió:
Khalem escribió:Deberías hacer lo siguiente:
El servidor genera la clave al recibir el paquete de la conexion, la envía a la conexión con el cliente, el cliente la responde, el servidor verifica o puede hacerlo el mismo cliente, y esta de ser la misma genera la conexión correctamente...

Usarás Cases, Ifs, Funciones y no mucho más... Dejanos la base sino que lo miramos más a fondo


mira yo habia echo algo asi

en el cliente ene l loginexistingchar puse algo asi

  1. dim random as byte
  2. dim clave as string
  3.  
  4. random = randomnumber(1, 5)
  5.  
  6. if random = 1 then
  7. 'rot13("ks1qUemesalTeASlAeNCripTaCiOnjEJjorKerjtJERTehrEJR")
  8. clave="uNacLaveSecreta"
  9. elseif random = 2 then
  10. clave="uNacLaveSecreta1"
  11. elseif random = 3 then
  12. clave="uNacLaveSecreta2"
  13. elseif random = 4 then
  14. clave="uNacLaveSecreta3"
  15. elseif random = 5 then
  16. clave="uNacLaveSecreta4"
  17. end if


si tenes algún algoritmo de encriptación en ves de clave="asdajsdja" pone clave=funcion("asdajsdja")

y arriba de

  1. call .writeasciistring(username) 'creo qe era asi fijate en el writeloginexistingchar


pones

  1. call .writeasciistring(clave)
  2. call .writebyte(random)


en el handleloginexistingchar del servidor arriba de



puse algo asi

  1. dim clave as string
  2. dim random as byte


y arriba de

  1. username = buffer.readasciistring() 'nose si era si no tengoe l vb aca


pone

  1. clave = buffer.readasciistring()
  2. random = buffer.readbyte()


desp la linea que llama al connectuser

  1. call connectuser(userindex, username , userpass ....


le agregas 2 parametros

osea si antes era

  1. call connectuser(userindex, username , userpass)


ahora tendria que qedar

  1. call connectuser(userindex, username , userpass,clave, random)


despues buscas el sub connectuser

y lo mismo haces con los parametros

es algo asi

  1. sub connectuser(byval userindex as integer, byref username as string...


y le agregas esto (antes de terminar el parentesis)

  1. byval clave as string, byval random as byte


y adentro de ese sub mete algoa si

  1. if random = 1 and clave <> "uNacLaveSecreta" then
  2. call writeerrormsg(userindex, "blabla no chitees")
  3. call flushbuffer(userindex)
  4. call closesocket(userindex)
  5. elseif random = 2 and clave <> "uNacLaveSecreta1" then
  6. call writeerrormsg(userindex, "blabla no chitees")
  7. call flushbuffer(userindex)
  8. call closesocket(userindex)
  9. elseif random = 3 and clave <> "uNacLaveSecreta2" then
  10. call writeerrormsg(userindex, "blabla no chitees")
  11. call flushbuffer(userindex)
  12. call closesocket(userindex)
  13. elseif random = 4 and clave <> "uNacLaveSecreta3" then
  14. call writeerrormsg(userindex, "blabla no chitees")
  15. call flushbuffer(userindex)
  16. call closesocket(userindex)
  17. elseif random = 5 and clave <> "uNacLaveSecreta4" then
  18. call writeerrormsg(userindex, "blabla no chitees")
  19. call flushbuffer(userindex)
  20. call closesocket(userindex)
  21. end if


y we ahi es dinamica pero re pete xd ante sniffers te recomiendo en la clave poner algo del login qe se yo

password o algo asi xd ingeniatelas te deje la base ahora completalo y/o modificalo a tu gusto

te recomiendo usar una encriptacion para la clave, suerte che

maTih.-


Gracias matih me sirve voy a intentar hacerlo totalmente dinamico.

Imagen
Si la vida te da la espalda robale la billetera.
138
Destructor de Mentes [5]
Registrado: Años de membresíaAños de membresía
Ubicación: Argentina
Mensajes: 748
Aportes: 1


Volver a Otras versiones

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados