Posted on Thursday, 11th March 2010 by Michael

Hacking the Magic Jack in 2010 for use on Trixbox or any other SIP device

The concept and art of hacking the Magic Jack is actually really old. The reason I am writing this is that over the last year the process has become much harder. There is definitely ample information available online that if you were to spend weeks reading you could easily do this. But who wants to read through countless forums post trying each way to hack it only to find that way no longer works. Like you, I want the answer and I want it now.


  1. Who wrote this document.
  2. What is the Magic Jack.
  3. Why did I buy it and my buying experience.
  4. Required tools and knowledge.
  5. Setup and registration of your Magic Jack.
  6. Get SIP info and Proxy info.
  7. Testing settings and using other SIP clients.
  8. Configuring Trixbox

Who wrote this:

This document contains the ideas of many but has been written, tested, added to and compiled into one body of knowledge by the team of Security professionals at Resale, trading, or hosting of this document is against the law and violators will be prosecuted. This document is for educational use only and the team at does not take any responsibility for your use of this document or the effects it may have on your systems or Magic Jack account.

What is the Magic Jack:

The Magic Jack is a small USB dongle that plugs into a computer and telephone to provide the end user a low cost phone service through the power of VoIP and ads. There are many thoughts on this product some good and many bad. Many people believe this product to be riddled with spyware based on their poorly worded TOS that you must accept to use and the ads you are forced to see when using their soft phone. I am under the assumption that anything I install on my computer could possibly spy on me and I assume that risk. With that out of the way I leave it up to you to decide if you want to try this product or not.

Why did I buy it and my buying experience:

Several days ago I ordered a Magic Jack. My reason for ordering a Magic Jack was to use it as a part of my Trixbox VoIP system. I read this can be done and it looked real easy to do. Lucky for me they were offering a free 30 day trial. The free 30 day trial is actually free though they put a hold on your credit card for 46.00 + change this includes the shipping cost, the USB dongle and 1 year of service. The whole process felt fishy to me but I figured even if I was to get ripped off it was under $50.00 and would provide a good learning experience as well as give me something to write about. It took less than 5 days to get my Magic Jack sent to me.

During the research I did I found that the older versions of the Magic Jacks before the recent upgrades were easier to hack and to get the SIP information off of. So when I ordered this I was hoping that it would arrive in one of those vacuum packed plastic cases that take close to an act of God to open. My thought process was that if it came sealed like that it might have been sitting on the shelf for some time and not contain the most recent updates, making it easier to hack. But no, mine came in a foam holder like a glorified AOL DVD. I decided to first try to install it on a computer with no internet connection so I can view the files on the Magic Jack and maybe figure a way to disable the auto updates. This was fruitless because as soon as it detected there was no internet it would not install. So I moved the USB to another computer with internet access and enabled windows firewall in hopes that it would stop the Magic Jack from auto running and updating itself. I was wrong. It ran and automatically updated itself to version 2/18/10. I was about to ship it back ASAP, but I got to say this little device looks cool and I wanted to play.

Required Tools and Knowledge:

