A program to flip every private, protected and package-private access flag to public in an Android dex file!

Overview

DexExposed

A program to flip every private, protected and package-private access flag to public in an Android dex file!

Building

Simply run gradle makeJar. Built with Gradle 7.0.

Usage

Usage: java -jar dxp.jar [options] INPUT FILE(S)
  Options:
    -p, --do-pkg
      Only run the tool on a specific package. May be a regex that matches the
      BINARY version of a package. For example, 'Lex/pkg/[a-f0-9]{32}/data'.
      Default: .* (everything)
    -h, --help
      Prints the usage information.
      Default: false
    -o, --output-dir
      Directory to output to.
      Default: <Directory the jar is in>/output

Note

This processes the following:

  • Class signatures
  • Field signatures
  • Method signatures

If there is something missing from this list, please let me know!

Reasoning

While instrumenting Android malware, I often want to write 'plugins' in Java to interact with it. The plugins are written using the malware's own code as an API and this allows me to achieve Xposed-like functionality. In many cases though, I find that it's near impossible to do this as many items are private, protected, or package-private. It's annoying, so I created this tool to save me the headache of having to manually edit the items I needed to be public.

dexlib2

This program is powered by dexlib2, which has the following license:

Copyright 2012, Google Inc.
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:

   *  Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
   *  Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following disclaimer
in the documentation and/or other materials provided with the
distribution.
   *  Neither the name of Google Inc. nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
You might also like...
MiHawk  πŸ¦…πŸ‘οΈ  is simple and secure πŸ”’ Android Library to store and retrieve pair of key-value data with encryption , internally it use jetpack DataStore Preferences πŸ’½ to store data.
MiHawk πŸ¦…πŸ‘οΈ is simple and secure πŸ”’ Android Library to store and retrieve pair of key-value data with encryption , internally it use jetpack DataStore Preferences πŸ’½ to store data.

MiHawk MiHawk πŸ¦… πŸ‘οΈ is simple and secure πŸ”’ Android Library to store and retrieve pair of key-value data with encryption , internally it use jetpack

Simple API to perform AES encryption on Android. This is the Android counterpart to the AESCrypt library Ruby and Obj-C (with the same weak security defaults :( ) created by Gurpartap Singh. https://github.com/Gurpartap/aescrypt

AESCrypt-Android Simple API to perform AES encryption on Android with no dependancies. This is the Android counterpart to the AESCrypt library Ruby an

Grab’n Run, a simple and effective Java Library for Android projects to secure dynamic code loading.
Grab’n Run, a simple and effective Java Library for Android projects to secure dynamic code loading.

Grab’n Run, a simple and effective Java Library for Android projects to secure dynamic code loading.

Android virtual machine and deobfuscator
Android virtual machine and deobfuscator

Simplify Generic Android Deobfuscator Simplify virtually executes an app to understand its behavior and then tries to optimize the code so that it beh

A Java ePub reader and parser framework for Android.
A Java ePub reader and parser framework for Android.

FolioReader-Android is an EPUB reader written in Java and Kotlin. Features Custom Fonts Custom Text Size Themes / Day mode / Night mode Text Highlight

A simple android app that parses its own signature and displays it

SigDisplayer Usage Download the release APK or clone the repository and compile yourself. Sign the APK with your preferred keystore. Install and open

CRYLOGGER: Detecting Crypto Misuses for Android and Java Apps Dynamically

CRYLOGGER: Detecting Crypto Misuses for Android and Java Apps Dynamically

Writeup and exploit for installed app to system privilege escalation on Android 12 Beta through CVE-2021-0928, a `writeToParcel`/`createFromParcel` serialization mismatch in `OutputConfiguration`
Writeup and exploit for installed app to system privilege escalation on Android 12 Beta through CVE-2021-0928, a `writeToParcel`/`createFromParcel` serialization mismatch in `OutputConfiguration`

Writeup and exploit for installed app to system privilege escalation on Android 12 Beta through CVE-2021-0928, a `writeToParcel`/`createFromParcel` serialization mismatch in `OutputConfiguration`

Easy to use cryptographic framework for data protection: secure messaging with forward secrecy and secure data storage. Has unified APIs across 14 platforms.
Easy to use cryptographic framework for data protection: secure messaging with forward secrecy and secure data storage. Has unified APIs across 14 platforms.

Themis provides strong, usable cryptography for busy people General purpose cryptographic library for storage and messaging for iOS (Swift, Obj-C), An

Releases(0.0.1)
Owner
John Doe
John Doe
An advanced DEX editor for Android.

Dexter A WIP DEX editor (hence the name Dexter) for Android that uses Smali. Available decompilers JADX Fernflower CFR JD-Core Procyon TO-DO Implement

Mike Anderson 72 Dec 23, 2022
Smali/baksmali is an assembler/disassembler for the dex format used by dalvik, Android's Java VM implementation

About smali/baksmali is an assembler/disassembler for the dex format used by dalvik, Android's Java VM implementation. The syntax is loosely based on

Ben Gruver 5.7k Dec 27, 2022
Dex to Java decompiler

JADX jadx - Dex to Java decompiler Command line and GUI tools for producing Java source code from Android Dex and Apk files Main features: decompile D

null 32.8k Jan 2, 2023
Dex manipulation library

dexterity Description dexterity is a C library intended for manipulation and analysis of DEX files. It has python bindings for all basic DEX structure

Rodrigo Chiossi 93 Nov 25, 2022
A tool translate a apk file to stantard android project include so hook api and il2cpp c++ scaffolding when apk is a unity il2cpp game. Write code on a apk file elegantly.

FakerAndroid (FakerAndroid.jar or FakerAndroid-AS) A tool translate a apk file to stantard android project include so hook api and il2cpp c++ scaffold

null 231 Dec 29, 2022
A program analysis tool to find cryptographic misuse in Java and Android.

A program analysis tool to find cryptographic misuse in Java and Android.

null 92 Dec 15, 2022
A Program Analysis Toolkit for Android

PATDroid PATDroid is a collection of tools and data structures for analyzing Android applications and the system itself. We intend to build it as a co

Mingyuan Xia 103 Dec 10, 2022
BlackDex is an Android unpack tool, it supports Android 5.0~12 and need not rely to any environment. BlackDex can run on any Android mobile phones or emulators, you can unpack APK File in several seconds.

BlackDex is an Android unpack tool, it supports Android 5.0~12 and need not rely to any environment. BlackDex can run on any Android mobile phones or emulators, you can unpack APK File in several seconds.

null 4.3k Jan 2, 2023
Extract SHA-256 Certificate Fingerprint from hostname or certificate (.crt, .der or .pem) file

Certificate Fingerprint Extractor This tool extract SHA-256 Certificate Fingerprint from hostname or certificate (.crt, .der or .pem) file. In order t

Reign 1 Nov 8, 2022