Enviando mensajes de WhatsApp

User avatar
mastintin
Posts: 1502
Joined: Thu May 27, 2010 2:06 pm

Re: Enviando mensajes de WhatsApp

Post by mastintin »

José Vicente Beltrán wrote:Gracias por contestar Mastintin,
Pués no entiendo muy bién que puede pasar, he repasado todo mil veces, conecta con el servidor, pero no se autentifica y por tanto devuelve una cadena vacía.

Aunque cuando hago las pruebas de conexión el móvil registrado en whatsapp está encendido, entiendo que es indiferente ya que la clave de conexión es el Imei que se manda desde el EXE, ¿Es correcto esto ?
:shock:
Entiendo que si . ? oWA:cAccount_status no te devuelve nada supongo ya que no llega .
Dado que el nick y el nªtelefono no son calculados , sería bueno comprobar que el password generado sea igual en harbour que en xharbour .
Yo estoy con harbour mac y funciona . si quieres me mandas el imei y yo te reenvio el password que me genera a ver si es el mismo.
Ahora salgo , y hasta la tarde no lo veré ...
Saludos.
User avatar
mastintin
Posts: 1502
Joined: Thu May 27, 2010 2:06 pm

Re: Enviando mensajes de WhatsApp

Post by mastintin »

Antonio . Para que funcione correctamente tenemos que descomentar los 2 ::read() del Methodo message() .

Code: Select all


...
 cMsg := cTotal_length + cContent 
   
   cStream := ::Send( cMsg )
   ::Read()
   ::Read()
   ::Read()
...

 
FiveWiDi
Posts: 910
Joined: Mon Oct 10, 2005 2:38 pm

Re: Enviando mensajes de WhatsApp

Post by FiveWiDi »

Hola a todos,

Estoy haciendo pruebas con esta nueva clase y cuando uso Destroy() me da error:

Error description: Error BASE/1004 Message not found: HB_WHATSAPP:DESTROY
Args:
[ 1] = O HB_WHATSAPP

Qué estoy haciendo mal? no puedo usar directamente Destroy()?

Gracias,
Un Saludo
Carlos G.

FiveWin 19.06 + Harbour 3.2, BCC 7 Windows 10
User avatar
José Vicente Beltrán
Posts: 279
Joined: Mon Oct 10, 2005 8:55 am
Location: Algeciras, España
Contact:

Re: Enviando mensajes de WhatsApp

Post by José Vicente Beltrán »

Mastintin,
Probando el password generado veo que es DIFERENTE en cada intento de conexión:

Code: Select all

METHOD _Authenticate( cNonce, cNC ) CLASS HB_WhatsApp

   local cCNonce := random_uuid()  //------------> distinta en HB
   local cA1 := StrFormat( "%s:%s:%s", ::cNumber, ::cServer, ::cPassword )
   local cA2, cPassword

   if cNC == nil
      cNC = "00000001"
   endif

   cA1 = pack_h32( hb_md5( cA1 ) ) + ":" + cNonce + ":" + cCNonce
   cA2 = "AUTHENTICATE:" + ::cDigest_Uri
   cPassword = hb_md5( cA1 ) + ":" + cNonce + ":" + cNC + ":" + cCNonce + ":" + ::cQop + ;
               ":" + hb_md5( cA2 )

   cPassword = hb_md5( cPassword )
   ? cPassword  //----------------------------> cada intento es diferente ¿?
return StrFormat( 'username="%s",realm="%s",nonce="%s",cnonce="%s",nc=%s,qop=%s,digest-uri="%s",response=%s,charset=utf-8',;
                     ::cNumber, ::cRealm, cNonce, cCnonce, cNC, ::cQop, ::cDigest_Uri, cPassword )
 
¿Es eso normal?
Otra cosa que he observado es que la funcion:

Code: Select all

static function random_uuid()

return strformat( "%04x%04x-%04x-%04x-%04x-%04x%04x%04x",;
                     hb_Random( 0, 0xffff ), hb_Random( 0, 0xffff ),;
                     hb_Random( 0, 0xffff ),;
             hb_BitOr( int( hb_Random( 0, 0x0fff ) ), 0x4000 ),;   //------------>en hb no utiliza INT()
             hb_BitOr( int( hb_Random( 0, 0x3fff ) ), 0x8000 ),;   //------------>en hb no utiliza INT()
                     hb_Random( 0, 0xffff ), hb_Random( 0, 0xffff ), hb_Random( 0, 0xffff ) )
 
es diferente en HB y xHB por lo tanto el resultado que se devuelve TIENE QUE SER DISTINTO en cada sistema.
¿Será esa la razón de las anomalias en el código xHB?. :shock:
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Enviando mensajes de WhatsApp

Post by Antonio Linares »

Desde esta pagina se pueden enviar mensajes. No es que este relacionado con el codigo que estamos probando, pero sirve para algunas pruebas:

http://www.websapp.net/main.html
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
lucasdebeltran
Posts: 1303
Joined: Tue Jul 21, 2009 8:12 am
Contact:

Re: Enviando mensajes de WhatsApp

Post by lucasdebeltran »

Antonio,

¿Sabes por qué no me funciona al ser usuario en Blackberry?.

Gracias.
Muchas gracias. Many thanks.

Un saludo, Best regards,

Harbour 3.2.0dev, Borland C++ 5.82 y FWH 13.06 [producción]

Implementando MSVC 2010, FWH64 y ADO.

Abandonando uso xHarbour y SQLRDD.
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Enviando mensajes de WhatsApp

Post by Antonio Linares »

Lucas,

Has podido enviar un mensaje desde esa página a tu blackberry ?

Si no funciona, eso evidenciaria que el sistema de contraseñas es distinto en el whatsapp de la blackberry. A ver si implementameos ese codigo que permite cambiar las contraseñas...
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
mastintin
Posts: 1502
Joined: Thu May 27, 2010 2:06 pm

Re: Enviando mensajes de WhatsApp

Post by mastintin »

José Vicente Beltrán wrote:Mastintin,
Probando el password generado veo que es DIFERENTE en cada intento de conexión:
Cuando me refiero a password me refiero a ::cPassword que es hb_md5(StrRev(cIMEI)) y siempre es igual , si este coincide en harbour y xharbour podemos seguir un paso mas adelante y mirar si el problema esta en random_uuid()
User avatar
mastintin
Posts: 1502
Joined: Thu May 27, 2010 2:06 pm

Re: Enviando mensajes de WhatsApp

Post by mastintin »

Antonio Linares wrote:Lucas,

Has podido enviar un mensaje desde esa página a tu blackberry ?

Si no funciona, eso evidenciaria que el sistema de contraseñas es distinto en el whatsapp de la blackberry. A ver si implementameos ese codigo que permite cambiar las contraseñas...
Antonio desde aqui se pueden enviar mensajes al iphone sin problemas pero el telefono que figura como emisor es un +56 992031735 por lo que puede ser generado por un "Androide simulado"
User avatar
mastintin
Posts: 1502
Joined: Thu May 27, 2010 2:06 pm

Re: Enviando mensajes de WhatsApp

Post by mastintin »

FiveWiDi wrote:Hola a todos,

Estoy haciendo pruebas con esta nueva clase y cuando uso Destroy() me da error:

Error description: Error BASE/1004 Message not found: HB_WHATSAPP:DESTROY
Args:
[ 1] = O HB_WHATSAPP

Qué estoy haciendo mal? no puedo usar directamente Destroy()?

Gracias,
Me pasa exactamente lo mismo .
Saludos.
Cgallegoa
Posts: 335
Joined: Sun Oct 16, 2005 3:32 am
Location: Quito - Ecuador
Contact:

Re: Enviando mensajes de WhatsApp

Post by Cgallegoa »

Antonio, Lucas,

Con blackberry funciona bien la página http://www.websapp.net/main.html, recibe y envía perfecto.

Definitivamente el sistema de contraseñas es diferente en el whatsapp de blackberry.

He buscado por internet pero no encuentra referencia en ninguma parte. Perece que no es con el emai.
Saludos,

Carlos Gallego

*** FWH-20.07, xHarbour 1.2.3 Build 20190603, Borland C++7.30, PellesC ***
User avatar
lucasdebeltran
Posts: 1303
Joined: Tue Jul 21, 2009 8:12 am
Contact:

Re: Enviando mensajes de WhatsApp

Post by lucasdebeltran »