We will need to download several tools to get started. I suggest that you create a folder on your desktop and extract all the files to the folder you created as they all will be used together.

  1. Magic Jack:
  2. Stroths MJ Utilities Suite v 1.6 from this link: . This suite was once used to be able to pull the SIP information off your Magic Jack. Even though this feature no longer works with newer Magic Jacks, this suite provides other useful tools that we will need.
  3. SIPDump.exe: This file is not normally included in the suite above, but the URL above has a copy of it in the zip file. The Magic Jack stores the SIP info in memory. This is the most important tool and will be used to dump the password and SIP info out of memory.
  4. MJMD5: . This is a windows proxy that will allow us to use other thin clients and soft phones, such as xlite, without needing the actual USB dongle. This is also good for those that want to use the iphone or other wifi enabled phones. This is needed since Magic Jack has altered how it handles SIP and basically adds a hash to each packet. This tool will add the hash and the proper syntax information. I use this tool to test my Magic Jacks to make sure that the SIP information I pulled off is correct.
  5. WireShark: . WireShark is a packet sniffer and will be useful in figuring out what Magic Jack proxy we are using. It is also capable of capturing VoIP calls and compiling them so you can listen to other people’s calls.
  6. Notepad ++: Notepad ++ is a replacement for Notepad. It keeps the formatting of files, adds line number, and is able to open large files without crashing and many other cool features. This will be needed to open the memory dump files. Though it is possible to use Notepad or Wordpad to do the same on faster computers.
  7. Xlite: .This is a soft phone that we will for testing our credentials. You can use any soft phone you want or any SIP client you want for testing, such as an iPhone. Though I will use this one for the article. The current 3.0 code of the Xlite application does not require you to sue the MJMD5 proxy as it uses md5 to encrypt your password already.
  8. Windows firewall, Antivirus Firewalls, Software Firewalls, and or Hardware firewalls: Make sure these are disabled as this adds to the trouble shooting. Or open up your system to allow all outbound connections and inbound connections (UDP is not stateful) for the testing. If you are worried about your security please Google 1 to 1 NAT or PAT’s and create a policy that way.
  9. MJProxy: Linux Magic Jack Proxy. This is like the MJMD5 proxy but for Linux.
  10. Trixbox: (or any other asterisk system you feel comfortable with). An easy to use asterisk system widely used in the community.

Besides the tools listed above you will need the following:

  1. Patience: This is key in doing this. If you think you are going to run a few commands and get the goods you are wrong.
  2. 2. Computer Skills: If you do not have basic to intermediate computer skills and the ability to follow directions, just stop now.
  3. 3. Linux Skills: If you plan to use this as part of your Asterisk, Trixbox, Free PBX and so on systems.

Setup and Registration of your Magic Jack:

So let’s get started. The first thing you will need to do is put your Magic Jack in the USB and register your Magic Jack. This will walk you through upgrading the Magic Jack firmware, setting up your Magic Jack account, setting up E911 and obtaining a telephone number. Be warned that during the whole process they try to sell you additional services, so be careful where you click. Once you have completed your Magic Jack setup, I would use their soft phone to make a test call to verify everything is working before continuing. This will help eliminate additional troubleshooting steps if there is a problem later on in this article. If you do not have a phone to plug into the Magic Jack, go to “menu” tab and choose headset, this will allow you to use your computer speaker and mic. Once you have done this place a call to someone. I called my cell phone to test, so I would not bother any one while I went through the rest of the setup and tests.

Get SIP Info and Proxy Info

I do not guarantee this will work and doing this may get your account terminated.

Now that we have a working Magic Jack we can start the process of trying to get the SIP info from the Magic Jack. Most of you already know that the Magic Jack stores its SIP info temporarily in memory on initial start up, so for us to get this information we will need to dump the memory and look through the output for the password. To do this we will use the SIPDump.exe that we have downloaded earlier.

Timing is everything on this step and it may need to be repeated several times to get the information you need.

Timing is everything on this step and it may need to be repeated several times to get the information you need.

1.Open the SIPDump.exe and set the dumps to 4. DO NOT HIT OK YET.

Click for a larger image

2. Next start up your Magic Jack software, either unplug it and plug it back in or go the drive and select autorun.exe.

3. When you see it starts to load and see the ad on the left hand side start to show click ok on the SIPDump.exe.

Click for a larger image

4. This will dump the memory into 4 dump files and stop Magic Jack. These dump files will be located in the directory where you ran SIPDump.exe from and be called SIPDump1-4. Each file must be a minimum size of 22,000 KB. If they are not please try again. We have found the password in smaller sized files but for some reason the Magic Jack do not work in the following steps.

Click for a larger image

5. Now open the first SIPDump file and search for the EXACT phrase “SIP.Connection.Refresh” without the quotes. There should be only one instance of this phrase and your password should be located within a few lines above and or below it. Many articles on this say your password will be 20 characters, mine however is 21 characters. I also found mine in the second SIPDump file along with my SIP username which is still the standard

Click for a larger image

