
iMessage for Android - robbiet480
https://play.google.com/store/apps/details?id=com.huluwa.imessage
======
saurik
I believe that this application actually does connect to Apple's servers from
the phone, but it doesn't then interpret the protocol on the device. Instead,
it ferries the data to the third-party developer's server, parses everything
remotely, figures out what to do with the data, and sends everything back to
the client decoded along with responses to send back to Apple.

Doing it this way means that Apple can't just block them by IP address, it
avoids them having to distribute their "secret sauce" (understanding the
iMessage protocol is clearly very valuable), and it potentially allows them to
use actual Apple code on their servers (in case they haven't spent the time to
fully break the fairplay obfuscation that Apple is using for some of their
keys).

Here's what I'm seeing: every time I send it a message, I get a packet from
Apple, and then immediately the app sends a packet of almost exactly the same
size to 222.77.191.206 (which is listed in this application's APK as
"ServerIp"). It then gets back two packets from the Chinese server, the first
of which I'm presuming is the decoded result and the second packet being a
response to send Apple (as immediately a packet is sent back to Apple with
about the same size).

Additionally, if you read the reviews of this application, the author is
making some very weird responses to people with login issues: he's asking for
their Apple ID, as apparently that's enough for him to debug their issue. That
shouldn't be possible if the application is just directly talking to Apple the
entire time.

[edit: The more I stare at this, the more confident I am in this analysis;
specifically, the packets that are "about" and "almost exactly" the same size
are very deterministic: the packets to/from Apple are precisely 7 bytes larger
than the corresponding packets to/from the Chinese server.]

[edit: It also occurred to me to verify the other direction: in fact, if you
go to send a message, first the client sends something to the developer's
server, which then returns a packet which, along with again the exactly 7
extra bytes, is sent to Apple's server.]

~~~
philwelch
Not that this needs pointing out, but this also means the mysterious Chinese
server also gets to read all your iMessages. This is some kind of quasi-MITM,
and for that alone Apple would be in the right to block this kind of thing
from ever working.

~~~
levosmetalo
Why is it any worse than only Apple server reading all you messages? You trust
one third party with proven track record of spying on its customers, but
somehow you are upset that someone else also has access to you messages,
thought that someone didn't (yet) do anything wrong with them.

If you are American, you don't have to fear from Chinese espionage, and US
agencies already have your data. If you are European, it's more or less the
same. If you are from China, well, at least you can prove that you are not
doing anything behind the government back ;)

~~~
philwelch
People know who Apple is. Apple has a reputation. Sure they're compromised by
NSA, but every communications medium in the world is compromised by NSA.

I don't know who's running this server in China. But unless it's the NSA,
you're much worse off using this app than native iMessage, because now in
addition to NSA seeing everything, so does this guy--who has no reputation at
risk. Adding more eavesdroppers makes communications additively less secure.

How exactly do I have nothing to fear from the Chinese? At least the NSA is
unlikely to have any real interest in communications between Americans in
America because it's outside their mission, which is not true for Chinese or
Russian intelligence.

~~~
SideburnsOfDoom
> Sure they're compromised by NSA, but every communications medium in the
> world is compromised by NSA.

I do not think that this statement is accurate. The NSA has specifically
targeted the largest players.

Also: "encryption works. Properly implemented strong crypto systems are
reliable" \- Edward Snowden.

~~~
m0th87
Yes but you _do_ have to sacrifice quite a bit to be outside of the NSA's
realm of observability. Is iMessage securely encrypted? Wasn't the DEA caught
red-handed with a false memo claiming they couldn't MITM iMessage
communication?

~~~
SideburnsOfDoom
> Yes but you do have to sacrifice quite a bit to be outside of the NSA's
> realm of observability.

Very true. That's a consequence of the largest players in winner-take-all
markets being targeted.

------
antirez
This remembers me how an interoperability fiasco iMessage is. Just for the
interoperability issue many iOS users are slowly switching to Whatsapp: you
start using it to message your Android buddies at first, then eventually you
want to just use a single app... the limiting factor for iMessage to be
dismissed completely by some user is the fact that there is no way to message
iPad users from Whatsapp, something they should fix IMHO.

~~~
josteink
The most humorous thing I've seen about iMessage is how it's automatically opt
in, with no opt-out should you lose your device or switch to a new (Android)
phone.

Our head of IT switched from iPhone and got a new Android phone. Suddenly he
found that none of this Apple-using friends were messaging him anymore.

Actually they were, but Apple re-routed their SMSes through iMessage to a dead
Apple-account. Without telling anyone about it.

Until he discovered what happened (due to a very angry and ignored-feeling
Apple-using wife), he just assumed SMS was broken on Android.

iMessage really shows Apple at its core: So utterly self-centered that it's
unable to comprehend that it even _needs_ a interoperability story with the
rest of the world.

~~~
mannkind
You're kidding right? It's _trivial_ to turn off iMessage; it's _one_ toggle
switch in the settings.

On top of that I've had friends switch away from iPhone to Android; iOS
switched to using SMS not but a day later (and I know at least _some_ of them
didn't turn it off manually because their iPhone was broken).

~~~
josteink
_it 's one toggle switch in the settings._

If you know it needs to be done. If you still have the device.

According to our head of IT, he said if you _didn 't_ (as most people don't)
it gets a whole lot worse.

~~~
ssmoot
He's wrong. I just swapping my iPhone5 for a MotoX a couple weeks ago.
iMessage was definitely a pain since I left the (SIM-less) iPhone on at home
and my wife's messages went there since it was on the WiFi.

Turn the old phone off and problem solved.

iMessage specifically confirms delivery. That's why you occasionally get the
"Send as SMS" prompt if it can't go through for whatever reason.

If there's no device actively logged into iMessage, no attempt is made to send
through iMessage. You don't have to "deactivate" anything.

That said, when iOS7 came out, and I logged back into my iPad, and my wife on
her iPad Mini, and her iPhone 5, iMessage reenabled on all of them with my
phone number.

So that was a bit inconvenient.

That obviously wouldn't happen if you had reset and sold the device.

If you sold the device without a reset you have a lot more to worry about than
iMessage I think. Though a password change to your Apple ID, or managing the
associated phone numbers there should address the issue.

BTW, SMS on Android... wow. That's probably the shittiest thing about
switching. It's hard to appreciate how unreliable, low quality and all around
bad SMS/MMS is if you've been using iMessage for a few years.

Messages get split up over 140 characters. You can't forward vCards. MMS take
forever and you're lucky if you even get half the messages in a timely fashion
in-sequence. It's really truly awful.

