Windows Phone 7 hacks, all the diagnosis codes you need, Part 1

Lately I have been working on some hacks for the Windows Phone 7, and was interested especially in the Samsung diagnosis app that uses different codes to debug their devices.
I’ve succeeded to extract more than 60 codes that I will show in this post and the next one, and their basic functionality/use in the diagnosis app.
The following codes were tested on a real Samsung Omnia 7, I’ll be happy if you can confirm their use on other devices as well.
To enter the diagnosis app, type ##634# and press call, the application should now be placed on the list of apps.

*#80# Touch Debug stuff
*#526# Wifi factory test
*#745# -
*#780# SR test
*#1111# FTA SW version
*#1234# WIFI / Bluetooth mac
*#1575# Gps test mode
*#1793# Micro usb / sync / modem / tethering
*#2222# FTA HW version
*#2263# WCDMA, GSM band
*#2470# Camera FWUpdate
*#2580# Integrity control
*#2663# Touch Screen Version
*#7284# Micro USB Test
*#7298# GPRS settings, auto pwr on/off
*#7353# Self Diagnosis tool
*#7450# Error report Off
*#7451# Error report on
*#9090# USB Diag / DBG msg on/off
*#9900# Debug Dump
*#9906# Debug Dump + Ril log
*#770# Vphone tests 0
*#771# =
*#772# =
*#773# =
*#774# =
*#775# =
*#776# =
*#777# =
*#778# =
*#779# Vphone tests 9
Images-0035Images-0041

Posted in |

Windows Phone 7: why you should obfuscate your code

A while back Microsoft sent some warning emails to the registered Windows Phone 7 developers about the threats their apps might face once published on the Marketplace. The apps on the Marketplace are available for download without any authentication required. What you need to get an app is simply the direct link to the .xap file, something of the form http://apps.marketplace.windowsphone.com/app-guid-here/CurrentBinary.xap, which contains the DLL that can be disassembled very easily with Reflector for example. More info here.

Here’s an excerpt from the email :

It is important to note that because of the leak containment steps Microsoft takes applications obtained outside of Marketplace will not run on consumer retail devices. Modified files would only run on a limited number of “unlocked” phones, such as those that have been registered by Marketplace developers on App Hub….

One powerful tool for protecting your apps and games is code obfuscation, which is a long standing best practice for managed code. Obfuscation is available tools like the Dotfuscator product recently announced for Windows Phone 7 applications. Microsoft has partnered with PreEmptive Solutions to make this tool, as well as a robust application analytics solution, available to Windows Phone developers for free through March 31st, 2011.

Right now, it seems that the only option to protect your app, is to use a code obfuscator, since anyone is allowed to download it from Microsoft servers without any restriction, whether they are using a real Windows Phone 7 or they are sniffing the traffic made by the Zune software (yes, I’m not going to tell you how to do it! you need to figure it out yourself).

For demonstration purposes, here is what Reflector shows when applied on an obfuscated DLL and on a non obfuscated one:

obfuscatedobfuscated1

1. Obfuscated

clear

2. Clear

As you can see, on the obfuscated version, Reflector shows either a message saying that the code was obfuscated and it cannot be disassembled, or a bunch of unreadable variable names with a lot of “goto” instructions.

On the other hand, the non obfuscated version is disassembled to (almost) the original source code, only the comments are missing.

Last word, if you are developing anything for Windows Phone 7, do not forget to obfuscate your code before publishing your app on the market.

Posted in , , |

Windows Phone 7 Hacks : the start…

So Windows Phone 7 haven’t been out for a long time and we have already started to see some hacks from around the web. In this post series, I’ll list the hacks and tips that I test myself on my Samsung Omnia 7. As a result I won’t be held responsible for you screwing anything up with your machine.

Diagnosis mode:

Diagnosis mode on Windows Phone 7 seems to be a way WP7 creators used to test the devices, fortunately, it is also used to enable and disable features on the phone, here is how to activate it:

  • type ##634# and press call, the diagnosis app should now be added to your applications
  • there are a lot of diagnosis codes that you can try, for instance :
    • *#03# will get you to the SMDInfo
    • *#05# will give you a very rich interface for testing capabilities, including Vibration, keys, Camera, TSP, Acceleration, Battery, Proximity, Loopback and Light
    • *#1234# will show a lot of information including the Wifi Mac address and the Bluetooth Mac address
    • *#06# shows the IMEI number
    • *#2222# some debugging stuff that I couldn’t figure out.

 

Enable tethering mode :

By going to the Diagnosis mode showed in the previous section, and typing *#7284# you will get the choice to change the connection to the PC from Zune sync, to Modem Tethered Call or Modem Usb Diag, more coverage about tethering here.

