Debugueando la web de whatsapp

Iniciado por Breixo, 23 Junio 2015, 14:48 PM

0 Miembros y 1 Visitante están viendo este tema.

Breixo

Buenas tardes,

Estoy programando una extension para el chrome para la web de whatsapp, web.whatsapp.com.

El funcionamiento que busco es que la extension se conecte mediante jQuery a una api REST y reciba los datos del destinatario y el mensaje a enviar utilizando así la web de forma oficial.

Mediante la extensión(para el que no lo sepa se programa en javascript), consigo acceder al contacto, cargar el mensaje en el input(que es un div con contenteditable) utilizando algo así $(selector).html('Mensaje a enviar'),

Pero no consigo que se me muestre el botón de enviar, ya que este solo se me muestra cuando la web captura un determinado evento keydown, y ejecutar cierto js. Este js evidentemente está ofuscado, con lo cual no puedo debuguearlo.

He probado tratando de lanzar los eventos con jQuery mediante trigger, focus, keypress...
También lo he intentado con js puro al estilo:

var keyboardEvent = document.createEvent("KeyboardEvent");
keyboardEvent.initKeyEvent("keydown", true, true, document.defaultView, false, false, false, false, 13, 0);
doc.dispatchEvent(keyboardEvent);

Pero nada funciona...

El tema es que necesito ayuda para debuguear la web y conseguir mostrar el botón de enviar, una vez se muestra el botón es algo muy simple, con jQuery sería muy sencillo realizar click en el botón.

Si alguien consigue resolverlo podría recompensarlo, ya que es algo que me urge.

Saludos y gracias.

patilanz

Yo hice un spmmer que era un extensión de chrome que reescribía todo el objeto whatsapp donde estaban todas las funciones para el funcionamiento de la web. Al cambiar una parte de su código enviaba muchos mensajes. Luego perdí el código pero la idea te puede servir.

Breixo

Gracias por la respuesta.

Te refieres a la actual web de web.whatsapp.com?
A que objeto te refieres?, la web utiliza el framework http://facebook.github.io/react  y todo el código está ofuscado.

Saludos.

patilanz

#3
La parte mas importante esta aquí: https://web.whatsapp.com/app_fc1a3e82f3af3dcb06d4.js
Han puesto 4 veces que reservan sus derechos  :o
Son unas 61232 lineas pero fíjate solo en lo importante

http://jsbeautifier.org/ Tarda en copiar y pegar  ;D

La función de enviar el mensaje es esta:

Código (javascript) [Seleccionar]
           sendMessage: function(e) {
               if (e = "undefined" == typeof e ? "" : e.trim(), "" !== e) {
                   this._messageSent();
                   var t = this.id,
                       r = Wa.me,
                       n = new s({
                           id: Wa.createMsgKey(r, t, f.tag()),
                           body: e,
                           type: "chat",
                           t: Wa.now(),
                           from: r,
                           to: t,
                           local: !0,
                           ack: 0
                       });
                   Store.Msg.send(n), this.msgs.add(n)
               }
           },


Solo texto y luego si quieres saber que significa cada variable tienes que "debuguear"

Bueno y como todas las funciones están en una función anónima hace falta reescribir la función entera.

La web de skype funciona de forma parecida.

Breixo

 :laugh: Muchas gracias amigo, no se porque di por hecho que no se podía desofuscar, por eso tiraba por otro camino. Cuando pueda me pongo manos a la obra.