My secret project (or, How to run mxit on your PC)

So some of you may know that I've been working on a secret project recently. Some of you may even know what it is. The good news is that I'm done with the basic initial version and it's good enough to use now.

So what is it, you ask? I've been working on and off for the past two weeks on writing a mxit client for the pc. I've been undecided about whether I should make a post about this, because I'm not entirely sure how good an idea it is, but after some thought I figured I'd go ahead and do it anyways.

The problem was that mxit doesnt run on my cellphone. So I tracked down a cellphone emulator that could run the program, and that works, except the interface is designed for a cellphone, so using it on the pc really sucks. So I decided to write my own pc client that is hopefully more user-friendly.

I've got a few screenshots too:
The login screen
The register screen
The contact list
The chat window

Its pretty basic - there are no smileys, and no sounds, altho I'll probably get around to adding those in at some stage, but chatting works, and thats the important thing.

So, do you want to chat on mxit from your pc also? Before you do, there are a few important things to be aware of.
Firstly, I will not be liable for *anything* that may happen as a result of using this program. If it breaks or messes up your account or anything of the sort, tough luck. However, I use it to chat on mxit and it hasn't done anything it shouldnt yet.
Secondly, I will not provide active support for it either - if you have issues with it, you can post a reply here, or send me an email with a subject line that starts with the word 'mxnot' and I *may* respond.
Thirdly, this program is based on mxit3, not the recently released mxit5, so some features that you may be used to may not be here yet.
Basically, the message I am trying to convey here is that you use it entirely at your own risk.
There are other ways of chatting on mxit from your pc, like using a cellphone emulator and running the original client from mxit. That way you know you're running whatever the mxit team releases so its probably going to work.

If for some reason you still want to try this out, you will first need the Microsoft .net Runtime version 2.0. You can download it for free from microsoft.com - its around 22MB. Once that is installed, download mxnot here and run it. If you already have an account, just fill in your normal login details and you should be set. Once you're logged in, you'll see your contacts displayed. Double-click a contact to chat. Cool huh?

It still needs a lot of work, but all the basic stuff is there.

edit: It seems that some people are too lazy to read through everything I wrote before downloading, and then complain that it does not work. You first need the .net Runtime version 2 from www.microsoft.com before trying to run this program. Don't bother trying without it, because it will not work, and will display a stupid error message. That is one of the reasons I am going to write the next version to not require the .net Runtime. But for now, either install the .net2 runtime, or wait until I have enough time to write it again.

Comments

mr. mxit (not verified) Thu, 01/01/1970 - 02:00

hey

this is mr. mxit man

you are illegal

SOTP IT@!!!

Anonymous (not verified) Thu, 01/01/1970 - 02:00

i want to chat on mxit from my pc hom?

Rational Thinker (not verified) Thu, 01/01/1970 - 02:00

Illegal my ass!

Seriously, whats wrong with writing a program that happens to be compatable with another service?

Besides, as an IRC veteran, and someone quite experienced in the field of internet communication, despite what you may think, mxit is rubbish for what it could be anyway.
The people who made mxit definately have enough money to "put their kids through college" so to speak. It just so happens that i have some good friends who dont have the luxury of an always on connection at home, and mxit is great for chatting to them.

Praise dhiren for his efforts!

mmmrrrkkkkiiiiddd (not verified) Thu, 01/01/1970 - 02:00

howzit,how do you download mxit on ur pc???

dhiren Thu, 01/01/1970 - 02:00

I fixed some minor stuff... nothing huge but its slightly better now. Also, I decided that for the next major version, I'm going to rewrite it in win32 rather than .net because I dont know enough about .net to handle all the UI stuff that I need to do.

The new version is 0.0.0.2

Silverwing (not verified) Thu, 01/01/1970 - 02:00

Hey dhiren,

Long time :D I will def be checking this out, java RAPES my pc's resources after a while.

Thanks

hmmm (not verified) Thu, 01/01/1970 - 02:00

Nice work man ^^ may i ask what program/language u used to make this?

Anonymous (not verified) Thu, 01/01/1970 - 02:00

hey there did you get mxit to work on your pc if so please tell me how

