FORUMS

Two New Moto X and New Moto G – Specs & Details

Today’s Moto event just ended and now we have a clear look at all of … more

How Strong Is Your Connection? – XDA Xposed Tuesday

Everyone is always talking about their bars. How many bars of WiFi do they … more

OnePlus 2 Announced: Specs, Price and Details

The OnePlus 2 has just had its Virtual Reality Launch event, and at the XDA Office we all … more

A Helpful Guide to Music Streaming Services

With the launch of Apple Music, music streaming services have recently gained a lot of … more

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

23 posts
Thanks Meter: 23
 
By ash.rain, Junior Member on 13th January 2012, 03:04 PM
Post Reply Subscribe to Thread Email Thread
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!
Last edited by ash.rain; 15th May 2012 at 01:20 PM.
The Following 13 Users Say Thank You to ash.rain For This Useful Post: [ View ]
 
 
13th January 2012, 03:07 PM |#2  
ash.rain's Avatar
OP Junior Member
the web
Thanks Meter: 23
 
Donate to Me
More
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!
Last edited by ash.rain; 17th April 2012 at 09:33 AM.
The Following 2 Users Say Thank You to ash.rain For This Useful Post: [ View ]
13th January 2012, 04:13 PM |#3  
Senior Member
Thanks Meter: 15
 
More
Amazing... Was hoping that someone make this... Great work buddy...
Let me get my hands dirty with the beta version
14th January 2012, 02:11 AM |#4  
Member
Thanks Meter: 6
 
More
Thumbs up
Nice work. Will this work on unsigned /sideloaded apps also?
14th January 2012, 04:02 AM |#5  
derausgewanderte's Avatar
Senior Member
Thanks Meter: 297
 
More
sounds very cool. I am surprised this hasn't been out there already. cool
14th January 2012, 06:22 AM |#6  
Senior Member
Flag Riyadh
Thanks Meter: 17
 
More
perfect.

i am sure that this tool will help.

actually i am trying to modify some xap's

thanks.
14th January 2012, 08:23 AM |#7  
Recognized Developer
Flag Seattle
Thanks Meter: 2,864
 
More
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: [ View ]
14th January 2012, 08:44 AM |#8  
ash.rain's Avatar
OP Junior Member
the web
Thanks Meter: 23
 
Donate to Me
More
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

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

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.
Last edited by ash.rain; 14th January 2012 at 09:08 AM.
14th January 2012, 10:38 AM |#9  
contable's Avatar
Senior Member
Thanks Meter: 993
 
Donate to Me
More
Indeed such a tool would be very interesting...
14th January 2012, 01:29 PM |#10  
ahmedfikry's Avatar
Senior Member
Thanks Meter: 62
 
Donate to Me
More
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
14th January 2012, 01:43 PM |#11  
snickler's Avatar
Forum Moderator / Recognized Developer
Flag Dub V
Thanks Meter: 684
 
Donate to Me
More
Quote:
Originally Posted by contable

Indeed such a tool would be very interesting...

Agreed. It would aid in checking to see how obfuscated my apps are

Read More
Post Reply Subscribe to Thread
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes