Code Monkey home page Code Monkey logo

dexinfo's Introduction

dexinfo

A very rudimentary dex file parser

Usage

=== dexinfo 0.1 - (c) 2012-2013 Pau Oliva Fora

Usage: dexinfo <file.dex> [options]
 options:
    -V             print verbose information

Examples

Dex file conaining a hello world application:

$ dexinfo classes.dex 

=== dexinfo 0.1 - (c) 2012-2013 Pau Oliva Fora

[] Dex file: classes.dex

[] DEX magic: 64 65 78 0A 30 33 35 00 
[] DEX version: 035
[] Adler32 checksum: 0x6b7223bc
[] SHA1 signature: fca1af87e410f88d6bbd07852f0819f435222988

[] Number of classes in the archive: 8
[] Class 1 (HelloWorld.java): 1 direct methods, 1 virtual methods
	direct method 1 = <init>
	virtual method 1 = onClick
[] Class 2 (HelloWorld.java): 2 direct methods, 1 virtual methods
	direct method 1 = <init>
	direct method 2 = access$0
	virtual method 1 = onCreate
[] Class 3 (R.java): 1 direct methods, 0 virtual methods
	direct method 1 = <init>
[...]

Same file, with verbose information:

$ dexinfo classes.dex -V

=== dexinfo 0.1 - (c) 2012-2013 Pau Oliva Fora

[] Dex file: classes.dex

[] DEX magic: 64 65 78 0A 30 33 35 00 
[] DEX version: 035
[] Adler32 checksum: 0x6b7223bc
[] SHA1 signature: fca1af87e410f88d6bbd07852f0819f435222988
[] File size: 3496 bytes
[] DEX Header size: 112 bytes (0x70)
[] Endian Tag: 0x12345678
[] Link size: 0
[] Link offset: 0x0
[] Map list offset: 0xcd8
[] Number of strings in string ID list: 72
[] String ID list offset: 0x70
[] Number of types in the type ID list: 27
[] Type ID list offset: 0x190
[] Number of items in the method prototype ID list: 14
[] Method prototype ID list offset: 0x1fc
[] Number of item in the field ID list: 10
[] Field ID list offset: 0x2a4
[] Number of items in the method ID list: 25
[] Method ID list offset: 0x2f4
[] Number of items in the class definitions list: 8
[] Class definitions list offset: 0x3bc
[] Data section size: 2284 bytes
[] Data section offset: 0x4bc

[] Number of classes in the archive: 8
[] Class 1 (HelloWorld.java): 
        type_descriptor: Lpof/helloworld/HelloWorld$1;
        class_idx=0x12
        access_flags=0x0
        superclass_idx=0xf
        interfaces_off=0x72c
        source_file_idx=0x3
        annotations_off=0x6bc
        class_data_off=0xc63 (3171)
        static_values_off=0x0 (0)
        0 static fields
        1 instance fields
                 field_idx_diff=0x0
                 field_access_flags=0x1010
        1 direct methods
        direct method 1 = <init>
                method_code_off=0x50c
                method_access_flags=0x10000
                class_idx=0x12
                proto_idx=0xd
        1 virtual methods
        virtual method 1 = onClick
                method_code_off=0x528
                method_access_flags=0x1
                class_idx=0x12
                proto_idx=0xb
[] Class 2 (HelloWorld.java): 
        type_descriptor: Lpof/helloworld/HelloWorld;
        class_idx=0x13
        access_flags=0x1
        superclass_idx=0x1
        interfaces_off=0x0
        source_file_idx=0x3
        annotations_off=0x0
        class_data_off=0xc74 (3188)
        static_values_off=0x0 (0)
        0 static fields
        2 instance fields
                 field_idx_diff=0x1
                 field_access_flags=0x2
                 field_idx_diff=0x1
                 field_access_flags=0x2
        2 direct methods
        direct method 1 = <init>
                method_code_off=0x59c
                method_access_flags=0x10001
                class_idx=0x13
                proto_idx=0x7
        direct method 2 = access$0
                method_code_off=0x5b4
                method_access_flags=0x1008
                class_idx=0x13
                proto_idx=0x3
        1 virtual methods
        virtual method 1 = onCreate
                method_code_off=0x5cc
                method_access_flags=0x1
                class_idx=0x13
                proto_idx=0x9
[] Class 3 (R.java): 
        type_descriptor: Lpof/helloworld/R$attr;
        class_idx=0x14
        access_flags=0x11
        superclass_idx=0xf
        interfaces_off=0x0
        source_file_idx=0x22
        annotations_off=0x6cc
        class_data_off=0xc8b (3211)
        static_values_off=0x0 (0)
        0 static fields
        0 instance fields
        1 direct methods
        direct method 1 = <init>
                method_code_off=0x62c
                method_access_flags=0x10001
                class_idx=0x14
                proto_idx=0x7
        0 virtual methods
[...]

dexinfo's People

Contributors

poliva avatar

Watchers

 avatar

Forkers

galagie

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.