Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: Fucko en 22 Marzo 2014, 04:00 am



Título: Problema con Winsock.sendata en sistema operativo CHINO
Publicado por: Fucko en 22 Marzo 2014, 04:00 am
Buenas, tengo un soft, que probado en sistemas operativos latinos, funciona sin problemas, pero al usarlo en el SO windows XP chino, no funciona como debería...

tengo un modulo, que funciona sin problemas, para convertir los strings, etc etc....

el code sería así....

st1 = HexToAsc("100404084A011004C8DC")
Winsock2.SendData st1

en el soft cliente / servidor latino, recibo el string, tal cual lo envié....

pero al usarlo en el windows chino, no....

recibo esto:

100404084A0110040000

a que se puede deber??

como podría solucionarlo??

gracias




Título: Re: Problema con Winsock.sendata en sistema operativo CHINO
Publicado por: FranciskoAsdf en 25 Marzo 2014, 00:42 am
Bueno, no tengo un respuesta, pero tengo una duda, ¿Para que quieres que funcione en sistemas chinos?, ¿de verdad lo usaras en un SO xp chino?.



Título: Re: Problema con Winsock.sendata en sistema operativo CHINO
Publicado por: Fucko en 25 Marzo 2014, 20:42 pm
Bueno, no tengo un respuesta, pero tengo una duda, ¿Para que quieres que funcione en sistemas chinos?, ¿de verdad lo usaras en un SO xp chino?.



si, sino no estaría preguntando jejejejejjejeje

es para que lo use una persona china....

ya ví el error por qué es....

lo que no se es como solucionarlo.....


el error está en que yo necesito enviar datos en HEXADECIMAL....

y usar el CHAR, el ascii que corresponde al hexadecimal, en so ingles y español va bien...

en el chino, interpreta ciertos ascii o char como 00 00 por eso escribe mal....



Título: Re: Problema con Winsock.sendata en sistema operativo CHINO
Publicado por: crazykenny en 25 Marzo 2014, 20:59 pm
Hola, Fucko.
Veras, no estoy familiarizado con el tema, pero si el "HexToAsc" sirve para obtener un valor en letras (no lo se, pero es lo que me imagino), se me ocurre que el fallo puede ser debido a que un Windows XP de España y/o de USA utilice diferentes caracteres por el tema del lenguaje.
Esto puede ser una chorrada, pero digo porque, a fin de cuentas, un SO instalado en España y en China es lo mismo en cuanto a funcionamiento.
Ahora bien, los caracteres usados para, por ejemplo, mostrar mensajes de error (o cualquier otra cosa), son diferentes, y quizas el problema sea por esto.
Aun asi, insisto, es una posibilidad, y tampoco estoy seguro al 100% y no se como solucionarlo.
Muchas gracias por vuestra atencion.
Saludos.


Título: Re: Problema con Winsock.sendata en sistema operativo CHINO
Publicado por: Fucko en 25 Marzo 2014, 21:26 pm
Hola, Fucko.
Veras, no estoy familiarizado con el tema, pero si el "HexToAsc" sirve para obtener un valor en letras (no lo se, pero es lo que me imagino), se me ocurre que el fallo puede ser debido a que un Windows XP de España y/o de USA utilice diferentes caracteres por el tema del lenguaje.
Esto puede ser una chorrada, pero digo porque, a fin de cuentas, un SO instalado en España y en China es lo mismo en cuanto a funcionamiento.
Ahora bien, los caracteres usados para, por ejemplo, mostrar mensajes de error (o cualquier otra cosa), son diferentes, y quizas el problema sea por esto.
Aun asi, insisto, es una posibilidad, y tampoco estoy seguro al 100% y no se como solucionarlo.
Muchas gracias por vuestra atencion.
Saludos.

sisi, es eso... 100% seguro...
se que es eso...
lo que no se es como solucionarlo.....

en realidad, si, ya ví, pero me resuelve en parte el problema.....


tengo que hacer esto para resolverlo:

dim st1(10) as byte

084A011004C8DC

st1(0)= &H10
st1(1)= &H04
st1(2)= &H04
st1(3)= &H08
st1(4)= &H4a
st1(5)= &H01
st1(6)= &H10
st1(7)= &H04
st1(8)= &Hc8
st1(9)= &Hdc


con esto, resuelvo ese problema...

pero aca aparece el otro...

yo se que tengo que enviar ese dato, por tanto, puedo ponerlo en el soft sin problemas...

pero que pasa si lo tengo que tomar de un textbox??

tengo que hace de alguna forma, para que me cree el array y que interprete todo como hexadecimal.... :/




Título: Re: Problema con Winsock.sendata en sistema operativo CHINO
Publicado por: crazykenny en 25 Marzo 2014, 21:38 pm
Hola, Fucko; me alegra haberte podido ayudar.
Por otra parte, tambien he pensado una cosa mientras escribia el mensaje anterior, pero no sabia si ponerlo o no, porque creo que puede parecer "algo absurdo", por lo que intentare explicarme.
A ver, lo que he pensado viene de algo que supuse en programas tipo Word; si no me equivoco, estos programas tienen algo que se llama "fuentes" (u algo asi), que es lo que utilizan para representar letras y demas cosas, por lo que "creo" que hay que añadirle a estos programas nuevas fuentes para representar los caracteres de otras formas.
Entonces, puede parecer una chorrada, y, aunque esto que voy a decir no responde a tu nuevo mensaje, ¿es posible "insertar" nuevas fuentes a sistemas operativos de otros paises para ver correctamente los datos de tu programa?.
No se, lamento no poder responder a tu segunda pregunta, y se que esto ultimo es "algo rebuscado", pero es lo unico que se me ocurre.
Muchas gracias por vuestra atencion.
Saludos.


Título: Re: Problema con Winsock.sendata en sistema operativo CHINO
Publicado por: Fucko en 25 Marzo 2014, 22:11 pm
Hola, Fucko; me alegra haberte podido ayudar.
Por otra parte, tambien he pensado una cosa mientras escribia el mensaje anterior, pero no sabia si ponerlo o no, porque creo que puede parecer "algo absurdo", por lo que intentare explicarme.
A ver, lo que he pensado viene de algo que supuse en programas tipo Word; si no me equivoco, estos programas tienen algo que se llama "fuentes" (u algo asi), que es lo que utilizan para representar letras y demas cosas, por lo que "creo" que hay que añadirle a estos programas nuevas fuentes para representar los caracteres de otras formas.
Entonces, puede parecer una chorrada, y, aunque esto que voy a decir no responde a tu nuevo mensaje, ¿es posible "insertar" nuevas fuentes a sistemas operativos de otros paises para ver correctamente los datos de tu programa?.
No se, lamento no poder responder a tu segunda pregunta, y se que esto ultimo es "algo rebuscado", pero es lo unico que se me ocurre.
Muchas gracias por vuestra atencion.
Saludos.

hmm, no sabría eso...
igualmente, no va a servir, ya que este software "habla" directo con un soft conectado en la red....

lo malo es que los datos a enviar, son cambiantes....
si fueran siempre los mismos, los podría poner como puse arriba....
gracias


Título: Re: Problema con Winsock.sendata en sistema operativo CHINO
Publicado por: MCKSys Argentina en 25 Marzo 2014, 22:20 pm
Puedes usar matrices variables e ir cargando los bytes con un for...


Título: Re: Problema con Winsock.sendata en sistema operativo CHINO
Publicado por: Fucko en 25 Marzo 2014, 22:56 pm
Puedes usar matrices variables e ir cargando los bytes con un for...

claro, ir cardagando los bytes, hasta completar todo lo que hay en el textbox es lo que venía pensando...

ahora... tengo que hacerlo interpretar como HEXA

porque al momento de cargar, supongamos el ejemplo de arriba, tengo dentro del textbox esto: 084A011004C8DC

hago la matriz variable y me los va a separar de a 2 bytes....

lo que no se si a la hora de enviar lo va a hacer bien, ya que tengo que poner &H delante de cada byte....

voy a probar

gracias



Título: Re: Problema con Winsock.sendata en sistema operativo CHINO
Publicado por: xXSCORPIOXx en 26 Marzo 2014, 00:57 am
Si no me equivoco, Visual Basic 6 no tiene soporte Unicode, por lo que las aplicaciones no suelen ser compatibles con PC's Chinos, esto, en Delphi por ejemplo, no pasa.

//Regards.


Título: Re: Problema con Winsock.sendata en sistema operativo CHINO
Publicado por: Fucko en 27 Marzo 2014, 07:54 am
SOLUCIONADO!!!

pude encontrar para activar la compatibilidad en el windows CHINO y ahora funciona perfecto :)

gracias!!!

(http://i.imgur.com/oSrwjaA.jpg)