Android DEX: Difference between revisions

From XentaxWiki
Jump to navigation Jump to search
imported>Ikskoks
(Created page with "{{GRAFPageHeader}} == DEX == * ''' Format Type ''': Android Bytecode <br> * ''' [http://en.wikipedia.org/wiki/Endianness Endian Order] ''': Little Endian <br> * ''' Sign...")
 
imported>Ikskoks
 
(14 intermediate revisions by the same user not shown)
Line 3: Line 3:


* ''' Format Type ''':    Android Bytecode <br>  
* ''' Format Type ''':    Android Bytecode <br>  
* ''' [http://en.wikipedia.org/wiki/Endianness Endian Order] ''': Little Endian <br>
* ''' [http://en.wikipedia.org/wiki/Endianness Endian Order] ''': Little Endian / Big Endian<br>
* ''' Signature ''':    64 65 78 0a 30 33 39 00 / dex\n039\0<br>  
* ''' Signature ''':    64 65 78 0a 30 33 39 00 / dex\n039\0<br>  


Line 9: Line 9:
=== Format Specifications ===  
=== Format Specifications ===  


<div class="toccolours mw-collapsible" id="mw-customcollapsible-myDivision" style="width:800px; overflow:auto;">
<div class="toccolours mw-collapsible" id="mw-customcollapsible-myDivision" style="width:900px; overflow:auto;">
<pre>
<pre>
//header
//header
Line 31: Line 31:
=== Notes and Comments ===  
=== Notes and Comments ===  


* This file format occurs in all Android games. It contains Java bytecode.
* This file format occurs in all Android games. It contains Android bytecode.
* DEX files can be disassembled to '''smali''' files or decompiled to Java source code.
* DEX files can be disassembled to '''smali''' files or decompiled to '''Java''' source code.
* Usually DEX file is called classes.dex and it is placed in root directory of Android APK file.


=== Games ===  
=== Games ===  

Latest revision as of 22:06, 12 January 2022

Back to index | Edit this page

DEX

  • Format Type : Android Bytecode
  • Endian Order : Little Endian / Big Endian
  • Signature : 64 65 78 0a 30 33 39 00 / dex\n039\0


Format Specifications

//header
8 bytes (char) - signature // 64 65 78 0A 30 33 35 00 / "dex\n035\0"
                           // 64 65 78 0a 30 33 39 00 / "dex\n039\0"
4 bytes (uint32) - adler32 checksum of the rest of the file (everything but magic and this field)
20 bytes - SHA-1 signature (hash) of the rest of the file
4 bytes (uint32) -  size of the entire file
4 bytes (uint32) -  size of the header  // 0x70 / 112
4 bytes (uint32) - endianess  // 78 56 34 12 - little endian
                              // 12 34 56 78 - big endian

// TODO

MultiEx BMS Script

Not written yet.

Notes and Comments

  • This file format occurs in all Android games. It contains Android bytecode.
  • DEX files can be disassembled to smali files or decompiled to Java source code.
  • Usually DEX file is called classes.dex and it is placed in root directory of Android APK file.

Games

List of games using this file format:

  • all Android games...

Compatible Programs