6. At this point we have our SIP username and password. We now need to get the proxy address that our Magic Jack is using. It will be in the format of, where the xxx is the city where your proxy is. To do this I used WireShark. Since WireShark is not what this article is about, I will provide you with a high level instruction on how to use it to get what we need. Side note I know there are easier ways to do this but they are not as reliable. I also understand there are other ways to get this info out of WireShark but I am keeping it simple so the end user does not have to go through tons of packet capture to get what they need.

a. Open WireShark. Once it is open click on Capture à Interfaces à Then the interface that is handling your networking and internet. This will also most likely be the only interface that has packets. Once you determine the interface to use choose start.

Click for a larger image

b. Once you start the capture start your Magic Jack and place a call to your test number. This will generate VOIP traffic that WireShark will capture and save. Once your test number answers or you get voicemail, hang up and stop the capture.

c. Now that you have the packets, let’s find the VOIP info. To do this click on Statistics and then on VoIP Calls.

Click for a larger image

d. This will launch another window showing your call info:

Click for a larger image

e. As you can see from the image above we have detected 1 VOIP call. From this screen we can Graph the call details or actually play the call back and listen to the conversation. Though playing the call back is cool is not what we need to continue. Click on “Graph”

Click for a larger image

f. This IP will vary based on where you live. To get the Fully Qualified Domain name (FQDN) we will open a command prompt and type “ping –a <IP from above>”

Click for a larger image

g. We now have all the required SIP information

i. SIP username: Etelephone-number01

ii. Password: L123456789101112133G (not a real password)

iii. Proxy:

Testing settings and using other SIP Clients:

Now that we have our SIP info, we want to test it to make sure we gathered all the correct information. To do this we will use the MJMD5 tool. This tool is a proxy server that we will send all our VOIP traffic through. This is needed since Magic Jack alters how the packets are sent by adding a hash to them. This tool will add the hash to the packet then send it.

1. Start MJMD5.exe and fill in the proxy and the password field and press start:

2. Now that the proxy is running, let’s open our Xlite soft phone application and add a new SIP Account. To do this launch the application and right click on the status window --> Choose SIP account settings --> Add. Display Name: Can be anything you want. User Name: Must be your SIP user name. Password: must be the password that we got from the dump. Authorization user name: must be the SIP user name. Domain: is the IP address of the computer you are running the MJMD5 proxy on :5070 (The SIP Port). To get the IP of your machine go to a command prompt and type ipconfig and press enter. Make sure the rest of the settings are checked as you see in the image below. Then hit save and go back to the application.

Click for a larger image

3. The moment of truth: If you have followed all the directions above and got the correct proxy, password and username you should see the following displayed on the Xlite soft phone and you should be able to place a call without the Magic Jack plugged in.

Click for a larger image

4. Testing outbound call

Click for a larger image

5. Testing incoming calls

Click for a larger image

6. Now that we know that the SIP information we gathered is correct, we can use it for countless things.

a. For example you can use a service like to register a sub domain for free that points to your home IP address. On your home firewall you can setup a rule to allow 5070 inbound and create a network address translation. This will allow you to use any wireless device with a SIP client to connect to your home computer running the MJMD5 proxy and make free calls.

b. Or you can setup your own PBX, like Trixbox

Setting up your own PBX using Trixbox

This section requires that you have knowledge of the Linux operating system or are willing to spend the time to learn as you go. If this is you then please continue on.

Before you start you will need a copy of Trixbox installed and ready to go. To obtain an ISO of Trixbox go to and download it. Once it is done downloading burn the ISO to CD and install. Trixbox should be installed on a system with a minimum hardware of 40gig hard drive, 512 MB of memory and a network card. This configuration should support a small office or home setup.

During the creation of trunks, routes and extensions if I do not mention a field you are to leave the default value unless you want to play with settings at which point you are on your own for making this work.

Installing MJProxy:

MJProxy is a program written in c to manipulate your SIP traffic into the Magic Jack required format and pass it to and from the Magic Jack servers and your PBX.

1. Login as root to your Tribox system

2. Install the c compiler: yum –y install gcc

3. Download mjproxy source: wget

4. Extract the mjproxy source and libraries: tar –zxvf mjproxy.c.tar.gz

5. Compile the mjproxy source to an executable: gcc -o mjproxy md5.c mjproxy.c

