loqui / im

Loqui IM allows you to use all your chat accounts in just one FirefoxOS or Ubuntu Touch app.
https://loqui.im
304 stars 112 forks source link

Noise implementation #1230

Open TronFortyTwo opened 7 years ago

TronFortyTwo commented 7 years ago

To make Loqui continue working after S40 support drop we have to move to Noise protocol (https://noiseprotocol.org/). An already ready official implementation of it in Rust language is available, and can be implemented using Node.js.

hstarmans commented 7 years ago

can you provide more details!? suppose i have a telephone number and an activation code. how do i contact the whatsapp server!? how do i know this ”connection” is succesful!? ideally we have a small function which returns true if connection is succesful and false otherwise.

nfsprodriver commented 7 years ago

Useful information about whatsapp connection should be shown in the log. Maybe this is enough we can work with. The actual connection procedure should be shown as capital letters (like AUTH) .

nfsprodriver commented 7 years ago

BTW: We should post comments about noise into one issue. I'm going to make an order for this, because we actually have multiple issues about noise.

hstarmans commented 7 years ago

@nfsprodriver what do you mean with log!? I am just checking whatsapp on my iphone; it does not have a log. I have looked at the whatsapp documentation. This described what keys are sent over; it seems complicated. Noise is a group of protocols; you can use it to customize your communication; whatsapp uses something known as noise pipes. For reverse engineering communication protocols, tools are available like netzob. There are also virtual machines with tools installed for reverse engineering APK's. In particular, APK deguard sounds like a good tool but it does not support files over 16 mb.

hstarmans commented 7 years ago

Great; I have been able to get a deobfuscated APK of Whatsapp using a statistical analysis with APK deguard The results are here; It's looks more readable but haven't looked at it for a long time yet.

hstarmans commented 7 years ago

There is also another option; chat-api states in the docs it implements noise.

MaSteve commented 7 years ago

It doesn't work properly and there won't be any update.