You need to note that using the device as a modem will enable you to connect your PC to internet using the phone’s network, I couldn’t reach this in France, since the dial-p numbers for SFR don’t seem to work for me (*#9# or *#9***1#).

Also, on Windows 7 x64, the phone won’t be detected, I suspect that the drivers are not signed and Windows reject them, hence you need to try the above method on a 32bit Windows.

Here is a screenshot for Samsung Omnia 7 installed as a modem on a Vista x86.

wp7-2wp7-3

 

SD-Cards, are they seriously dead once put on a WP7 phone?

There have been a lot of talking about this one, and how magically Windows Phone 7 locks sd-cards so they become unreadable and cannot be formatted on any other machine.

It turns out that Symbian devices can actually format WP7 sd-cards, so if you got a nokia, you are clear, all your sd-cards are useful again, more on the topic here.

 

WP7 already rooted, jailbreaked?

It seems it will happen soon, some developers out there are claiming access to the wp7 filesystem, let’s hope it will happen soon, more here.

Windows Phone 7 filesystem access

 

Source code of apps on the Marketplace:

A very strange but true fact about wp7 and the Zune software, is that, when you use Zune to download apps from the Marketplace, you can sniff the traffic sent and returned to Zune to intercept the url of the application xap (a zip file containing binaries and resources of the app).

Once, this xap is downloaded (yeah, MS servers just give you the app happily without any authentication or anything), the DLLs could be disassembled to retrieve the original source code, using a tool such as .NET Reflector for example.

This is a sample of a url of an app from the Marketplace http://apps.marketplace.windowsphone.com/****id-here****/CurrentBinary.xap

More details will be discussed about this specific topic, from how to sniff packets till full disassembly (it is legal isn’t it?)

 

Mount a wp7 device as a USB drive:

Today, a small hack showed that wp7 can be mounted as a normal usb drive, but unfortunately, you can only copy files *from* wp7, I tried to copy files to wp7 including music and pictures, but it didn’t work, you can’t also create new directories neither.

Well, now it seems I am able to copy files into the phone :D. No, no, it is back, I cannot copy files into the phone, need more investigation it seems.

For how to make wp7 behaves as a USB drive, here is how

  • Open regedit, and locate HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB then search for ZuneDriver
  • Change ShowInShell from 0 to 1
  • Change PortableDeviceNameSpaceExcludeFromShell from 1 to 0
  • Change EnableLegacySupport from 0 to 1

Voila! just close that cursed Zune thing and the phone will show up as a USB driver as showed in the following pictures.

If you need assistance with pictures (!!) here’s a detailed post about it.

wp7wp7-1

Posted in , |

Windows Phone 7 : hands on (Samsung Omnia 7)

It has been almost a week I am trying a new device, the Samsung Omnia 7, which runs the new Microsoft’s OS Windows Phone 7. It took me a lot of time to get one after the very chaotic launch of the new OS in France, but well, finally I’ve got one.

DSC00487

In this post, and the ones that will follow, I’ll describe my experience with the new OS (the device too), so if you are looking for a technical review of the OS, here’s an exhaustive review from ars technica.

The OS

Talking about the OS itself, there are things I love about it, things I like, and stuff I hated already. The look ‘n’ feel of the Windows Phone 7 UI is great, I like so much the minimalistic design, no round boxes, no shadows etc, just different sizes of text to differentiate the title of a page from its content for example.

DSC00520          DSC00522

What I also like about Windows Phone 7 is the fact that you can use several services other than Windows Live for syncing contacts, calendars and emails. Gmail integrate pretty well, and if you have been an Android user like me, all your contacts can be imported just as easy as your Live ID contacts.

The camera is awesome, when taking a picture, you just slide on the left side and you get the last pic you took, no menus to go through, very intuitive and simple.

Animations also are pleasant, they don’t disturb your work, and are as fast as they should be to give a great user experience.

Internet explorer is really fast and smooth with Bing search and voice commands, it is a pretty enjoyable experiment.

Today, I had the chance to try the gps on the device and how fast and accurate it is, I was completely surprise, it is perfect, pretty fast, so responsive and accurate while used with Bing Maps.

What I don’t like about Windows Phone 7 is mainly the features that lacks the OS and which have been discussed in (almost) every website reviewed the OS.

You cannot change the ringtone (what a big deal right ;D ).

More seriously, there is no copy past!! I totally hate the way Microsoft is playing Apple with its customers! The whole world knows that copy/paste is not that hard to implement on any OS, and hence MS has made the choice not to include it and not because it is a feature that they will *work* on on the future!

While they have already promised for some updates by early 2011, playing Apple with Windows Phone 7 is “disgusting”, Windows Phone users are not iPhone users, and even if MS wants to play the game, does that mean it has to copy the iPhone 1 and let its users 4 years late compared to the other Mobile Operating Systems??

There is no way to take screenshots on the device!! how I am supposed to do reviews on the OS and apps then?

Also, there is no sharing option for webpages, videos or even pictures and photos on social networks! you take a pic, you close the Photos app, you open Twitter app, then join a pic to share it! For a webpage it is simply impossible to share its URL, since there is no freaking copy/paste.

The Filesystem is completely unknown for users (developers), there is an Adobe Acrobat reader app, but guess how you open pdf files?? whether you download them from the web and they get saved somewhere, or you download them from your email! there is no way to just put your pdfs on the phone to read them later.

Multitasking, please don’t get me to start on this one!

You have no control over the browsers settings, you can’t disable Javascript for example. You can’t install arbitrary certificates on the device and you can’t setup proxies, if you have come from the Android world, that will be a hell for you.

The Device

Samsung Omnia 7 rocks, with its 4inch AMOLED screen that puts the iPhone’s to shame (according to my biased opinion ^_^), the touch is just another great part of the device as well. With a 5 MP camera, HD video recording and 1GHz processor, I simply adore it.

Photo015

For a complete review about the device, take a look here.

However, I find the search’s button (if it can be called so) position a little irritating, while holding the device in landscape mode, usually, your finger just press it unwillingly, since it is almost at the edge of the corner, but with time, you get used to it.

But! the earbuds are a complete failure, the quality of sound is just good, but the way they have to be used is really irritating, first, when you put them you can hear nothing around you, literally nothing, you can get hit by a car without even noticing (hearing) it approaching.

If you try to lower the volume on the earbuds to try to hear any extern voices, you will get an annoying sounds of the earbuds themselves when they touch your clothes, which makes them useless in the two cases.

DSC00501           DSC00506

Posted in , |

Encode Javascript with a Japanese style emoticons (^_^)

Remember that JJencode method that inserts $ everywhere and makes the code absolutely unreadable from the last post? well, if you liked it, then this one is going to be a real surprise for you.

The same guy who created the JJencode methode, has created also some weird method to encode Javascript, a Japenese emoticons encoded Javascript (^_^), no seriously, here is how your code will look like after encoding (enjoy :D imagine that in a real webpage):

((o^_^o) +(o^_^o))+ ((o^_^o) +(o^_^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) - (゚Θ゚))+ (o^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ (o^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) +(o^_^o))+ ((o^_^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) +(o^_^o))+ (c^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) +(o^_^o))+ (゚ー゚)+ (゚Д゚)[゚ε゚]+(゚ー゚)+ ((o^_^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+((゚ー゚) + (゚Θ゚))+ (゚Θ゚)+ (゚Д゚)[゚o゚]) (゚Θ゚)) ('_');

