View Single Post
Posts: 246 | Thanked: 2,574 times | Joined on Jan 2010 @ Egypt, Cairo
#25
Updates:

I'm putting much dedication into this and hopefully will come out with something good soon.

I managed to compile FunXMPP.java in the decompiled version of whatsapp which greatly helped in tracing and understanding the code. I'm creating the app using python and BIG THANKS to the very informative guide posted by ColaCheater. I created the 3 functions concerned with registration (obtaining reg code from server, registering the whatsapp account, and checking account existence). That was easy to implement.

And then moving on to login, things turned out a bit complex, I rewrote the whatsapp login functions in python:

Code:
out.streamStart(connection.domain, connection.resource);  sendFeatures();
sendAuth();
in.streamStart();
String challengeData = readFeaturesAndChallenge(); sendResponse(challengeData);
readSuccess();
which is working great and I'm able to login now.

An interesting thing to point out too is that when I looked at the whatsapp logs stored on my phone (the original whatsapp and not the one I'm creating), the data appears to have been logged from python code! There are traces of Whatsapp.py, xmpp.py, chat.py and others:
Code:
00:00:05.005000 : appviews.py(1017) : chats/relative-times-update
00:00:12.663375 : chat.py(918) : chat/send-delivery-report
But there is also:
Code:
00:00:53.689500 : python_appui.cpp(807) : HandleForegroundEventL - aForeground: 0
which suggests that whatsapp for S60 3rd edition, 5th edition, Symbian^3 and Symbian Anna is written mainly in python (not Symbian C++ as many believed), and only embedded in a Symbian C++ code. This guide explains how to do that.

That's all for now, more to come soon (I hope )
 

The Following 15 Users Say Thank You to tgalal For This Useful Post: