Hi guys:

i've met a big problem. a friend of mine opened a consulting firm, and lots of his clients were asking for the statistics of iMessage users in my country (which is legal). he knew little about computers so he turned to me for help, and i promised to make a tool for him querying numbers' iMessage availability. now i can do the check on iOS using some private functions from ChatKit or IMCore, and the result is accurate, but after about 2k queries, the server will respond "query limit reached" no matter if i respring or switch apple id, which i think is because the server can recognize me via some hardware identity. and yesterday i happened to capture the packages during activation after restore, and found my apple serial number was sent to the server and there were some certificates and tokens in the response. i guess this is how the server judges if it's me, if i can spoof this information, the query limit will be gone, but for me this task is too hard to reverse. i've also read this IMessage - IMWiki, but i'm not familiar with network protocols yet, so i still can't figure it out. one of the authors of the protocol documentation suggested me talk to you hackintosh guys, because you've already done what i wanna do on non-apple devices. so, any idea? thanks for your help!

best regards, Yinglu