Skip to content

neosophaux/DexExposed

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

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

Topics

Resources

License

Stars

5 stars

Watchers

1 watching

Forks

Contributors

Languages