91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 58KB
    文件類型: .rar
    金幣: 2
    下載: 1 次
    發(fā)布日期: 2021-06-25
  • 語言: 其他
  • 標簽: 解析so??

資源簡介

解析so文件的工具類,很實用的一個工具類。

資源截圖

代碼片段和文件信息

package?com.demo.parseso;

/**
?*?添加一個Section:
?*?1、修改elf頭部中的section的總數(shù)信息
?*?2、在section?header中添加一個section?header信息
?*?3、修改strtab的長度,放置section?header的名稱
?*?@author?i
?*
?*/
public?class?AddSection?{

private?final?static?String?newSectionName?=?“.jiangwei“;
private?final?static?int?newSectionSize?=?1000;
private?final?static?int?newSectionNameLen?=?0x10;//new?section?name的長度不能超過0x10

private?final?static?int?sectionSize?=?40;//一個Section的大小
private?final?static?int?stringSectionSizeIndex?=?20;//String?section中的size字段的index
private?final?static?int?programFileSizeIndex?=?16;//program?header中的file?size的index
private?final?static?int?elfHeaderSize?=?0x34;//elf?header的大小
private?final?static?int?programHeaderSize?=?0x20;//Program?Header的大小
private?final?static?int?elfHeaderSectionCountIndex?=?48;//elf?header中的section總數(shù)

public?static?int?sectionHeaderOffset;//section?header的偏移值
public?static?short?stringSectionInSectionTableIndex;//string?section在section?list中的index
public?static?int?stringSectionOffset;//string?section中的偏移值
public?static?int?firstLoadInPHIndex;//第一個Load類型的Program?Header的在Program?Header?List中的index?從0開始
public?static?int?lastLoadInPHIndex;
public?static?int?addSectionstartAddr?=?0;//添加Section段的開始地址

/**
?*?修改elf頭部總的section的總數(shù)信息
?*/
public?static?byte[]?changeElfHeaderSectionCount(byte[]?src){
byte[]?count?=?Utils.copyBytes(src?elfHeaderSectionCountIndex?2);
short?counts?=?Utils.byte2Short(count);
counts++;
count?=?Utils.short2Byte(counts);
src?=?Utils.replaceByteAry(src?elfHeaderSectionCountIndex?count);
return?src;
}

/**
?*?添加section?header信息
?*?原理:
?*?找到String?Section的位置,然后獲取他偏移值
?*?將section添加到文件末尾
?*/
public?static?byte[]?addSectionHeader(byte[]?src){
/**
?*??public?byte[]?sh_name?=?new?byte[4];
public?byte[]?sh_type?=?new?byte[4];
public?byte[]?sh_flags?=?new?byte[4];
public?byte[]?sh_addr?=?new?byte[4];
public?byte[]?sh_offset?=?new?byte[4];
public?byte[]?sh_size?=?new?byte[4];
public?byte[]?sh_link?=?new?byte[4];
public?byte[]?sh_info?=?new?byte[4];
public?byte[]?sh_addralign?=?new?byte[4];
public?byte[]?sh_entsize?=?new?byte[4];
?*/
byte[]?newHeader?=?new?byte[sectionSize];

//構(gòu)建一個New?Section?Header
newHeader?=?Utils.replaceByteAry(newHeader?0?Utils.int2Byte(addSectionstartAddr?-?stringSectionOffset));
newHeader?=?Utils.replaceByteAry(newHeader?4?Utils.int2Byte(ElfType32.SHT_PROGBITS));//type=PROGBITS
newHeader?=?Utils.replaceByteAry(newHeader?8?Utils.int2Byte(ElfType32.SHF_ALLOC));
newHeader?=?Utils.replaceByteAry(newHeader?12?Utils.int2Byte(0x5010));
newHeader?=?Utils.replaceByteAry(newHeader?16?Utils.int2Byte(0x5010));
newHeader?=?Utils.replaceByteAry(newHeader?20?Utils.int2Byte(newSectionSize));
newHeader?=?Utils.replaceByteAry(newHeader?24?Utils.int2Byte(0));
newHeader?=?Utils.replaceByteAry(newHeader?28?Utils.int2Byte(0));
newHeade

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件????????301??2015-10-15?09:54??SoFileParse\.classpath

?????文件????????387??2015-10-15?09:54??SoFileParse\.project

?????文件????????598??2015-10-15?09:54??SoFileParse\.settings\org.eclipse.jdt.core.prefs

?????文件???????2408??2015-10-22?11:47??SoFileParse\bin\com\demo\parseso\AddSection.class

?????文件??????43518??2015-10-15?11:33??SoFileParse\bin\com\demo\parseso\elf.h

?????文件???????1852??2015-10-19?17:04??SoFileParse\bin\com\demo\parseso\ElfType32$elf32_hdr.class

?????文件???????1297??2015-10-19?17:04??SoFileParse\bin\com\demo\parseso\ElfType32$elf32_phdr.class

?????文件????????939??2015-10-19?17:04??SoFileParse\bin\com\demo\parseso\ElfType32$elf32_rel.class

?????文件???????1013??2015-10-19?17:04??SoFileParse\bin\com\demo\parseso\ElfType32$elf32_rela.class

?????文件???????1462??2015-10-19?17:04??SoFileParse\bin\com\demo\parseso\ElfType32$elf32_shdr.class

?????文件????????843??2015-10-19?17:04??SoFileParse\bin\com\demo\parseso\ElfType32$elf32_strtb.class

?????文件???????1176??2015-10-19?17:04??SoFileParse\bin\com\demo\parseso\ElfType32$Elf32_Sym.class

?????文件???????3809??2015-10-19?17:04??SoFileParse\bin\com\demo\parseso\ElfType32.class

?????文件????????784??2015-10-15?12:09??SoFileParse\bin\com\demo\parseso\ElfType64$elf64_hdr.class

?????文件????????634??2015-10-15?12:09??SoFileParse\bin\com\demo\parseso\ElfType64$elf64_phdr.class

?????文件????????518??2015-10-15?12:09??SoFileParse\bin\com\demo\parseso\ElfType64$elf64_rel.class

?????文件????????540??2015-10-15?12:09??SoFileParse\bin\com\demo\parseso\ElfType64$elf64_rela.class

?????文件????????680??2015-10-15?12:09??SoFileParse\bin\com\demo\parseso\ElfType64$elf64_shdr.class

?????文件????????608??2015-10-15?12:09??SoFileParse\bin\com\demo\parseso\ElfType64$elf64_sym.class

?????文件???????1252??2015-10-15?12:09??SoFileParse\bin\com\demo\parseso\ElfType64.class

?????文件???????6579??2015-10-22?11:43??SoFileParse\bin\com\demo\parseso\ParseSo.class

?????文件???????5453??2015-10-22?11:41??SoFileParse\bin\com\demo\parseso\Utils.class

?????文件??????13432??2015-10-20?11:53??SoFileParse\so\libhello-jni.so

?????文件??????21496??2015-10-22?11:47??SoFileParse\so\libhello-jnis.so

?????文件???????5352??2015-10-22?11:47??SoFileParse\src\com\demo\parseso\AddSection.java

?????文件??????43518??2015-10-15?11:33??SoFileParse\src\com\demo\parseso\elf.h

?????文件???????9306??2015-10-19?17:04??SoFileParse\src\com\demo\parseso\ElfType32.java

?????文件???????4156??2015-10-15?12:09??SoFileParse\src\com\demo\parseso\ElfType64.java

?????文件??????10871??2015-10-22?11:43??SoFileParse\src\com\demo\parseso\ParseSo.java

?????文件???????5683??2015-10-22?11:41??SoFileParse\src\com\demo\parseso\Utils.java

............此處省略14個文件信息

評論

共有 條評論

相關(guān)資源