teh dBunny (not verified) Thu, 01/01/1970 - 02:00

wow... im impressed man... May i ask what language/program u used for it?

ther is something i have been thinkin bout for a while.. Taking a program like this and making any message received be sent to all contacts so it forms like a private chatroom..

nice work tho ^^

teh dBunny (not verified) Thu, 01/01/1970 - 02:00

are the comments working? i post one and it didnt come up :/

Mister (not verified) Thu, 01/01/1970 - 02:00

Hi
Glad to see you all here

billigflüge (not verified) Thu, 01/01/1970 - 02:00

- Thank you

dhiren Thu, 01/01/1970 - 02:00

The comments are working - they're just moderated cos I get tons of spam for cheap pharmaceuticals and animal sex so I trim the junk out before posting the actual ones :) (I've been planning on modding the blog software to send me an email as soon as a comment requires moderation, but so far I've been too lazy to do it)

Thanks for the comment :) I'm a plain C++ programmer by profession, but I wanted to play around with .net as well, so I used this as a toy learning exercise with managed c++ and the .net framework. It was quite fun and interesting.

I'm not sure how this could be used as a private chatroom, but I'll give it some thought and maybe add in some features... the main thing is that I dont want to affect the mxit service in any way, so unless i'm 100% sure that its going to be entirely safe, I'm not going to do anything above what mxit can currently do.

I'm currenly rewriting it in plain C++ for win32, so it won't require the 22mb .net runtime, and should be able to run on linux under wine (afv-13 is going to be thrilled about that).

Btw the latest version is 0.0.0.3 - I cant remember what I fixed in it - I think the previous versions didn't accept invites properly. This one does (I know because I just accepted an invite a few minutes ago!).

fc-lukoil (not verified) Thu, 01/01/1970 - 02:00

Where at you it is possible to look Football? The league of champions interests - Spartak - FC Kiev 13.08.
In advance thanks.

CRRoylandino (not verified) Thu, 01/01/1970 - 02:00

Thanks all for the help

da_man (not verified) Thu, 01/01/1970 - 02:00

Any chance of getting the source code, i want to c if i can maybe improve on it, and try do it in java. i just need a point to start.

dhiren Thu, 01/01/1970 - 02:00

I'm not going to release the source - if the mxit team want the protocol to be widely used, they'd publish it themselves. I don't think I have a right to release that information. If you want to know how it works, you'll have to analyze the traffic sent to and from the mxit client like I did.

The mxit terms and conditions forbid you from reverse engineering or decompiling the client software, so traffic analysis is the only way you can do it.

Psymon (not verified) Thu, 01/01/1970 - 02:00

you are a true genius dhiren, well done mate. this stuff really impresses me. cool. chat soon -Psymon

youknow (not verified) Thu, 01/01/1970 - 02:00

Errr, I dunno if it's just me but it throws an exception when I try to register.

Here's the stack:
System.NullReferenceException: Object reference not set to an instance of an object.
at System.Net.Sockets.TcpClient.GetStream()
at mxitnet.Mxit.Send(Byte[] buffer)
at mxitnet.Mxit.RegisterAccount(String cellnumber, String password, String nickname, String dateofbirth, String location)
at mxitnet.MainForm.SignInButton_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)

dhiren Thu, 01/01/1970 - 02:00

I'll take a look at that this evening. I bet its me just being a dumbass again.

veejay (not verified) Thu, 01/01/1970 - 02:00

Hi, where did you get the mxitnet directory plz can u help me in that ?

nemeS1s (not verified) Thu, 01/01/1970 - 02:00

