Skip to content

ndrong/mono_unbundle

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A utility for extracting DLL files from Xamarin/Monodroid application bundles (libmonodroid_bundle_app.so), as created by the mono_mkbundle tool.

Useful in the reverse engineering of Android applications written in C# or other .NET languages supported by the Mono/Xamarin platform. You can import the resulting DLLs directly into your favourite .NET decompiler, such as ILSpy, dnSpy, dotPeek and JustDecompile.

Currently only supports ELF shared objects, as generated by Xamarin for packaging into an APK file. Patches welcome to support other formats.

Requires Python >=3.5 and Pipenv to install.

On Windows, you'll need DLLs for libmagic. The easiest way to get them is to install the python-magic-bin package from pip.

Installation

$ git clone https://github.com/tjg1/mono_unbundle.git
$ cd mono_unbundle
$ pip install .

Usage

$ apktool d -rs myapp.apk -o mod    # https://ibotpeaches.github.io/Apktool/
$ mono_unbundle mod/lib/armeabi-v7a/libmonodroid_bundle_app.so dlls/

Wishlist

  • Binary patching DLLs into the bundle.

Credits

  • Ghidra for help reverse engineering the bundle format.

About

Extract DLL files from a Xamarin libmonodroid_app_bundle.so bundle

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%