Jump to content
BigBearMDC

Android XML Decompiler

Recommended Posts

Hi guys

I wrote a small tool that lets you decompile Android XML files.

Well its more just a GUI for AXMLPrinter2.

What you need:

.NET Framework 3.5

Java SDK

HowTo:

Just click on File -> Open XML File.

You can then edit it in the Textbox below.

If you want to save your XML file click on File -> Save XML File.

Thats all.

Screenshot:

axmlprinterguiscreensho.png

Greetings,

BigBear

AXMLPrinterGUI.rar

Edited by BigBearMDC
  • Upvote 2

Share this post


Link to post
Share on other sites
Hi guys

I wrote a small tool that lets you decompile Android XML files.

Well its more just a GUI for AXMLPrinter2.

What you need:

.NET Framework 3.5

Java SDK

HowTo:

Just click on File -> Open XML File.

You can then edit it in the Textbox below.

If you want to save your XML file click on File -> Save XML File.

Thats all.

Screenshot:

axmlprinterguiscreensho.png

Greetings,

BigBear

So, with this can you edit xml files without having to rebuild the program?

Share this post


Link to post
Share on other sites
So, with this can you edit xml files without having to rebuild the program?

Nope, you can just decompile and view them.

As said, this is just a GUI for AXMLPrinter <_<

Greetings,

BigBear

Share this post


Link to post
Share on other sites

I just thought a bit about the idea of adding a feature that allows us to convert (or compile) the xml file to an android xml file.

If it works in one direction, why not in the other.

All this app does is translating the xml file...

We'll see...

Greetings,

BigBear

Share this post


Link to post
Share on other sites

Great Work BigBear, should be very usefull in Android App analysis and development, gonna test it out when got time and a use for it <_<

Share this post


Link to post
Share on other sites
I just thought a bit about the idea of adding a feature that allows us to convert (or compile) the xml file to an android xml file.

If it works in one direction, why not in the other.

All this app does is translating the xml file...

We'll see...

Greetings,

BigBear

Would be great, if possible!!

Share this post


Link to post
Share on other sites
Would be great, if possible!!

Has anyone tried the apktool? It claims to decompile and then compile xml files (among other thinks). This youtube

seems to suggest it works. It may be worth a look.

Share this post


Link to post
Share on other sites

Yup, a GUI for that would be much useful, how about it Bobo? :)

Take an APK file, list the contents, allow you to modify, and then rebuild and resign the APK :D

If not, then I might take a stab at it. I could do with a rest from updata.app hacking.

Edited by Speckles

Share this post


Link to post
Share on other sites
Yup, a GUI for that would be much useful, how about it Bobo? :D

Take an APK file, list the contents, allow you to modify, and then rebuild and resign the APK :P

If not, then I might take a stab at it. I could do with a rest from updata.app hacking.

Sure, I'll write a GUI for that :P

Actually AnDE does something similar, except of editing AXML files.

Speckles, maybe you could help me with the only problem that I have with writing my own singing application:

As you know, there are 3 files that are used to sign an APK.

The first one is the MANIFEST.MF.

It contains path and SHA1-Digest of every file (I already managed to create this file on my own).

Second, there's a file called CERT.SF, which is used to create the CERT.RSA file.

The CERT.SF file is just a copy of the MANIFEST.MF file.

However, the CERT.RSA file is 2kb large, but only the last 512 bytes seem to be the signature.

The rest of the file (from the begging until [length-of-file-in-bytes] - 512) stays the same (it says something like "Android" and "San Francisco" all the time :) ).

To create this 512 bytes of signature, the testsign application uses a .X509 certificate containing the public key and a .pk8 private key, which I converted into a XML formatted private key.

So I have now the public and private key for the RSA encryption, but I don't know what I shall do with them.

My theory is that those 512 bytes are a checksum of the CERT.SF / MANIFEST.MF file that is singed using a RSA algorithm, but I'm not sure =/

Maybe you know what I have to do ...

Edit: I think its some kind of certificate, as the file's name is "CERT.RSA".

Best regards,

BigBear

Edited by BigBearMDC

Share this post


Link to post
Share on other sites

For the first version I wouldn't worry about that, just run signAPK.jar. We'll worry about the particulars later when it works :)

Share this post


Link to post
Share on other sites
For the first version I wouldn't worry about that, just run signAPK.jar. We'll worry about the particulars later when it works :huh:

This tool doesn't appear to work with FroYo XML files, am I missing something simple? Tried to open status_bar.xml and it says it's empty even though it's a 4KB file. It does error when I run the Jar without the GUI.

Share this post


Link to post
Share on other sites

It doesn't work for me.

When trying to open this file:

C:\MyData\Prive\FietsKnoopPunten\OtherApps\Google_Maps_4.5.0\res\layout\list.xml

I get the following error:

System.IO.FileNotFoundException: Could not find file 'C:\MyData\Prive\FietsKnoopPunten\OtherApps\Google_Maps_4.5.0\res\layout\175182.txt'.

Regards,

Alex

Share this post


Link to post
Share on other sites
It doesn't work for me.

When trying to open this file:

C:\MyData\Prive\FietsKnoopPunten\OtherApps\Google_Maps_4.5.0\res\layout\list.xml