~~~
os2baba
I haven't used straight SMS for many years now. I use Google Voice. But before
I started using Google Voice, I used to use Handcent SMS which does all of
that. Check it out if you are interested -
[https://play.google.com/store/apps/details?id=com.handcent.n...](https://play.google.com/store/apps/details?id=com.handcent.nextsms)

~~~
ssmoot
Thanks. I really want to keep my (10 year old) number. Transferring it to
Google Voice sounds a little scary. Is that unfounded? Is it really pretty
seamless? I want to cancel my contract and go to a prepaid plan anyways. Which
is apparently too difficult for AT&T to do over the phone without risk of
losing my number. :-/

So... I could go get a GoPhone plan with a new number. Transfer my existing
number to Google Voice. When the transfer is complete my old plan will be
cancelled, I can swap in the GoPhone SIM, add it's number to Google Voice as a
forwarding number, and I've got it all done with improved text/group-
messaging? Does that sound about right?

------
dcope
This is actually talking directly to the iMessage service. It's hitting
[https://service.ess.apple.com:443](https://service.ess.apple.com:443) (and
[https://service2.ess.apple.com:443](https://service2.ess.apple.com:443) when
authenticating) and not being proxied through any third-party servers. That
being said, it does look like the app reports basic analytics but nothing
sensitive.

This is truly impressive!

~~~
nwh
That's crazy. The protocol for iMessage is so complicated that I gave up very
quickly after getting IP banned many, many times, it's an incredibly sensitive
service to things like this. At the time I just wanted to be able to check if
an email address was iMessage-supported, but it required piles of signatures
and other authorisation.

It will get banned on Apple's end so quickly, but not before it's used to send
mountains of spam.

~~~
terhechte
Haha, same here. Instead I wrote an app that uses the iMessage Mac client to
insert a mail address into the to: field and check whether it supports
iMessage. And then I use pixelbuffer data to figure out whether the mail
address has the correct iMessage supported color in the ui. Works great, but
is a bit slow.

~~~
tobinharris
Haha, that's a great hack for checking if an email is an iMessage account. Can
you gist the code :)

------
aufreak3
At first, when I read the post's title, I thought _Apple_ had created iMessage
for Android and put it up on the Play store. Now, that would be a _really_ big
deal because that would mean that Apple _finally_ gets that communication is
between people and not one family of computers. The current Apple attitude to
communication and sharing (like PhotoStream) is akin to a telco saying you can
only call other users on their network, or Google saying you can only send and
receive emails from other gmail users. Apple finally getting communication
would be a really big deal.

I saw, to my great disappointment, that the program was not Apple's.

------
jessedhillon
Somewhat unrelated -- SMS seriously needs to die.

Any phone carrier call center employee can check your inbox, supposedly that's
an audited procedure but having worked in a call center I would tell you that
I'd believe that nobody's watching anything. Just like email, SMS is a poor
protocol/medium that has been contorted to doing way more than anyone ever
intended originally.

But there is definitely a need for a commodity, cross-platform secure
messaging protocol that can be implemented by anyone. It hardly seems like
there's anyone incentivized to do that though -- why would Apple, for example,
want to ferry traffic to/from non Apple phones. And why would they want to
step aside and let someone else replace their seamless, secure-ish messaging
experience with something else? None of the other messaging apps can achieve
the level of integration with the rest of the phone that iMessage can.

The mere facts that iMessage is a) so good (integrated so well into the OS by
way of unfair advantage) and b) closed, are probably sufficient to make sure
that there won't ever be a common, secure messaging platform. It couldn't
penetrate far enough into the iOS user base even if every Android user
installed it.

~~~
josho
I agree. But, the carriers love charging for text messaging bundles, so I
can't imagine them pushing for something else, unless its equally as bad like
MMS. So we are left with this crappy state of fragmented and proprietary
messaging systems.

We even have standard messaging protocols (XMPP), so it is not a technical
hurdle. Merely there is no business opportunity to commoditize messaging, so
it hasn't happened.

------
lawnchair_larry
The prejudice here is amazing. Has no one here ever made a free app? Has
anyone heard of Linux? Is it possible that out of all the people in China, at
least one talented developer just thought that this would be a fun project
that they could contribute?

I still don't recommend allowing your conversation to be MITM'd, but the
assertions that China = steal your password and charge your CC are a bit
crazy. Propaganda works I see!

~~~
untog
No.

 _but the assertions that China = steal your password and charge your CC are a
bit crazy._

The assertion that sending the password for an account tied to your credit
card to a completely unknown recipient is a bad idea... is not crazy in the
least. And has nothing to do with it being in China.

------
aaronpk
This is going to get shut down _so fast_ from Apple, which is kind of sad
given the amount of work that must have gone into this!

~~~
msoad
Not necessarily. There is many Airplay apps that are working for ages. Maybe
they have to rename their app.

~~~
mmcconnell1618
If Apple wants it gone they have a legal staff that can make life hell for the
app author. My guess is the 'iMessage' name and icon design are enough for a
takedown order.

~~~
os2baba
In China? Good luck with that.

------
anologwintermut
Does this mean someone actually RE'd the entire iMessage cryptographic
protocol. I know of several people who have wanted to analyze it.

If so, if they or someone could put up the source or even a protocol spec,
that would be amazing.

