资源简介
个人编译好的一个反编译Vdex文件的vdexExtractor ,如果linux库不全有可能运行不了,进入bin目录vdexExtractor 可执行命令
./vdexExtractor -i input_vdex_file -o output_dex_file
需要该资源的可以去我博客留言,这个资源积分确实有些坑,改了又会默认改成50
https://blog.csdn.net/peachs885090/article/details/81505342
代码片段和文件信息
/*
vdexExtractor
-----------------------------------------
Anestis Bechtsoudis
Copyright 2017 - 2018 by CENSUS S.A. All Rights Reserved.
Licensed under the Apache License Version 2.0 (the “License“);
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing software
distributed under the License is distributed on an “AS IS“ BASIS
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
#include “dex.h“
#include “utils.h“
static bool enableDisassembler = false;
static inline u2 get2LE(unsigned char const *pSrc) { return pSrc[0] | (pSrc[1] << 8); }
// Helper for dex_dumpInstruction() which builds the string representation
// for the index in the given instruction.
static char *indexString(const u1 *dexFileBuf u2 *codePtr u4 bufSize) {
char *buf = utils_calloc(bufSize);
const dexHeader *pDexHeader = (const dexHeader *)dexFileBuf;
static const u4 kInvalidIndex = USHRT_MAX;
// Determine index and width of the string.
u4 index = 0;
u4 secondary_index = kInvalidIndex;
u4 width = 4;
switch (kInstructionDescriptors[dexInstr_getOpcode(codePtr)].format) {
// SOME NOT SUPPORTED:
// case k20bc:
case k21c:
case k35c:
// case k35ms:
case k3rc:
// case k3rms:
// case k35mi:
// case k3rmi:
index = dexInstr_getVRegB(codePtr);
width = 4;
break;
case k31c:
index = dexInstr_getVRegB(codePtr);
width = 8;
break;
case k22c:
// case k22cs:
index = dexInstr_getVRegC(codePtr);
width = 4;
break;
case k45cc:
case k4rcc:
index = dexInstr_getVRegB(codePtr);
secondary_index = dexInstr_getVRegH(codePtr);
width = 4;
break;
default:
break;
} // switch
// Determine index type.
size_t outSize = 0;
switch (kInstructionDescriptors[dexInstr_getOpcode(codePtr)].index_type) {
case kIndexUnknown:
// This function should never get called for this type but do
// something sensible here just to help with debugging.
outSize = snprintf(buf bufSize ““);
break;
case kIndexNone:
// This function should never get called for this type but do
// something sensible here just to help with debugging.
outSize = snprintf(buf bufSize ““);
break;
case kIndexTypeRef:
if (index < pDexHeader->typeIdsSize) {
const char *tp = dex_getStringByTypeIdx(dexFileBuf index);
outSize = snprintf(buf bufSize “%s // type@%0*x“ tp width index);
} else {
outSize = snprintf(buf bufSize “ // type@%0*x“ width index);
}
break;
case kIndexStringRef:
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-07-10 06:57 vdexExtractor-master\
目录 0 2018-07-10 07:24 vdexExtractor-master\src\
文件 9817 2018-06-10 13:10 vdexExtractor-master\src\utils.c
文件 8378 2018-06-10 13:10 vdexExtractor-master\src\vdexExtractor.c
文件 206672 2018-07-10 07:24 vdexExtractor-master\src\vdexExtractor
文件 3986 2018-06-10 13:10 vdexExtractor-master\src\log.c
文件 15064 2018-07-10 07:24 vdexExtractor-master\src\utils.o
文件 50992 2018-07-10 07:24 vdexExtractor-master\src\dex.o
文件 3771 2018-06-10 13:10 vdexExtractor-master\src\out_writer.c
文件 2768 2018-06-10 13:10 vdexExtractor-master\src\common.h
文件 7494 2018-06-10 13:10 vdexExtractor-master\src\dex.h
文件 1534 2018-06-10 13:10 vdexExtractor-master\src\utils.h
文件 1529 2018-06-10 13:10 vdexExtractor-master\src\Makefile
文件 10688 2018-07-10 07:24 vdexExtractor-master\src\vdexExtractor.o
文件 1609 2018-06-10 13:10 vdexExtractor-master\src\log.h
文件 20728 2018-07-10 07:24 vdexExtractor-master\src\vdex.o
文件 35643 2018-06-10 13:10 vdexExtractor-master\src\dex.c
文件 1059 2018-06-10 13:10 vdexExtractor-master\src\out_writer.h
文件 22768 2018-06-10 13:10 vdexExtractor-master\src\dex_instruction.c
文件 1099 2018-06-10 13:10 vdexExtractor-master\src\vdex.h
文件 3271 2018-06-10 13:10 vdexExtractor-master\src\vdex.c
目录 0 2018-07-10 07:24 vdexExtractor-master\src\vdex\
文件 20164 2018-06-10 13:10 vdexExtractor-master\src\vdex\vdex_backend_010.c
文件 4374 2018-06-10 13:10 vdexExtractor-master\src\vdex\vdex_006.h
文件 7535 2018-06-10 13:10 vdexExtractor-master\src\vdex\vdex_010.c
文件 23584 2018-07-10 07:24 vdexExtractor-master\src\vdex\vdex_decompiler_010.o
文件 6949 2018-06-10 13:10 vdexExtractor-master\src\vdex\vdex_decompiler_006.c
文件 33840 2018-07-10 07:24 vdexExtractor-master\src\vdex\vdex_backend_010.o
文件 930 2018-06-10 13:10 vdexExtractor-master\src\vdex\vdex_common.h
文件 25360 2018-07-10 07:24 vdexExtractor-master\src\vdex\vdex_006.o
文件 25360 2018-07-10 07:24 vdexExtractor-master\src\vdex\vdex_010.o
............此处省略28个文件信息
评论
共有 条评论