my dhiren sir I get an error :(. I installed latest net framework 2.0 from microshit.com, I get "input string was not in a correct format" when I try login :(

dhiren Thu, 01/01/1970 - 02:00

Ok, that usually means that the login didnt work - its probably received one of those 'the mxit servers are currently too busy, please try again later' messages. I'm not sure why it gives an error instead of displaying the login message that it received tho :(

dhiren Thu, 01/01/1970 - 02:00

Ok, I fixed the registration error that youknow was having, and the login errors should be a lot clearer now (saying that the mxit service is currently busy, rather than the input string was not in a correct format).

Download mxnot 0.0.0.4

I'm still working on the win32 version... hopefully I'll have something in the next week or two.

Paradox (not verified) Thu, 01/01/1970 - 02:00

Hey dhiren,

Sup uncle? I've read a few paragraphs of the post, not the entire post but so far on what I've picked up was that you've been having trouble connecting to MXit through your cell... I've downloaded a few emulators, JAD & JAR files and still had trouble, btw, nice work on the C++ project :)

Although, I had tried PowerPlay before I downloaded any emulators, before v5 had been released and it kept causing problems, one of the main ones being that it kept being disconnected and then immediately reconnected to the MXit servers... kinda gets annoying, especially for your contacts.

The problem with the emulators was that it used up a shit load of CPU usage and still, the same amount as PowerPlay did with v3.

So heres the alternative, and definately a fix to the previous mentioned problems in this comment for me, at least. After v5 has been released, running MXit through PowerPlay has come up with absolutely no problems or errors/bugs and has been running smoothly all night... no re-connects at all and no change in CPU usage either - in fact, I quite enjoy using MXit over my PC now-days. This could be a base example and idea to memorise new ideas and features in for your project to further improve it, keep it up!

Give me shout out on Atrum or search google if you want more details,

Live well, die well!
Peace out!

Paradox (not verified) Thu, 01/01/1970 - 02:00

Great job,

mPowerPlay may identicate MXit but this project has potential, need I say more? Awesome work and a great job Dhiren, AWESOME! I look forward to further updates and especially, more outlook on this project such as extra features which MXit cant offer as a free service, love it!

Kyle (not verified) Thu, 01/01/1970 - 02:00

Hi dude, i am running off a proxy server for internet, how do i get mxnot to work??
thanks
Kyle

dhiren Thu, 01/01/1970 - 02:00

Very good question. I haven't catered for proxy servers or anything. If you have a firewall that blocks outgoing connections on port 9119 (which is what mxit uses), then you'll have to either try to convince someone to unblock that port for you, or you'll have to figure out some sort of network tunnel that runs over whatever ports you do have open. I do this at work, running a tunnel through my home pc on a port that is unblocked.

Vivian (not verified) Thu, 01/01/1970 - 02:00

Hi
Thanks for the cool app. But it keeps on logging out after about 30 sec. than I have to reconnect again! What can that be?
Thanks
VIvian

Vivian (not verified) Thu, 01/01/1970 - 02:00

I get this error:

ee the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.ObjectDisposedException: Cannot access a disposed object.
Object name: 'System.Net.Sockets.TcpClient'.
at System.Net.Sockets.TcpClient.GetStream()
at mxitnet.Mxit.Send(Byte[] buffer)
at mxitnet.Mxit.SendChatMessage(String toID, String message)
at mxitnet.MainForm.SendChatMessage(String toID, String message)
at mxitnet.ChatWindow.SendButton_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

************** Loaded Assemblies **************
mscorlib
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.42 (RTM.050727-4200)
CodeBase: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
mxit.net
Assembly Version: 1.0.2519.41078
Win32 Version: 0, 0, 0, 4
CodeBase: file:///C:/Documents%20and%20Settings/Vivian/Desktop/mxnot.exe
----------------------------------------
msvcm80
Assembly Version: 8.0.50608.0
Win32 Version: 8.00.50727.42
CodeBase: file:///C:/WINDOWS/WinSxS/x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_0de06acd/msvcm80.dll
----------------------------------------
System.Windows.Forms
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.42 (RTM.050727-4200)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.42 (RTM.050727-4200)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.42 (RTM.050727-4200)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Configuration
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.42 (RTM.050727-4200)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.42 (RTM.050727-4200)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.

veejay (not verified) Thu, 01/01/1970 - 02:00

Hi, where did you get the mxitnet directory ?

kangaroo_jack (not verified) Thu, 01/01/1970 - 02:00

awesome app dhiren, the definately has potential, congrats. Will test it after i get the port 9119 unblocked. CURSE YOU DAMN PROXIES!!!!

Psycocyst (not verified) Thu, 01/01/1970 - 02:00

anytime you going to make this into a linux version??????

Infra (not verified) Thu, 01/01/1970 - 02:00

Hey!

Great app!!!
I'd like to see the Straight C++ version. I hate .Net, even more than JRE. So I am realy looking forward to that version ;-)

KeepitUP

john (not verified) Thu, 01/01/1970 - 02:00

Hey man

I'm flippin impressed with ur work!

it's a neat little app, very plain. spose u could maybe make the interface a little more grabbing??

keep it up, i like it!

JHi (not verified) Thu, 01/01/1970 - 02:00

Hey Man

Great app! If you someday get the time to add emoticons to it, use this page as a reference:
http://www.vdlinde.za.net/emoticons.htm

Hope it helps!
Cheers!

Alkaline (not verified) Thu, 01/01/1970 - 02:00

Hola~ Ive downloaded .net runtime and it works perfectly, but when I say "sign in" it gives me a error message "Array cannot be null. Parameter name: bytes"
Any idea?

Alkaline (not verified) Thu, 01/01/1970 - 02:00

Oy! ohky! I understand U said it still needs work, but when I try to chat it stays online for 1min and signs me out and say "there was an Error comunicating with the server! can you help me plz?

Bushman (not verified) Thu, 01/01/1970 - 02:00

Thanks a lot mate, now i can contact the people that really matter to me, thanks to you.

PiMpInG (not verified) Thu, 01/01/1970 - 02:00

Thanks for the tips and download will try get mxit to work on my pc. Thanks again
PiMp

moox (not verified) Thu, 01/01/1970 - 02:00

hey man,congrats to cracking the code,one prob though,i cant see anyones texts,the program shuts down after typing,with errors.please help

Nicky (not verified) Thu, 01/01/1970 - 02:00

Hey Dhiren

I've installed "mxnot", and it lets me in and everything, but my messages don't go through.Do you have any idea why that is?I tried re-installing this morning, and it worked, but just for 5 mins, then it logged me out, and went back to normal again.I know absoloutly nothing about computers(regardless of the fact that I work for a software company)so please help?

Thanks
Nicky

dhiren Thu, 01/01/1970 - 02:00

Hi Nicky,

I think mxit has stopped supporting older v3 clients from logging in (from what I've heard). I've done a lot of work on the new client that I said I was writing, and have also had problems connecting, because my work is based off the v3 client.
As soon as I get a chance to work out the v5 messages, I'll put up the new version, which will hopefully work a lot better.

Sorry about that - I've been a bit busy and havent had much time to work on it until recently :(

Anonymous (not verified) Thu, 01/01/1970 - 02:00

Hi do you have a download link for me

B.I.L.L.A.B.O.N.G (not verified) Thu, 01/01/1970 - 02:00

IM 13 13!! i dont see no .Net runtime version 2, only framwork stuff and i have no idea what that is i need help with this. putt it in steps for me with links please!!! i need te talk with ma frends my phone is broken! :'(

Anonymous (not verified) Thu, 01/01/1970 - 02:00

i can speak to my contacts bt they dont get my messages and tehy dont reply tehn wats da use?????????????????????????

Jacque (not verified) Thu, 01/01/1970 - 02:00

I just want to say thnx for taking the time to code this app. As a windows vista user i much appreciate you work.

As a user i would like to give you feedback, i simply love the program and the windows opening in a separate window is awsome.

Bugs i have found :

When i open multiple windows and chat in one of them, the program automaticly logs me out. might be a problem with mxnot and vista...

Anyway, i already bookmarked this page and will be watching your project very closely.

thnx again.

(Ps. don't listen to the flamers, alot of jealous people out there, and don't give out your source code, they just want to steal your work and take all the glory. )

girla (not verified) Thu, 01/01/1970 - 02:00

i tryed bt it doesnt work. wat else can i do?
pls help

Andrew (not verified) Thu, 01/01/1970 - 02:00

I was actually just working on some code to do what you've done! Any chance for future updates to the interface.... It could be much better...

Anonymous (not verified) Thu, 01/01/1970 - 02:00

When trying to Sing in...
It only tels me that it could not connect to server...
Does this happen from time to time?

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options