Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: VampireLord en 8 Mayo 2012, 00:40 am



Título: Imagen conforme a una IP
Publicado por: VampireLord en 8 Mayo 2012, 00:40 am
¡Hola! Pues estuve buscando un poco, y como sólamente encontré un ejemplo que me podía servir,
que por cierto, no funcionó por que no tenía unos componentes que sabe dios dónde se consiguen,
vengo a preguntarles acerca del siguiente caso:

Tengo un programa, que "obtiene" varios IPs, entonces, quiero que cada vez que él detecte uno,
saque una banderita del país perteneciente.. pero no sé cómo lograr ésto. Manejo la API del Winsock,
por que el componente de éste es un asco xD

¿Alguien tiene alguna idea? Por cierto, el lugar donde se cargue la imagen de la banderita, es en un TreeView.

Espero que me puedan ayudar, ¡Saludos! :)


Título: Re: Imagen conforme a una IP
Publicado por: Elemental Code en 8 Mayo 2012, 03:22 am
podes sacar la ip con algo como

http://www.geoiptool.com/


Título: Re: Imagen conforme a una IP
Publicado por: VampireLord en 8 Mayo 2012, 03:53 am
Ahmm, creo que no me expliqué muy bien, amigo, perdona D:
Pues enrealidad, sacar la IP no es un problema, por que es un troyano xD

Lo que pasa, es que no sé cómo sacar rangos entre IPs para determinar
el país a donde pertenece una, y así, determinarle una imagen de una
banderita a cada uno xD

Saludos :)


Título: Re: Imagen conforme a una IP
Publicado por: Graphixx en 8 Mayo 2012, 04:49 am
Aca tenes lo de las banderas, incluyendo las banderas en gif, los rangos, etc
http://foro.elhacker.net/php/super_contador_de_visitas_en_php300mb_sql4_millones_de_registrosscripts-t315327.0.html


Título: Re: Imagen conforme a una IP
Publicado por: Elemental Code en 9 Mayo 2012, 01:53 am
yo escribi mal.

Es facil, pones la ip en la pag y la localiza.
Pero porque no usas el idioma del teclado, o el del windows?
o el de google?


Título: Re: Imagen conforme a una IP
Publicado por: Deeo Raiser en 9 Mayo 2012, 09:26 am
Cada pais posee un rango de IP, este rango solo se puede comparar en una base de datos. ACA (http://www.recursosvisualbasic.com.ar/htm/utilidades-codigo-fuente/ip-finder.htm) te dejo algo que te puede dar una mano.

PD: Armate de paciencia.

Saludos


Título: Re: Imagen conforme a una IP
Publicado por: LeandroA en 10 Mayo 2012, 02:49 am
Hola mira estas dos funciones
Código
  1. Option Explicit
  2. Private Declare Function GetLocaleInfo Lib "kernel32" Alias "GetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, ByVal lpLCData As String, ByVal cchData As Long) As Long
  3.  
  4. Private Const LOCALE_USER_DEFAULT       As Long = &H400
  5. Private Const LOCALE_SENGCOUNTRY        As Long = &H1002
  6. Private Const LOCALE_SENGLANGUAGE       As Long = &H1001
  7. Private Const LOCALE_SNATIVELANGNAME    As Long = &H4
  8. Private Const LOCALE_SNATIVECTRYNAME    As Long = &H8
  9. Private Const LOCALE_SISO3166CTRYNAME   As Long = &H5A
  10.  
  11. Public Function GetCountryCode() As String
  12.    Dim sBuffer As String * 100
  13.    GetLocaleInfo LOCALE_USER_DEFAULT, LOCALE_SISO3166CTRYNAME, sBuffer, 10
  14.    GetCountryCode = Left$(sBuffer, InStr(sBuffer, Chr$(0)) - 1)
  15. End Function
  16.  
  17. Public Function GetCountry() As String
  18.    Dim sBuffer As String * 100
  19.  
  20.    If GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SENGCOUNTRY, sBuffer, 100) Then
  21.        GetCountry = Left$(sBuffer, InStr(sBuffer, Chr$(0)) - 1)
  22.    End If
  23. End Function
  24.  
  25.  
  26. Private Sub Form_Load()
  27. MsgBox GetCountryCode & vbCrLf & GetCountry
  28. End Sub
  29.  