~~~
w1ntermute
I'm sure someone will download the APK and decompile it. Hopefully the source
hasn't been obfuscated.

~~~
mdp
It looks a bit obfuscated, but there might be some useful finds. I'm going
through it and looking for hardcoded strings that might not be in the resource
files.

I posted the APKTool output on Github for anyone that wants a quick look -
[https://github.com/mdp/iMessageChatDecompile](https://github.com/mdp/iMessageChatDecompile)

~~~
vikas0380
if someone can reverse-engineered the protocol,then it is not very much
difficult to reverse-engineered the obfuscated apk.

------
37prime
Sounds great, but I’m still worried because this App might hijack the Apple ID
and password. If I remember it correctly, Apple does not publish their Apple
ID API outside of iOS SDK.

~~~
kennywinker
They don't even publish the Apple ID API inside the iOS SDK. There is no way
to directly use Apple ID as a form of identification. Only 2nd-hand ways, like
GameCenter, and iCloud.

~~~
37prime
That's what I meant, through Game Center and iCloud.

------
matthew-wegner
As a hackintosh user, I hope the blast radius on Apple's response doesn't kill
iMessage here too...

------
buzzedword
Has anybody else here forgotten you're passing on your Apple ID and password
here in cleartext? There's a lot of information you can grab with that, and
let's just assume that this guy also puts an app out for IOS-- and buys it
with your account.

Seriously? Not to mention all the data that can be mined from your associated
messages. And for argument's sake, since, again the passwords are in
cleartext, let's just say that a small percentage of users also use the same
email and password for their Facebook or their Gmail (or whatever else email
they have) -- let's just brute force some bank accounts, send a forgot
password request, then scour their facebook for the security question.
Nightmare scenario, but considering you're passing some random guy in china
all this information, not entirely infeasible.

------
nl
Funny how a small app like that can destroy all the hopes a multi-billion
dollar company like Blackberry put in their _stay relevant by rolling out BB
Messenger to iOS and Android_ plan.

Assuming Apple doesn't kill it of course... There are some good reasons why
Apple shouldn't kill it (network effect work both ways) but who knows what
they will do.

~~~
WildUtah
Apple can just pull this off Google Play and then also reject BB Messenger
from iTunes App Store. Boom. Victory through lawyering with no technical work
whatsoever. Two competitors down.

~~~
biafra
How could Apple convince Google to pull this from the Play Store?

~~~
blumkvist
C&D because of trademark infringement.

~~~
WildUtah
Yes. Also because the computer crime laws are vague about unauthorized access
and Google isn't interested in subjecting itself to test cases.

------
NamTaf
Is this actually running on Apple's iMessage protocol or is it just
duplicating/imitating it? That is to say, if you 'iMessage' to an Apple
device, does it come up as an iMessage on that device?

~~~
robbiet480
It did when I tried with my roommate. He even sent me a picture.

------
huluwateam
hi everybody,i am android message developer.

~~~
otterley
Hi, thanks for joining! Some questions:

1) It appears that the iMessage responses received from Apple's servers are
forwarded as-is to a remote server for decoding and decryption. Is this
correct? If so, why isn't this process performed in the application itself?

2) Now that you've clearly reverse-engineered the iMessage protocol, will you
be publishing it so that others can benefit from interoperability? If not, why
not?

------
ChikkaChiChi
Fellow Americans, take your snakeskin boots off your redwood desk, adjust the
brim of your stetson hat, and shift the piece of grass you are chewing to the
other side of your mouth; what I'm about to say is important:

Classifying and stereotyping (even in a passive-agressive sense) is a relic of
the past you need to get over.

------
tuananh
I don't dare to try an app like this!

Good work on reverse engineering the protocol though.