6. Give it rights to run and execute: chmod 777 mjproxy

7. Run the mjproxy: ./mjproxy 5070 5070 your_password

a. To run multiple Magic Jacks you can either use a virtual IP on your interface or replace the with a dedicated IP. The means to listen on all IP’s. Or you can change the first instance of 5070 to the next highest number i.e. 5071. I would suggest a combination of both as to not to confuse inbound and outbound calls.

b. You can also place this as a service or create a shell script to execute all your Magic Jack proxies.

8. Issue a ps –wuax to make sure the mjproxy process is running

Logging into Trixbox web gui:

1. Login to the web gui http://IP_address of your Trixbox install and click switch in the upper right hand cornor. This will switch you from user mode to maintaince mode. By default the login is maint / password. To change this log into the console with the root account and issue the command passwd-maint and follow the instructions.

2. Once logged in either fill out or ignore the Trixbox registration screen. This is not required but can’t hurt.

3. At this point you can start your configuration.

Update your system:

1. Click on PBX settings

2. On the left hand side click “Module admin”.

3. Click on “Check for updates online”.

4. Click on “Upgrade all”.

5. Click on “Download all”.

6. Then ok, this will start the downloads, the upgrades and will then prompt to reload the system.

Configuring a Trixbox Trunk:

1. Click on “PBX Settings”

2. Click on “Trunks”

3. Choose “Add a SIP Trunk”

4. Leave “General Settings” blank

5. Under “Outgoing Settings” fill out the following

a. Trunk Name: Magic Jack (or anything you want)

b. Peer details:

username=EXXXXXXXXXX01 (your SIP username)


secret=LXXXXXXXXXXXXXXX (Your SIP Password)




host=XXX.XXX.XXX.XXX (The IP address of your trixbox)

fromuser= EXXXXXXXXXX01 (your SIP username)




6. Under Incoming settings erase everything out of the fields.

7. Under registration fill it in as follows with the information from the Peer Details:

a. SIP username:SIP password@Trixbox IP:5070/Your 10 digit telephone number


8. Click “Submit changes”

9. Click on “Apply changes”

10. Click on “reload”

Click for a larger image

Click for a larger image

Click for a larger image

When you click on the PBX settings button you will see the following if you created the trunk correctly and if it registered:

IP Trunks Online 1

IP Trunk Registrations 1

If this did not work you can use tail –f 10 /var/log/asterisk/full on the command line to view your logs for errors. If you did not test your SIP settings as I outlined above please go back and use xlite to verify they are correct then try rebuilding the trunk again. If you are still having issues I am available for a hourly rate to trouble shoot and correct or you can use Google.

Creating an outbound route:

1. Click on “PBX Settings”

2. Click on “Outbound Routes”

3. Click “Add route”

4. Route Name: Magic-out (Or whatever you want to name it)

5. For Dial Patterns use the wizard and select 7 digits and 10 digits dialing unless you want to setup some special dialing which if you do you are on your own for this article.

6. For “Trunk Sequence” choose the trunk you just created.

7. Click “Submit changes”

8. Click on “Apply changes”

9. Click on “reload

Click for a larger image

Creating an Extension:

1. Click on “PBX Settings”

2. Click on “Extensions”

3. Choose “Generic SIP Device”

4. Under “User Extension” enter an extension in a numeric format i.e. 101.

5. Under “SIP Alias” enter the same number you used for the extension.

6. Under “Secret” enter a min 6 character password the longer and more complex the better.

7. Click “Submit changes”

8. Click on “Apply changes”

9. Click on “reload

This will create a basic extension. Under this setting you can also configure your extensions voicemail and caller ID, but we are keeping this basic for now.

Creating an Incoming route:

1. Click “PBX Settings”

2. Click “Inbound Routes”

3. Click “Add route”

4. Under “Description” enter Magic-in (or other name you want)

5. Under “DID Number” enter your 10 digit Magic Jack number.

6. Under “Set Destination” choose “Extension” and select the extension you just created

7. Click “Submit changes”

8. Click on “Apply changes”

9. Click on “reload”