I get the following error:

System.IO.FileNotFoundException: Could not find file 'C:\MyData\Prive\FietsKnoopPunten\OtherApps\Google_Maps_4.5.0\res\layout\175182.txt'.

Regards,

Alex

Hmm well this little application really needs an update :)

I assume you're using either Windows Vista or 7? In this case you likely don't have write permission in this folder. You could try to run the app as administrator or just copy the file to another location :)

Best regards,

BB

Share this post


Link to post
Share on other sites
Hola solo hablo español y estoy probando ye me sale este error:

f56844f550.PNG

estoy usando FROYO 2.2.1

Saludos y gracias

Look at my previous post. That should solve the problem :)

Best regards,

BB

Share this post


Link to post
Share on other sites

nothing buddy :)

in details view:

See the end of this message for details on invoking

just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************

System.IO.FileNotFoundException: Could not find file 'C:\Documents and Settings\Family\Escritorio\FroyoLauncher\res\xml\754052.txt'.

File name: 'C:\Documents and Settings\Family\Escritorio\FroyoLauncher\res\xml\754052.txt'

at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)

at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy)

at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy)

at System.IO.FileStream..ctor(String path, FileMode mode)

at AXMLPrinter.Form1.openXMLDialog_FileOk(Object sender, CancelEventArgs e)

at System.Windows.Forms.FileDialog.OnFileOk(CancelEventArgs e)

at System.Windows.Forms.FileDialog.DoFileOk(IntPtr lpOFN)

************** Loaded Assemblies **************

mscorlib

Assembly Version: 2.0.0.0

Win32 Version: 2.0.50727.3615 (GDR.050727-3600)

CodeBase: file:///c:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll

----------------------------------------

AXMLPrinter

Assembly Version: 1.0.0.0

Win32 Version: 1.0.0.0

CodeBase: file:///C:/Documents%20and%20Settings/Family/Escritorio/AXMLPrinterGUI/AXMLPrinter.exe

----------------------------------------

System.Windows.Forms

Assembly Version: 2.0.0.0

Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)

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.3614 (GDR.050727-3600)

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.3053 (netfxsp.050727-3000)

CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll

----------------------------------------

System.Xml

Assembly Version: 2.0.0.0

Win32 Version: 2.0.50727.3082 (QFE.050727-3000)

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:

<configuration>

<system.windows.forms jitDebugging="true" />

</configuration>

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.

Edited by Paule213

Share this post


Link to post
Share on other sites

For those who posted above and had problems opening XML files, there's a solution:

1- Extract the two files of the download and host them on a specific folder.

2- Copy and paste the XML files you want to decompile in the folder created previously.

3- Then run AXMLPrinter.exe and go to File and localize manually the XMLs copied in the previous step.

It works for me.

PD: sorry for my english :lol:

Share this post


Link to post
Share on other sites
For those who posted above and had problems opening XML files, there's a solution:

1- Extract the two files of the download and host them on a specific folder.

2- Copy and paste the XML files you want to decompile in the folder created previously.

3- Then run AXMLPrinter.exe and go to File and localize manually the XMLs copied in the previous step.

It works for me.

PD: sorry for my english :D

Thanks jvrfranco...This workaround worked for me perfectly.

Share this post


Link to post
Share on other sites

So I have the .xml file from framework-res.apk (but I no longer have that .apk) and I want to make changes to it.

So I put the two files from the .rar download in a directory with the said .xml file.

I Run the .exe, hit file open, and open the same .xml file.

But I get an error...

The XML page cannot be displayed 

Cannot view XML input using style sheet. Please correct the error and then click the Refresh button, or try again later. 



--------------------------------------------------------------------------------


XML document must have a top level element. Error processing resource 'file:///C:/Documents and Settings/Finn/My Documents/...

Share this post


Link to post
Share on other sites

Paid decompile project?

I am willing to pay someone for their time. I am looking for someone to decompile an Android apk on my behalf.

I have been looking for the proper code to create my Android application for well over two months now, without finding a viable solution. I am simply not finding the proper answers to build my application however I did find another finished Android project which is very close to what I want my application to do. I no longer have the time to continue researching code without having anything to show for it.

The Android application I am building is less that 30% similar to the Android application that I have found that I want to use as the base to start from and decompile. I would need the .apk file decompiled so I can open the file in Eclipse and view the full codebase and content of all:

src--> .java files

gen--> .java files

.jar files used in the application

and all the .xml files of the:

res--> layout and

res--> values, as well as the

manifest.xml

You can reach me at [email protected]

Share this post


Link to post
Share on other sites

Hi guys

I wrote a small tool that lets you decompile Android XML files.

Well its more just a GUI for AXMLPrinter2.

What you need:

.NET Framework 3.5

Java SDK

Greetings,

BigBear

Great BigBear,

It's very useful. However, the 2 files, i.e., (1) AXMLPrinter.exe and (2) AXMLPrinter2.jar must reside within the same folder where the xml files are to be edited. Otherwise (the editor folder and a separate target XML folder), it says "Error, failed to locate 12345.txt...". This error is caused by generating the 12345.txt temporarily inside the editor folder instead of having it inside the target XML folder.

It is such a good app. :o Please, please improve it for everyone.

Many Thanks!

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.