Hola,

Este post puede ayudar:
http://www.securitybydefault.com/2012/0 ... mo-de.html

Explican las herramientas que podemos usar para ver qué contraseña se envía.
Muchas gracias. Many thanks.

Un saludo, Best regards,

Harbour 3.2.0dev, Borland C++ 5.82 y FWH 13.06 [producción]

Implementando MSVC 2010, FWH64 y ADO.

Abandonando uso xHarbour y SQLRDD.
User avatar
mastintin
Posts: 1502
Joined: Thu May 27, 2010 2:06 pm

Re: Enviando mensajes de WhatsApp

Post by mastintin »

Prototipo de sendImage.Falta probarlo ,para ello me falta mirar de donde saco cSize,cLink,y cb64thumb.
Saludos.

Code: Select all

METHOD SendImage( cMsgid, cTo, cPath,cSize,cLink,cB64thumb ) CLASS HB_WhatsApp
local cThumb_length:=  Chr( Len( cB64thumb ) )
local  cTo_length := Chr( Len( cTo ) )
local  cMsgid_length := Chr( Len( cMsgid ) )
local  cPath_length := Chr( Len( cPath ) )
local  cSize_length := Chr( Len( cSize ) )
local  cLink_length := Chr( Len( cLink ) )
local  cContent, cTotal_length ,cMsg
local cStream

cContent = Chr( 0xF8 ) + Chr( 0x08 ) + Chr( 0x5D ) + Chr( 0xA0 ) + Chr( 0xFA ) + Chr( 0xFC ) + cTo_length
cContent += cTo
cContent += Chr( 0x8A ) + Chr( 0xA2 ) + Chr( 0x1B ) + Chr( 0x43 ) + Chr( 0xFC ) + cMsgid_length
cContent += cMsgid
cContent +=  Chr( 0xF8 ) + Chr( 0x02 ) + Chr( 0xF8 ) + Chr( 0x04 ) + Chr( 0xBA ) + Chr( 0xBD ) + Chr( 0x4F) + ;
             Chr( 0xF8 ) + Chr( 0x01 ) + Chr( 0xF8 ) + Chr( 0x01 ) + Chr( 0x8C ) + Chr( 0xF8 ) + Chr( 0x0C )+;
             Chr( 0x5C ) + Chr( 0xBD ) + Chr( 0xB0 ) + Chr( 0xA2 ) + Chr( 0x44 ) + Chr( 0xFC ) + Chr( 0x04 )+;
             Chr( 0x66 ) + Chr( 0x69 ) + Chr( 0x6C ) + Chr( 0x65 ) + Chr( 0xFC ) + cPath_length
cContent += cPath
cContent += Chr( 0xFC ) + Chr( 0x04 ) + Chr( 0x73 ) + Chr( 0x69 ) + Chr( 0x7A ) + Chr( 0x65 ) + Chr( 0xFC )+ cSize_length
cContent += cSize
cContent += Chr( 0xA5 ) + Chr( 0xFC ) + cLink_length
cContent += cLink
cContent += Chr( 0xFD ) + Chr( 0 ) + cThumb_length
cContent += cB64thumb

cTotal_length = Chr( Len( cContent ) )

cMsg := cTotal_length + cContent
cStream := ::Send( cMsg )
::Read()

Return nil

 
User avatar
fgondi
Posts: 636
Joined: Fri Oct 07, 2005 6:58 am
Location: Palencia, España
Contact:

Re: Enviando mensajes de WhatsApp

Post by fgondi »

He realizado pruebas con xHarbour y con Harbour.
Enviando desde ambas aplicaciones con el mismo número de teléfono y WhatsApp y al destinatario.

Con Harbour funciona perfectamente. devolviendo en el print:
active
free
2012-03-24 23:43:25.000
2012-03-24 23:43:25.000

Con xHarbour no funciona. En el print no devuelve nada.
Un saludo
Fernando González Diez
ALSIS GHE Sistemas Informáticos
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Enviando mensajes de WhatsApp

Post by Antonio Linares »

Fernando,

En la versión más reciente de xHarbour no esta hb_base64decode().

No se si es que el make de tip.lib esta erróneo o que la han quitado...
regards, saludos

Antonio Linares
www.fivetechsoft.com
Post Reply