Once all these steps are completed you can configure your smart phone and test. If you are using xlite as your soft phone use the settings you used in the extension creation for your settings in xlite. Or if you are using a different IP phone such as Cisco follow the manufactures directions to configure it.

Simple Troubleshooting of your Trixbox:

Asterisk stores all of its events in one log fill called full located in /var/log/asterisk/ to view the log in real time you will need to log in to your Trixbox via shell access as root. Once you are logged into the box issue the command tail –f 10 /var/log/asterisk/full . This will scroll the last 10 lines of the log and any new log entries. Common errors that you will find here is incorrect authentication or issues with registration of the trunk. These are the two biggest issues I have run into while configuring Magic Jack to work with Trixbox. If you see any errors in the log you can simply Google them for detailed answers.

Services / Help:

If you bought this document and still cannot get your Magic Jack to work I will provide discounted hourly fees to help you to get yours working. I charge 100 dollars a day, with a 1 day minimum. I require you to ship your Magic Jack or Magic Jacks to me with a tracking number and provide return shipping with tracking as well. Your best bet is to send me the sealed Magic Jacks with the email address you want associated to them as well as the area code you want and let me do them from scratch.

If you want me to configure Trixbox system to use your Magic Jacks I will also require remote access to your machines as well as the usernames and passwords to your system. The fee for Trixbox configuration is an additional 30.00 dollars per day.

As mention above I will give a discount of 25.00 per day to anyone that bought this document and could not get this working based on information I provided and not due error or lack of ability on their side. I will review everything before accepting work and I do not guarantee anything.

1. Next start up your Magic Jack software, either unplug it and plug it back in or go the drive and select autorun.exe.

2. When you see it starts to load and see the ad on the left hand side start to show click ok on the SIPDump.exe.

Posted in Papers | Comments (83)