------
kapitalx
Direct link to the APK since it was taken down from play store:
[http://www.huluwa.org/imessage/download/platfrom/android/iMe...](http://www.huluwa.org/imessage/download/platfrom/android/iMessage_1.2.3.apk)

~~~
sonier
Any idea why it was taken down?

------
unknownian
It would definitely seem less shady if the dev didn't copy iOS UI and icons.
Still I downloaded it and hope to test it.

------
zarify
Regardless of whether it'll disappear from the Play store quickly or not this
is kinda cool. Hopefully it means there'll be a FOSS implementation of this at
some point and we can get other Linuxy stuff talking to iDevices.

(If there already is one I'd love to be pointed at it, I've done some
searching previously trying to get a nice solution for getting scripts at home
communicating with me - I eventually settled on using push notifications with
Prowl [http://www.prowlapp.com/](http://www.prowlapp.com/))

------
habosa
This is really awesome. They should release the method, although obviously
there is some value in their not doing so. I'm sure Apple will change the
iMessage endpoint to kill this, but that's a cat-and-mouse game they'll lose
with the dev community in the long run. If this is a true reverse engineering
of the iMessage protocol, this will be very hard to shut down.

------
jjcall
I would love to know how they pulled this off.

~~~
plantain
Presumably it's Java. Disassembly is quite easy and can even produce quite
readable source.

~~~
moinnadeem
Obfuscated code, auto-downloads APKs, presumably to 'self update' but no one
is sure.

Use it with a demo account.

------
consultutah
Sadly this will probably be shut down by morning since it didn't come from
Apple. What Apple should, but won't do, is buy it and release it for free
themselves. But then Apple would have to admit that there just might be
another AppStore in the universe and their reality distortion field might show
a small dent.

~~~
esusatyo
Remember this is Play Store not App Store. Apple can not pull anything out of
the Play Store.

What they can do is to shut off the backend because they probably don't have
rights to use it anyway.

~~~
tomflack
They don't need to pull anything, just have their lawyers tell Google's
lawyers that their iMessage trademark is being infringed. Gone.

------
dariusm5
I'm afraid to install this. Does it actually work or is it another common fake
app found on the Play store?

~~~
robbiet480
It's working for me. Sending and receiving messages and pictures. Receiving
them faster then Messages for Mac is even!

~~~
esusatyo
Does it actually register as an iMessage? I wonder how they pulled it off.

------
eonil
Before of all, using of the trademark _iMessage_ is enough to get lawsuit from
Apple lawyers.

Also, it's sure that they are intentionally copying Apple's copyrighted
material.

------
Sektor
Anyone manage to sign into the app? I just get 'Password or Apple ID error'
with a Chinese 'OK' button

~~~
Sektor
the app only supports passwords up to 16 characters in length and mine was ...
a lot longer.

~~~
ttflee
Is 16 characters exactly the length of a whole block of AES 128 input?

------
cupcake-unicorn
I'm not familiar enough with Apple products, iOS, iMessage, etc. to understand
why this is such an impressive feat. Can someone fill me in on why this is so
amazing? It's a closed protocol I guess, but if this guy could pull this
together under the radar like this how hasn't it been done before?

~~~
unistdh
Amazing because the iMessage protocol is surprisingly complicated and seemed
to be almost unintelligible to anyone outside of Apple:

[http://imfreedom.org/wiki/IMessage](http://imfreedom.org/wiki/IMessage)

------
munimkazia
This is blowing up all over the internet right now.. It is pretty amazing that
there is an app like this which works, but it is even more surprising that
this has been around for a bit, and it flew relatively under the radar.

I just tried it out myself, and my boss who uses an iPhone is in total shock.

------
pouzy
Has Apple already striked ? "We're sorry, the requested URL was not found on
this server."

------
ajays
Here's a tin-foil-hat needing random theory of the day: Apple gave keys (and
protocol) to decode iMessages to PRC Government, in return for being allowed
to sell iPhones in China. Somehow they leaked, and now someone in China is
offering this service.

(adjusts tin-foil lined colander on head)

------
moystard
Even though the technical achievement is really impressive, the iOS6 design
just looks out of place. It simply does not look right, it's a shame that
implementing an iOS service led them to implement an iOS design, I would
rather prefer a well integrated Android experience.

------
so898
So, the magic of some Chinese companies which been used to send advertisement
finally be public. Will there be more iMessage advertisements after this?
Maybe it is time for Apple to change their iMessage protocol.

------
k-mcgrady
This will surely be pulled very quickly. For a start it's using the name
iMessage. Secondly this is a big selling point for iDevices. Apple gets no
benefit from it being available on other platforms.

------
jasonlotito
Does this screw up the ordering of messages just like iMessages? Does it make
you apart of the same conversation multiple times, so that when you send a
message, you get your own reply?

------
dubrocks
Insane. They even have a way to create an Apple ID in the app!

------
NKCSS
I hope the protocol specs leak soon... would be nice to write a Windows Phone
client that can do iMessage; kik messenger sucks and whatsapp is buggy :-/

------
ddon
just tested it with my account, and it works! even sending and receiving
images works... very impressive :) let's see how long will it work :)

------
riobard
This explained all the iMessage spam…

------
zane03
They're dev website is unavailable which makes me question the stability of
this... HA

------
mmvvaa
Looks like someone inside the Blackberry deal, trying to demonstrate how
irrelevant BBM is.

------
ozh
I'm on Android and I think the last thing I want to install is an iSomething.

------
mrmondo
Now all they have to do to get people to use it is create a QR code for it ;)

------
hamdullahshah
Noooo, what if the Chinese server is hacked by someone.

------
BigBalli
already got pulled.

------
asenna
How has this been up for 10 days?

------
l33tfr4gg3r
One less reason to buy an iDevice, at least until Apple issues the inevitable
takedown, Cease-and-Desist, iSueYou, etc.

------
jthomp
Can confirm that it works here.

------
eugeneross
Look at them one star ratings.

------
pocketstar
can someone post a mirror, looks like it has already been taken down.

~~~
WaterSponge
[http://www.huluwa.org/imessage/download.html](http://www.huluwa.org/imessage/download.html)

------
plg
at what point does Apple deploy their lawyers

------
Xelom
First screenshot. Cancle.

------
supadupafly
It is such a shame and pity that it comes from China. It killed all of the
buzz for me in an instant. I have nothing against Chinese people, but an app
that has done something never done before with Chinglish in it - nope.

~~~
chid
Those can be easily fixed with a translator.

~~~
darth_static
It's not the use of the characters per se, it's the fact that this app came
from a country with a history of state-sponsored hacking and censorship.

~~~
chenster
Heard of NSA? You bias stereotype peeps.

~~~
supadupafly
Oh god... Where do you hide a tree? In the woods.

Everybody is talking about high level conspiracies regarding NSA, overseas
intelligence agencies and whatsoever.

But the real concern should be about simply getting scammed! Of course our(end
user) data is not safe, it was not _designed_ from the very start to be so. I
have no problem with NSA and Apple reading my messages because I am sure that
they won't use the credit card linked to my account without my consent.

This... thing is a bit different. It is run by a third party provider
somewhere outside of European and American jurisdictions. My concern is that
if this app was created by Europeans or Americans, I would trust it my
password and account, because I would have a tiny fraction of luck in case my
account gets compromised and I loose money. There would be a possibility of an
investigation, a court and a punishment. This, my friends, is a bit different
scenario. If people get their accounts compromised and money gets stolen,
Apple is not going to do a thing about it for two simple reasons: 1) Who wants
to argue with China? What is the chance of even finding the physical location
of the server all the data gets relayed back to? 2) Apple never authorised the
use of third party apps.

This is my concern about China, nothing else. I would love to use this app for
my every day needs, I would even pay for it! But the chance of my account
being _stolen_ with no possible outcome positive for me just rustles my
jimmies.

~~~
Gigablah
> My concern is that if this app was created by Europeans or Americans, I
> would trust it my password and account, because I would have a tiny fraction
> of luck in case my account gets compromised and I loose money. There would
> be a possibility of an investigation, a court and a punishment

There's also the _possibility_ of an investigation, court case and punishment
in China.

And I wager the chances of you getting any money back in either case is about
the same.