fijate que la funcion GetCountryCode retorna una abreviatura del paiz, que es recogida de la configuración local, entonces tenes que conseguirte las imagenes banderas con sus respectivos nombres y luego segun el caso mostras tal bandera.

Saludos.


Título: Re: Imagen conforme a una IP
Publicado por: noele1995 en 13 Mayo 2012, 21:51 pm
Lo vi y me interese  ;D ;D jejeje asique he hecho algo en base a codigos de LeandroA para quien le sirva ahi vá.

https://rapidshare.com/files/2759427725/BanderaSegunPais.rar (https://rapidshare.com/files/2759427725/BanderaSegunPais.rar)


Título: Re: Imagen conforme a una IP
Publicado por: VampireLord en 14 Mayo 2012, 07:47 am
Wow, muchas gracias a todos por sus comentarios :)

Bien, creo que ya tengo bastante para continuar mi proyecto,
ya que todos me ayudaron bastante.

Leandro, acabas de dar un aporte buenísimo, que yo considero
que deberían de poner talvez en tutoriales, adjuntándole el
ejemplo que nos facilitó Noele1995.

Ahmm.. duda resulta, ya pueden cerrar el tema para que no
hagan spam, etc, etc, etc.

¡Saludos y gracias!


Título: Re: Imagen conforme a una IP
Publicado por: extreme69 en 15 Mayo 2012, 00:50 am
Hola mira estas dos funciones
Código
  1. Option Explicit
  2. Private Declare Function GetLocaleInfo Lib "kernel32" Alias "GetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, ByVal lpLCData As String, ByVal cchData As Long) As Long
  3.  
  4. Private Const LOCALE_USER_DEFAULT       As Long = &H400
  5. Private Const LOCALE_SENGCOUNTRY        As Long = &H1002
  6. Private Const LOCALE_SENGLANGUAGE       As Long = &H1001
  7. Private Const LOCALE_SNATIVELANGNAME    As Long = &H4
  8. Private Const LOCALE_SNATIVECTRYNAME    As Long = &H8
  9. Private Const LOCALE_SISO3166CTRYNAME   As Long = &H5A
  10.  
  11. Public Function GetCountryCode() As String
  12.    Dim sBuffer As String * 100
  13.    GetLocaleInfo LOCALE_USER_DEFAULT, LOCALE_SISO3166CTRYNAME, sBuffer, 10
  14.    GetCountryCode = Left$(sBuffer, InStr(sBuffer, Chr$(0)) - 1)
  15. End Function
  16.  
  17. Public Function GetCountry() As String
  18.    Dim sBuffer As String * 100
  19.  
  20.    If GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SENGCOUNTRY, sBuffer, 100) Then
  21.        GetCountry = Left$(sBuffer, InStr(sBuffer, Chr$(0)) - 1)
  22.    End If
  23. End Function
  24.  
  25.  
  26. Private Sub Form_Load()
  27. MsgBox GetCountryCode & vbCrLf & GetCountry
  28. End Sub
  29.  

fijate que la funcion GetCountryCode retorna una abreviatura del paiz, que es recogida de la configuración local, entonces tenes que conseguirte las imagenes banderas con sus respectivos nombres y luego segun el caso mostras tal bandera.

Saludos.

Con esté código se puede dar que el usuario tenga el windows en 1 idioma o seteado con X país y sin embargo realmente estar en otro país, en mi caso te aparecería que soy de Argentina, pero soy de Uruguay.

Yo ya intenté hacer esto hace rato y si, terminé usando el mismo código porque no me dió la paciencia, pero se puede conseguir una lista de rangos de ip's y en base a eso armar tu propia base de datos con rangos de países conocidos, y bueno, para los rangos desconocidos si usar el código de Leandro.