83 Responses to “Hacking the Magic Jack in 2010 for use on Trixbox or any other SIP device”

  1. Michael Says:

    MJ had changed something over the last two weeks to cause constant password changes. Though reports are coming in the change has stopped and you are able to once again get your password. Though some are reporting that the username changed to 02. I have not had the time or extra jacks to confirm this.

  2. MagicJack with SIP based Softphone « CDELATORRE.COM Says:

    […]… […]

  3. arcadia2uk Says:

    Do I understand you right that you now can run Xlite w/o MJMD5?
    [quote]Xlite:…The current 3.0 code of the Xlite application does not require you to sue the MJMD5 proxy as it uses md5 to encrypt your password already.[/quote]

  4. Michael Says:


    I am not sure if that is still the case or not or if I tested with a jack that did not need the mjmd5.exe. But the copy of the Bria / c-lite software said it had md5 support. Only way to be sure is to test.

  5. arcadia2uk Says:

    OK, thanks Michael.
    I will test them out, I also found an old copy of Xlite v3.0 at cnet.

  6. Mike Says:

    I am wondering if I can use my magicjack’s credentials with my iPhone’s softphone since I need to run the MJMD5 in order to alter my SIP packets.

    Do I have to use an Asterisk PBX ?

  7. Michael Says:

    You don’t need a pbx you do need mlmd5 or mjproxy. There has been some development where some of the softphones support mj.

  8. Richard Says:

    I also can get it to work with X-Lite running MJProxy on the same box as my Asterisk/Elastix setup, but I get “all circuits are busy” when I try to make a call out on Asterisk. I have a truck setup as specified in post as well as a valid outgoing route. Any ideas?

  9. Michael Says:

    Make sure the line is registered check /var/asterisk/full for errors. Also make sure you are dialing all 10 digits

  10. swimmerboy6 Says:

    Just wanted to thank you for these instructions, Did your instructions as of Oct 2010 and worked successfully.Before I looked everywhere to get my sip credentials and this finally worked. Xlite worked great and for my Jailbreaked Iphone I also used the latest Siphon 2.3 app(install thru the developer website with Open SSH and WinSCP Not cydia.) I didnt need the MJMD5 Tool for Iphone dont know how you would install it anyways.

    Be patient with the SipDump, it does take a while, I almost gave up but it may help to press the okay button once your mj phone number appears on the welcome screen. I also disabled the autorun/auto play for my magic jack drive using tweak UI but i dont think that’s necessary. I chose 5 dumps. Your password will be right under SIP.Connection.refresh, my 2nd dumpfile had 2-3 instances with that phrase but one of them eventually displayed my sip code. Also if you get a sip idle message or something like that under SIP.connection.refresh in your dump files, dont worry, just keep trying and restart sipdump.exe a couple times. My password didn’t have a letter to begin with as suggested by some other forums and started off with number 6. It’s hard work buts is worth it, I now can use mj on the Iphone 3G 4.01

  11. Kola Says:

    Hi Michael,

    Thanks for such amazing steps but i seem to have problems logging in xlite.

    Di i need to enter or just Exxxxxxxxxx12 as the username.

    Please advise,



  12. maxp Says:

    is mj blocking us now, I have been using this for 6+ months no problems now it’s no longer connecting to the trunk, anyone else having problems??

  13. Michael Says:

    Some time this weekend MJ reinstated the rotating passwords. At this time we are still researching this.

  14. Jon Says:

    Thanks for the tutorial and the replies, the guide is superb. They must got a algorithm to roll passwords now. It seems that every time you do a SIPDump from a new connection(reinsert MJ), it will dump out new password.

  15. Michael Says:

    It is something server side via maybe a configuration issue or on purpose. I suggest sitting back for a week and see how this plays out.

  16. William Says:

    October 26, 2010
    Try connecting to a server in a different state using the same password. Example- change to In my case this worked, for how long who knows. When I have problems with call quality I connect to a different server and all is good.

  17. Michael Says:

    This works normally when the passwords are not rotating.

  18. William Says:

    October 28, 2010
    I know this is off the subject, did not know how to contact you. You may reply to my email if you like. Here is my question:
    Now that I have hacked my MagicJack I would like to hack my Tracfone. The Tracfone sim card will not work in other phones. I would like to use it in the phone of my choice. I assume this would require extracting the information from the Tracfone sim, modifying it, and installing it to another sim card. Any help or advice would be appreciated.

  19. Raid Says:

    I did a multiple dumo with many SIP.Connection.Refresh instances and a 20 charecter long near the statement and my username. Does the password have to be after sip.code or sip code or could be floating around.

  20. Michael Says:

    You did it right but MJ changed the way authentication works.

  21. Raid Says:

    So what to do from now on.

  22. Venkat Says:

    Hi Michael,
    Excellent step by step tutorial.I followed exactly as you documented. I can get it work with the X-lite softphone, but i want to make it work with my home pbx(Elastix)Registration status shows ok(registerd)
    Incoming calls work great, but when i try to dail out “All circuits are busy.pls try ur call again later message” comes. Any suggestions what might be wrong.

    Thank you for very good documentation

  23. Michael Says:

    Check your codec and outbound route. Also check the ports on the firewall.

  24. tim Says:

    There is only one string looks like the password (20 characters) in dumped memory files. Tried in xlite but get 401 error.

  25. Frank Says:


    I am still very unlucky. I’ve managed to get the password @ the username.

    the proxy I am having a hard time with.
    If i follow this wonderful article, i get “” as my proxy.

    I am in toronto but have a 301 #, so i’ve tried the standard baltimore and washginton proxy address–none of which are working.

    Any suggestions…

  26. Evan Says:

    I’m just looking to see if this still works?

  27. luis Says:

    Hi, Thank you for the information. Does it works this days?

  28. Michael Says:

    For all you who keep asking. This works and you can get the password but it is useless as MJ has rotating passwords. Meaning a new password on each use. So the password you get is no longer valid on next use.

  29. grover Says:

    hi, i m using magic talk and i am from India and i got user name and password but when ever i m trying to configure magic talk sip account with x-lite i get the error like unauthorized so please guide regarding this error and assist me that how can i remove this error or suggest me any software from where i can record magic talk conversation reply as soon as possible.

  30. Michael Says:

    Read my last post about this topic.


  31. ben Says:

    does this still work? can’t find credentials in the dump files.

  32. mumo Says:

    does this still work? guys

  33. Michael Says:

    No they have changed the authentication and password rotates.

Leave a Reply