Attend XDA's Second Annual Developer Conference, XDA:DevCon 2014!
5,736,007 Members 40,596 Now Online
XDA Developers Android and Mobile Development Forum

RAIN: .NET/WP7 Applications Hacking (+Dis/Assembler)

Tip us?
 
ash.rain
Old
(Last edited by ash.rain; 15th May 2012 at 01:20 PM.)
#1  
ash.rain's Avatar
Junior Member - OP
Thanks Meter 23
Posts: 23
Join Date: Sep 2011
Location: the web

 
DONATE TO ME
Angry RAIN: .NET/WP7 Applications Hacking (+Dis/Assembler)

What the TOOL actually does is unpack a xap file, show its content and let you edit them.
As simple as that. It includes some internal editors.

DOWNLOAD

Here are the features of .NET Rain:
- Unpack/Pack a valid WP7/Silverlight XAP file.
- Integrated binary and text editors.
- Integrated image viewer.
- Integrated .NET DLL disassembler/assembler and editor, allowing you to edit the types, methods, properties, resources and each method's set of IL instructions in an assembly.
- Ability to edit assemblies directly in C# and then compile it back directly from the program UI.
- Of course, giving you the freedom to open each XAP entry with an external editor. Editing is intuitive and simple.
- Besides working in the context of a XAP package, you can also edit single files.
- You can manually edit the contents of the XAP by adding, removing or swapping files, besides in-place editing.

I'm planning to add a few more features.
I know about Reflector but it's way too overpriced... I don't find it user-friendly as well.
I will keep Rain donateware. Once I release a stable version, its development would pretty much depend on your feedback and donations.

Here are some cool resources I've found on the net for those of you who are interested in something more than the end result:

Open-source alternatives to Reflector:
Other resources:
  • TypeView.cs
  • Jason Haley's notes on disassembling .NET
  • Adrian Bank's recent blog post summarising a number of Reflector alternatives, including several options not mentioned below.
  • Mark Lichtenberg's detailed blog post comparing several of the open source alternatives (DILE, ILSpy and Mono Cecil using MonoDevelop) to Reflector.

Keep an eye on the second post for updates!
If you want to support me and the Rain project
The Following 13 Users Say Thank You to ash.rain For This Useful Post: [ Click to Expand ]
 
ash.rain
Old
(Last edited by ash.rain; 17th April 2012 at 09:33 AM.)
#2  
ash.rain's Avatar
Junior Member - OP
Thanks Meter 23
Posts: 23
Join Date: Sep 2011
Location: the web

 
DONATE TO ME
UPDATES

After quite a while, I announce that
Beta 3 is out!
You'll need the .NET Framework
Download: You can either download from the Google Code project or from the project's website.



There are still things I'm working on, expect another update in about a week!



Please use Google Code's Issue Tracker for any feedback or feature requests. Any kind of support, be it a donation, suggestion, feature request or bug report, is highly appreciated.

Thanks!
If you want to support me and the Rain project
The Following 2 Users Say Thank You to ash.rain For This Useful Post: [ Click to Expand ]
 
amritpal2489
Old
#3  
Senior Member
Thanks Meter 10
Posts: 162
Join Date: Oct 2010
Amazing... Was hoping that someone make this... Great work buddy...
Let me get my hands dirty with the beta version
 
gentry33
Old
#4  
Member
Thanks Meter 6
Posts: 76
Join Date: Mar 2011
Nice work. Will this work on unsigned /sideloaded apps also?
 
derausgewanderte
Old
#5  
derausgewanderte's Avatar
Senior Member
Thanks Meter 294
Posts: 1,158
Join Date: Aug 2009
sounds very cool. I am surprised this hasn't been out there already. cool
Nokia Lumia 920
HP TouchPad dual boot WebOS and JB 4.4
Microsoft Surface Pro 128Gb
If you think this post was helpful, please click the Thanks button.
 
saud__19
Old
#6  
Member
Thanks Meter 7
Posts: 56
Join Date: Dec 2008
Location: Riyadh
perfect.

i am sure that this tool will help.

actually i am trying to modify some xap's

