![]() |
Re: [WIP] Porting Whatsapp to Meego/Maemo (N9, N900)
Quote:
After all are you not doing the same thing here? Couldnt I simply ask you what are your real intentions and what is it YOU really want. I am not sitting here doubting your intentions of making an app or going through whatsapp records judging if what you are doing is something they approve or want am I? Thank you :) |
Re: [WIP] Porting Whatsapp to Meego/Maemo (N9, N900)
Touche
Anyways I am not here to fight, I am here to seek knowledge. I am still looking for help, if there are any developers here that are willing to share information everyone should be entitled to please let me know. I still stand by my question Thank you. |
Re: [WIP] Porting Whatsapp to Meego/Maemo (N9, N900)
Dude, unfortunately you've killed all the knowledge sharing here. The others don't want to share info here anymore because they're worried you (or others) will misuse it.
With a system as secure as Whatsapp (LOL?) announcing things are no longer a good idea. As for getting Whatsapp to fix something, you notify them, give them a deadline, then release (fixed or not). POC is also not a bad idea. Releasing it isn't a great idea. I don't want MY Whatsapp account abused. |
Re: [WIP] Porting Whatsapp to Meego/Maemo (N9, N900)
Quote:
I don't want my whatsapp account abused either and I would like to know what is possible. I mean you guys already know how secure and not secure whatsapp is. If I didnt ask the question someone else would have. Anyways I am not here to fight, I am here to learn. If I have offended anyone I am sorry. I was just given some really rude responses earlier. I hope we can go back to the original topic. ps whoever is is text bombing my email grow up real mature |
Re: [WIP] Porting Whatsapp to Meego/Maemo (N9, N900)
Apologies about the random 3 digit code... I'm now receiving different three digit codes on the same number, once it is used.
Anyway, this is where I'm at... Code:
Checking if account exists... |
Re: [WIP] Porting Whatsapp to Meego/Maemo (N9, N900)
Hello, i have read the article about installing of whatsapp on n900, but unfortunetly i have found it so hard to understand the process since it is too much complicated, if anybody can please upload a tutorial containing a step by step procedure on have to install the whatspp including the decompilation process. i have previously fixed the whatspp on my n900 when the nitroid was installed, so i have user, the password, and the account was previsouly registered. any help please :)
|
Re: [WIP] Porting Whatsapp to Meego/Maemo (N9, N900)
@OUSSAMA TAWIL
Have you read anything in this thread? Please go be ignorant somewhere else :-) |
Re: [WIP] Porting Whatsapp to Meego/Maemo (N9, N900)
The next one who writes "tutorial" or "step by step" is neut*red by me, personally.
|
Re: [WIP] Porting Whatsapp to Meego/Maemo (N9, N900)
Quote:
Everything going on in this thread is some deveolper-talk on what is possible and the slow progress of programming such a client ;) The only way to use WhatsApp on the N900 at the moment is via nitdroid. Because of the fact that there isn't a How-To is just that it isn't possible at the moment ;) |
Re: [WIP] Porting Whatsapp to Meego/Maemo (N9, N900)
Since the registration can be done on web, and the login worked. It is only about time to create a client.
I will start shorty on creating a client on a windows (exe) as soon as I finish the implementing the protocol and the rest would only be GUI. And since you cant get the registration code, then so far, you cant hijack a whatsapp account, and as long as the new whatsapp versions do not calculate the password by md5 of the inverse (which is tried on my account, using my imei, still my client produces a different password than that on my mobile) then you cant also hack someones account by simply knowing their IMEI. I dont see danger for misuse, specially because the ppl on this forum at least who r interesting in abusing whatsapp for lame reasons are not qualified enough to do anything about it. What we are doing here, what I looked for months ago, was a desktop whatsapp client that did not exist. And not it can be done. I am trying to make whatsapp work exactly as it does on iPad for example where there is not SIM card. Anyway, tgalal is doing a good job fixing the errors caused by the decompiling process which will save time and effort for anyone who is trying to create a client or help in the project. Shame on whatsapps developers to be so careless about their users privacy, still it is a good app. |
Re: [WIP] Porting Whatsapp to Meego/Maemo (N9, N900)
Originally Posted by ColaCheater View Post
Great to see that somebody is working on WhatsApp for the Nokia N900. A few weeks ago I also tried to look a little bit into WhatsApp but had to give up because of my final exams at school. I used the Symbian S40 Client and decompiled the .jar you can find via google to look a little bit into it. I'm not a programmer but had done some "Hello World" stuff on Java before so I tried to understand a little bit what is going on in the Client. (In the following work I always pretended to be an Nokia C3-00 just that you know when it appears i.e. in the User-Agent) I don't know if it's helpful for you but I will try to share the things I found out by looking into the code even though I can't gurantee they are right: The first thing is the login-Name and the password needed to login: Matching with reports from some other threads here and in other forums the login name I found was some sort of: Code: international area code without the 0's or + in the beginning + phone number without the first 0 + @s.whatsapp.net For example if you live in germany and having the phone number 017612345 it would be 4917612345@s.whatsapp.net -> 0049 for germany without the 0's and the phone number without the 0. The Password is set during the registration process but usually it is an transformation of the IMEI of your phone (in case you don't want to stand out you should also do it like this). I must admit I don't exactly know how this transormation works but I have the code that does it. I just wrapped it _very dirty_ in a standalone Java program to test it. source: http://pastebin.com/npbwcj1s I really don't know what it exactly does and didn't look deeper into it but it isn't a "real" md5 I think... (Maybe someone who knows how to create an MD5 in Java can look at it what is different except the reverse of the imei?) The second thing I searched for is the registration process. With this I got so far that I got an Registration-Code and I also get the response from the Server that the account exists but I can't login because I hadn't enough time to look excatly at the login process. Just logging in via XAMPP in Pidgin doesn't work expectedly The registration process works this way: (no gurantee that it is right and don't try it with your "real" number. I tried it with an old SIM I had lying around) 0) All these API-Request are done with an User-Agent like: Code: WhatsApp/2.1.0 S40Version/04.60 Device/nokiac3-00 The Code generating this is: http://pastebin.com/K79wrfnS I used information I found in the web to fill the information for the Nokia C3-00. As said by the pw: I don't think you really have to fake it to look like this but it maybe makes it harder to find you. 1) The first step ist requesting the Registration-code from the Server (the Code you get i.e. via SMS) The API-call looks like this: Code: https://r.whatsapp.net/v1/code.php?c...000&method=sms The Arguments are as following: cc = area code without 0's in = number without first 0 to = number where the sms or call should go to (maybe security weakness?) lc/lg = Language-Code(?) splittet up - e.g. DE_de goes to lc=DE&lg=de US_en would be lc=US&lg=en mcc/mnc/imsi = Should be the "Mobile Country Code", "Mobile Network Code" and the "Mobile Subscriber Identification Number" -> I don't know how to get to them and the App has as "fallback" just the 0's in it when the system-request for them fails so it should work with the 0's (and it does) The metod is maybe the most interesting thing. There are 3 methods: self, sms and voice When choosing sms you get the Code via SMS as you may know it, choosing voice you get a call at the to-number where it reads the code (I didn't test but it would match with informations you find at some other places in the web). I don't know what self exactly does and I didn't really looked for it because the SMS-Way seemed the best for me, especally because I just wanted to know my Code :> The Answer after calling the API is an xml saying: Code: <code><response status="sucess-sent" result="30"></code> What error-Messages look like I don't know because it worked for me (and I just looked into the code again and I didn't find any code that works with an specific error, it just closes the App when an error occurs if I'm right) ^^ Also you should get an sms (in case you used the method sms) at the "to" number conatining the WhatsApp-Code which looks like this: Code: WhatsApp code abc abc is the necessary Code 2) With the given code you can then register your Whatsapp-Account API-Call: Code: https://r.whatsapp.net/v1/register.p...=asdf&code=abc cc/in = the same as in code.php udid = the calculated password as explained in the login-data code = the just recieved WhatsApp-Code The XML response looks like: Code: <register> <response status="ok" login="4917612345" result="new" /> </register> The login-value is your login-Name for the connection and built like explained. I think that there are error-messages when the account already exists etc. but as said: I didn't have more time and It worked ^^ 3) As third API-call you can check if an accounts exists. This isn't necessary for registration I think. API-call: Code: https://r.whatsapp.net/v1/exist.php?...2345&udid=asdf Parameters are the same like above. Resonse when account with this number and pw exists: Code: <exist><response status="ok" result="4917612345" /></exist> The result again gives the login-name for this account. I did some tests with this and even though I didn't save the exact answers I found out that it just checks if the account with the given number and the given pw exisists. You can't check if another numer has an WhatsApp-Account with this API-call. (or I just was to stupid to find out how to do this) The last thing I searced for before studing for my exams was the server connection. It Baisicly is - as said everywhere - an XAMPP Connection. At least it looks like. I think there are some small differences between the default XAMPP and the way WhatsApp does it. But nevertheless the URL I found to where it tries to connect is: Code: socket://bin-short.whatsapp.net:5222 When connecting to the URL with Pidgin and default XAMPP it also gets an connection but the connection gets closed by the server after sending the xml and xampp information. When I connected to a "default" XAMPP server after these two "sendings" the Client gets an response from the Server. WhatsApp instead sends the Auth directly after the features so I think the Server quits the connection because Pidgin is waiting for Information and the Server also is waiting for information. The Login-Process in the WhatsApp-Code looks like: Code: out.streamStart(connection.domain, connection.resource); System.err.println("sent stream start"); sendFeatures(); System.err.println("sent features"); sendAuth(); System.err.println("sent auth"); in.streamStart(); System.err.println("read stream start"); String challengeData = readFeaturesAndChallenge(); System.err.println("read features and challenge"); sendResponse(challengeData); System.err.println("sent response"); readSuccess(); Because WhatsApp uses a "default" XAMPP-Libary which is just modified and the default functions are still there I think the default Login-Process of XAMPP looks like: Code: send1(); send2DigestMD5Mechanism(); read1(); String challenge = read2Challenge(); send2SASLResponse(challenge); send2UselessResponse(); read2Challenge(); read2(); send3(); read3(); send4(); send5(); -> as said, after the send1 and 2 (which are doing baisicly the same as the streamStart and sentFeatures in the WhatsApp-Version) it waits for information instead of sending the Auth. Here I stopped working on it because of the exams. I think it should be not too difficult to make a login work when completely re-writing the Original functions. Just as orientation the whole (sub)class of the WhatsApp-Login: http://pastebin.com/X8gv2XRU Thats all I did up to now (or more exactly before my exams). I would really like to see somebody working on this and making it work on the N900. At first I wanted to look at it again after the exams but eventhough I finished my exams two weeks ago I didn't found the time to work on this and because I'm not a programmer it also would take at least a _very_ long time to work, if it would work at all If some beta-testers are searched for the programm I would really like to test it from a hobby-programmer or more non-programmer point of view PS: Eventhough I personally don't like it when people ask for forgiveness for their bad english I would like to do the same right now I'm from Germany and not really good in languages. I really hope my text ist readable and you understand what I wanted to say with it ^^ (if you don't understand something feel free to ask what it was meant to say ) |
Re: [WIP] Porting Whatsapp to Meego/Maemo (N9, N900)
Quote:
I'm mostly working with the most recent version of Whatsapp, on the most recent version of Android. User-Agent: WhatsApp/2.7.3581 Android/4.0.2 Device/samsung-Galaxy_Nexus Quote:
P.S. Whatsapp does use the standard MD5 algorithm. in java, you should be able use String.reverse() then MessageDigest.getInstance("MD5") to get the password. |
Re: [WIP] Porting Whatsapp to Meego/Maemo (N9, N900)
Quote:
May you can tell us whats wrong in the descibred way? |
Re: [WIP] Porting Whatsapp to Meego/Maemo (N9, N900)
Any updates guys?
|
Re: [WIP] Porting Whatsapp to Meego/Maemo (N9, N900)
Quote:
|
Re: [WIP] Porting Whatsapp to Meego/Maemo (N9, N900)
Quote:
|
Re: [WIP] Porting Whatsapp to Meego/Maemo (N9, N900)
Quote:
|
Re: [WIP] Porting Whatsapp to Meego/Maemo (N9, N900)
Quote:
|
Re: [WIP] Porting Whatsapp to Meego/Maemo (N9, N900)
when whatsapp will be available for ordinary people like me?
|
Re: [WIP] Porting Whatsapp to Meego/Maemo (N9, N900)
It already is, if you are so dependent on it. Just not for Maemo (yet). By the way: patience is a (lost?) virtue.
|
Re: [WIP] Porting Whatsapp to Meego/Maemo (N9, N900)
Have any of you guys read the XMPP RFC? Just curious about your level of expertise with XMPP.
I've read the most important chapters in the XMPP book - and MD5 digest is the standard way of authenticating - but it's being deprecated. |
Re: [WIP] Porting Whatsapp to Meego/Maemo (N9, N900)
It's quite interesting. Great work guys. But I would only use whatsapp if I can register and use it with a false phone number. I won't ever give my phone number to whatsapp inc. His privacy politics are unacceptable for me.
I have read just last 5 pages, and hope not to make an answered question... Do you think would it be possible to register with for example 000 000 000 number (or wichever not existing mobile number in my country) and never give my real number to whatsapp inc? |
Re: [WIP] Porting Whatsapp to Meego/Maemo (N9, N900)
Quote:
|
Re: [WIP] Porting Whatsapp to Meego/Maemo (N9, N900)
any new update guys?
|
Re: [WIP] Porting Whatsapp to Meego/Maemo (N9, N900)
Some info for you guys doing the dev work - while reading the book one thing was bugging me from the very first chapter and it didn't cover it until it was near the end.
That was power management - since the XMPP is a long lived TCP session which pretty much never expires it's just going to kill the battery, but clearly it doesn’t otherwise it would not have been used. This power management feature is achieved by something called BOSH, this is where instead of the client keeping the TCP session alive a proxy sits between the client and the server the BOSH Connection Manager (BOSH CM) server keeps the session alive. The client then communicates with the BOSH CM by simple HTTP requests. The client is assigned a session id for this by the BOSH CM. I’m guessing you guys may have seen something similar – if not it may help you debug some of this stuff. |
Re: [WIP] Porting Whatsapp to Meego/Maemo (N9, N900)
Quote:
|
Re: [WIP] Porting Whatsapp to Meego/Maemo (N9, N900)
Quote:
|
Re: [WIP] Porting Whatsapp to Meego/Maemo (N9, N900)
1 Attachment(s)
Updates: Conversation demo snapshot ;)
|
Re: [WIP] Porting Whatsapp to Meego/Maemo (N9, N900)
Quote:
Well done, What you have done is really great. Can you please share the login code with me Are you communicating to their xmpp server using normal XML or using binary data? |
Re: [WIP] Porting Whatsapp to Meego/Maemo (N9, N900)
Is success finally within reach?
|
Re: [WIP] Porting Whatsapp to Meego/Maemo (N9, N900)
nice to see a working demo client, just a question from the noob side, how much time will it take to develop a formal client for N9-N900?
|
Re: [WIP] Porting Whatsapp to Meego/Maemo (N9, N900)
Quote:
As for communication with the server, XML stanzas are binary encoded before being sent, and received data are decoded into XML stanzas. Quote:
Quote:
|
Re: [WIP] Porting Whatsapp to Meego/Maemo (N9, N900)
Quote:
|
Re: [WIP] Porting Whatsapp to Meego/Maemo (N9, N900)
Quote:
|
Re: [WIP] Porting Whatsapp to Meego/Maemo (N9, N900)
Quote:
|
Re: [WIP] Porting Whatsapp to Meego/Maemo (N9, N900)
nice! is there any challenge at the login (how are we going to login, with what password)??
|
Re: [WIP] Porting Whatsapp to Meego/Maemo (N9, N900)
looking forward to have this!
|
Re: [WIP] Porting Whatsapp to Meego/Maemo (N9, N900)
Quote:
Are you sure it's not just GZIP compression? BTW - impressed with the client, it looks basic, but impressive non-the-less. EDIT:: Google talk video calling is also available on the ovi store. |
Re: [WIP] Porting Whatsapp to Meego/Maemo (N9, N900)
tgalal, I might just buy a ticket to Egipt and kiss you! :D
|
Re: [WIP] Porting Whatsapp to Meego/Maemo (N9, N900)
Will this end as a proper Pidgin or IM plugin, or do we go the Android/iOS route with individual "apps" for every function/service? (not that i will use it, just curious if there's a change in approach for Maemo)
|
All times are GMT. The time now is 23:02. |
vBulletin® Version 3.8.8