Pretty convincing right, especially the ('_')  and (゚ー゚) emoticons, and yeah, that's real javascript there.

To get your scripts encoded, just head to Yosuke HASEGAW's webpage here, and as usual, to know what is going on behind an encoded script like that, here's the magical part :
document.write("<textarea>"+ encoded_code +"</textarea>");

This guy absolutely rocks, I mean, do you see how this Javascript looks like (^_^).

Posted in |

jjencode, a new way to obfuscate Javascript

Extraexploit blog reported lately a new wave of infected websites (using joomla CMS) with Javascript code that looks like this :

$=~[];$={___:++$,$$$$:(![]+"")[$],__$:++$,$_$_:(![]+"")[$]
,_$_:++$,$_$$:({}+"")[$],$$_$:($[$]+"")[$],_$$:++$,$$
$_:(!""+"")[$],$__:++$,$_$:++$,$$__:({}+"")[$],$$_:++$,$$$
:++$,$___:++$,$__$:++$};$.$_=($.$_=$+"")[$.$_$]+($._$=$.$_
[$.__$])+($.$$=($.$+"")[$.__$])+((!$)+"")[$._$$]+($.__=$.$
_[$.$$_])+($.$=(!""+"")[$.__$])+($._=(!""+"")[$._$_])+$.$_
[$.$_$]+$.__+$._$+$.$;$.$$=$.$+(!""+"")[$._$$]+$.__+$._+$.
$+$.$$;$.$=($.___)[$.$_][$.$_];$.$($.$($.$$+"\""+$.$_$_+(!
[]+"")[$._$_]+$.$$$_+"\\"+$.__$+$.$$_+$._$_+$.__+"(\\\"\\"
+$.__$+$.__$+$.___+$.$$$_+(![]+"")[$._$_]+(![]+"")[$._$_]+
$._$+", \\"+$.__$+$.__$+$._$_+$.$_$_+"\\"+$.__$+$.$$_+$.$$_+$.$_$_
+"\\"+$.__$+$._$_+$._$$+$.$$__+"\\"+$.__$+$.$$_+$._$_+"\\"
+$.__$+$.$_$+$.__$+"\\"+$.__$+$.$$_+$.___+$.__+"\\\"
)"+"\"")())();


It turns out that this new method of obfuscation is actually not totally new, the method is called jjencode and it is available on http://utf-8.jp/public/jjencode.html.

If you ever run onto an obfuscated code like that one, you can use the above website to decode it, (careful with the eval part though), and if you wanted the plain Javascript code you can wrap the encoded code within the following call:
document.write("<textarea>"+ encoded_code +"</textarea>");

Posted in , |

Swedish Greys - a WordPress theme from Nordic Themepark. Converted by LiteThemes.com.