thanks.
 
GoodDayToDie
Old
#7  
Recognized Developer
Thanks Meter 2644
Posts: 5,537
Join Date: Jan 2011
Location: Seattle
Looks very cool!

Basic decompilation / recompilation of the IL would be neat, but IL isn't terribly hard to read or write (especially for people who already know some assembly).

One thing that would be useful (can't tell if it's there yet or not) would be to support adding folders called .. and files under them (allows path traversal to put files almost anywhere on the system). For bonus points, show the phone's filesystem as it would be after installation (the contents of the XAP unpacked with the root at \Applications\Install\<GUID>\Install\) so people can very easily put files where they want them.

A quick manifest tweaker (things like add/remove ID_CAP_INTEROPSERVICES) would also be cool, though exiting XML is easy by hand anyhow.

All in all, looks very cool. A very convenient all-in-one tool, aside from perhaps a decompiler.
The Following User Says Thank You to GoodDayToDie For This Useful Post: [ Click to Expand ]
 
ash.rain
Old
(Last edited by ash.rain; 14th January 2012 at 09:08 AM.)
#8  
ash.rain's Avatar
Junior Member - OP
Thanks Meter 23
Posts: 23
Join Date: Sep 2011
Location: the web

 
DONATE TO ME
Thanks for the positive replies so far, guys, I appreciate it! However, I'm more into suggestions and when I release a download - some critic. I've made a simple vote for the means of counting the interest, please use that.

Quote:
Originally Posted by GoodDayToDie View Post
Basic decompilation / recompilation of the IL would be neat, but IL isn't terribly hard to read or write (especially for people who already know some assembly).

One thing that would be useful (can't tell if it's there yet or not) would be to support adding folders called .. and files under them (allows path traversal to put files almost anywhere on the system). For bonus points, show the phone's filesystem as it would be after installation (the contents of the XAP unpacked with the root at \Applications\Install\<GUID>\Install\) so people can very easily put files where they want them.

A quick manifest tweaker (things like add/remove ID_CAP_INTEROPSERVICES) would also be cool, though exiting XML is easy by hand anyhow.
First of all, thanks for the post - you raised a few very good points.
I've already implemented a IL instructions edit form. I'm thinking about IL to C# conversion, but so far I've only made a C# to IL form. The other way around is a bit tricky, but is in my todo list for sure. And after all, yeah - IL is pretty easy to understand, and I've even implemented a simple "instruction description" field for every instruction for the sake of refference.

That second suggestion concerning file path tweaks is a very good idea and hadn't crossed my mind so far. I'll surely put that on the todo list as well!

The "manifest tweaker" is already on that list but I need to figure out the signing algorithm first, since it seems to be related to some data from the manifest.

Quote:
Originally Posted by gentry33 View Post
Nice work. Will this work on unsigned /sideloaded apps also?
Umm... no, not really :) As I said, I've got some things on my todo list and on the end of that list is spending a while trying to figure out the signing algorithm. If anyone can save me some time, that'd be cool.
If you want to support me and the Rain project
 
contable
Old
#9  
contable's Avatar
Senior Member
Thanks Meter 953
Posts: 1,690
Join Date: Oct 2009

 
DONATE TO ME
Indeed such a tool would be very interesting...
 
ahmedfikry
Old
#10  
ahmedfikry's Avatar
Senior Member
Thanks Meter 62
Posts: 1,417
Join Date: Jun 2007

 
DONATE TO ME
great idea...makes it easier than the workaround that I have been trying all along

i am interested in testing / beta ... & will be happy to help
ahmedfikry

Samsung Galaxy S iii (i-747)

Samsung Focus (i-917)
Windows Phone 7.5
ahmedfikry Samsung Focus rev1.3 Tango 8773.98 Unlocked roms

HTC Kaiser (Tilt)
ahmedfikry WM 6.5 Tilt UC light rom - 23569
HardSPL 3.56 - Radio 1.71.09.01

Eten Glofiish M700
ahmedfikry WM 6.5 Eten M700 UC light rom - 23569


click here to make a Paypal donation

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes