资源简介
Java语言解析dex文件
代码片段和文件信息
package com.wjdiankong.parsedex;
import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
public class ParseDexMain {
public static void main(String[] args){
byte[] srcByte = null;
FileInputStream fis = null;
ByteArrayOutputStream bos = null;
try{
fis = new FileInputStream(“dex/Hello.dex“);
bos = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int len = 0;
while((len=fis.read(buffer)) != -1){
bos.write(buffer 0 len);
}
srcByte = bos.toByteArray();
}catch(Exception e){
System.out.println(“read res file error:“+e.toString());
}finally{
try{
fis.close();
bos.close();
}catch(Exception e){
System.out.println(“close file error:“+e.toString());
}
}
if(srcByte == null){
System.out.println(“get src error...“);
return;
}
System.out.println(“ParseHeader:“);
ParseDexUtils.praseDexHeader(srcByte);
System.out.println(“++++++++++++++++++++++++++++++++++++++++“);
System.out.println(“Parse StringIds:“);
ParseDexUtils.parseStringIds(srcByte);
System.out.println(“++++++++++++++++++++++++++++++++++++++++“);
System.out.println(“Parse StringList:“);
ParseDexUtils.parseStringList(srcByte);
System.out.println(“++++++++++++++++++++++++++++++++++++++++“);
System.out.println(“Parse TypeIds:“);
ParseDexUtils.parseTypeIds(srcByte);
System.out.println(“++++++++++++++++++++++++++++++++++++++++“);
System.out.println(“Parse ProtoIds:“);
ParseDexUtils.parseProtoIds(srcByte);
System.out.println(“++++++++++++++++++++++++++++++++++++++++“);
System.out.println(“Parse FieldIds:“);
ParseDexUtils.parseFieldIds(srcByte);
System.out.println(“++++++++++++++++++++++++++++++++++++++++“);
System.out.println(“Parse MethodIds:“);
ParseDexUtils.parseMethodIds(srcByte);
System.out.println(“++++++++++++++++++++++++++++++++++++++++“);
System.out.println(“Parse ClassIds:“);
ParseDexUtils.parseClassIds(srcByte);
System.out.println(“++++++++++++++++++++++++++++++++++++++++“);
System.out.println(“Parse MapList:“);
ParseDexUtils.parseMapItemList(srcByte);
System.out.println(“++++++++++++++++++++++++++++++++++++++++“);
System.out.println(“Parse Class Data:“);
ParseDexUtils.parseClassData(srcByte);
System.out.println(“++++++++++++++++++++++++++++++++++++++++“);
System.out.println(“Parse Code Content:“);
ParseDexUtils.parseCode(srcByte);
System.out.println(“++++++++++++++++++++++++++++++++++++++++“);
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 301 2016-01-24 13:55 ParseAndroidDex\.classpath
文件 391 2016-01-24 13:55 ParseAndroidDex\.project
文件 87 2016-01-24 13:56 ParseAndroidDex\.settings\org.eclipse.core.resources.prefs
文件 598 2016-01-24 13:55 ParseAndroidDex\.settings\org.eclipse.jdt.core.prefs
文件 2766 2016-02-15 16:15 ParseAndroidDex\bin\com\wjdiankong\parsedex\ParseDexMain.class
文件 18212 2016-02-15 17:18 ParseAndroidDex\bin\com\wjdiankong\parsedex\ParseDexUtils.class
文件 461 2016-02-14 14:12 ParseAndroidDex\bin\com\wjdiankong\parsedex\struct\AnnotationsDirectoryItem.class
文件 1855 2016-02-14 17:28 ParseAndroidDex\bin\com\wjdiankong\parsedex\struct\ClassDataItem.class
文件 2110 2016-02-14 10:36 ParseAndroidDex\bin\com\wjdiankong\parsedex\struct\ClassDefItem.class
文件 1499 2016-02-15 09:46 ParseAndroidDex\bin\com\wjdiankong\parsedex\struct\CodeItem.class
文件 31405 2016-01-26 11:30 ParseAndroidDex\bin\com\wjdiankong\parsedex\struct\DexFile.h
文件 784 2016-02-14 15:58 ParseAndroidDex\bin\com\wjdiankong\parsedex\struct\EncodedField.class
文件 1004 2016-02-14 16:23 ParseAndroidDex\bin\com\wjdiankong\parsedex\struct\EncodedMethod.class
文件 847 2016-02-14 10:01 ParseAndroidDex\bin\com\wjdiankong\parsedex\struct\FieldIdsItem.class
文件 2460 2016-02-14 10:01 ParseAndroidDex\bin\com\wjdiankong\parsedex\struct\HeaderType.class
文件 861 2016-02-14 10:01 ParseAndroidDex\bin\com\wjdiankong\parsedex\struct\MapItem.class
文件 505 2016-02-14 10:01 ParseAndroidDex\bin\com\wjdiankong\parsedex\struct\MapList.class
文件 852 2016-02-14 10:01 ParseAndroidDex\bin\com\wjdiankong\parsedex\struct\MethodIdsItem.class
文件 1058 2016-02-14 10:01 ParseAndroidDex\bin\com\wjdiankong\parsedex\struct\ProtoIdsItem.class
文件 504 2016-02-14 10:01 ParseAndroidDex\bin\com\wjdiankong\parsedex\struct\StringDataItem.class
文件 649 2016-02-14 10:01 ParseAndroidDex\bin\com\wjdiankong\parsedex\struct\StringIdsItem.class
文件 642 2016-02-14 10:01 ParseAndroidDex\bin\com\wjdiankong\parsedex\struct\TypeIdsItem.class
文件 485 2016-02-14 10:01 ParseAndroidDex\bin\com\wjdiankong\parsedex\struct\TypeList.class
文件 5646 2016-02-15 09:45 ParseAndroidDex\bin\com\wjdiankong\parsedex\Utils.class
文件 1063516 2016-01-24 14:03 ParseAndroidDex\dex\classes.dex
文件 740 2016-01-25 10:40 ParseAndroidDex\dex\Hello.dex
文件 2585 2016-02-15 16:15 ParseAndroidDex\src\com\wjdiankong\parsedex\ParseDexMain.java
文件 23384 2016-02-15 17:18 ParseAndroidDex\src\com\wjdiankong\parsedex\ParseDexUtils.java
文件 341 2016-02-14 14:12 ParseAndroidDex\src\com\wjdiankong\parsedex\struct\AnnotationsDirectoryItem.java
文件 1771 2016-02-14 17:28 ParseAndroidDex\src\com\wjdiankong\parsedex\struct\ClassDataItem.java
............此处省略32个文件信息
评论
共有 条评论