当前位置: 首页>>代码示例>>Java>>正文


Java DexReader.moveRelative方法代码示例

本文整理汇总了Java中org.jf.dexlib2.dexbacked.DexReader.moveRelative方法的典型用法代码示例。如果您正苦于以下问题:Java DexReader.moveRelative方法的具体用法?Java DexReader.moveRelative怎么用?Java DexReader.moveRelative使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.jf.dexlib2.dexbacked.DexReader的用法示例。


在下文中一共展示了DexReader.moveRelative方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: readFrom

import org.jf.dexlib2.dexbacked.DexReader; //导入方法依赖的package包/类
@Nonnull
public static Instruction readFrom(@Nonnull DexReader reader) {
    int opcodeValue = reader.peekUbyte();

    if (opcodeValue == 0) {
        opcodeValue = reader.peekUshort();
    }

    Opcode opcode = reader.dexBuf.getOpcodes().getOpcodeByValue(opcodeValue);

    Instruction instruction = buildInstruction(reader.dexBuf, opcode, reader.getOffset());
    reader.moveRelative(instruction.getCodeUnits()*2);
    return instruction;
}
 
开发者ID:CvvT,项目名称:andbg,代码行数:15,代码来源:DexBackedInstruction.java

示例2: readFrom

import org.jf.dexlib2.dexbacked.DexReader; //导入方法依赖的package包/类
public static Instruction readFrom( DexReader reader) {
    int opcodeValue = reader.peekUbyte();

    if (opcodeValue == 0) {
        opcodeValue = reader.peekUshort();
    }

    Opcode opcode = reader.dexBuf.getOpcodes().getOpcodeByValue(opcodeValue);

    Instruction instruction = buildInstruction(reader.dexBuf, opcode, reader.getOffset());
    reader.moveRelative(instruction.getCodeUnits()*2);
    return instruction;
}
 
开发者ID:AndreJCL,项目名称:JCL,代码行数:14,代码来源:DexBackedInstruction.java

示例3: readFrom

import org.jf.dexlib2.dexbacked.DexReader; //导入方法依赖的package包/类
@Nonnull
public static Instruction readFrom(@Nonnull DexReader reader) {
    int opcodeValue = reader.peekUbyte();

    if (opcodeValue == 0) {
        opcodeValue = reader.peekUshort();
    }

    Opcode opcode = reader.dexBuf.getOpcodes().getOpcodeByValue(opcodeValue);

    Instruction instruction = buildInstruction(reader.dexBuf, opcode, reader.getOffset());
    reader.moveRelative(instruction.getCodeUnits() * 2);
    return instruction;
}
 
开发者ID:niranjan94,项目名称:show-java,代码行数:15,代码来源:DexBackedInstruction.java

示例4: skipFrom

import org.jf.dexlib2.dexbacked.DexReader; //导入方法依赖的package包/类
public static void skipFrom(@Nonnull DexReader reader) {
    int startOffset = reader.getOffset();

    try {
        int b = reader.readUbyte();
        int valueType = b & 0x1f;

        switch (valueType) {
            case ValueType.BYTE:
                reader.skipByte();
                break;
            case ValueType.SHORT:
            case ValueType.CHAR:
            case ValueType.INT:
            case ValueType.LONG:
            case ValueType.FLOAT:
            case ValueType.DOUBLE:
            case ValueType.STRING:
            case ValueType.TYPE:
            case ValueType.FIELD:
            case ValueType.METHOD:
            case ValueType.ENUM:
                int valueArg = b >>> 5;
                reader.moveRelative(valueArg+1);
                break;
            case ValueType.ARRAY:
                DexBackedArrayEncodedValue.skipFrom(reader);
                break;
            case ValueType.ANNOTATION:
                DexBackedAnnotationEncodedValue.skipFrom(reader);
                break;
            case ValueType.NULL:
            case ValueType.BOOLEAN:
                break;
            default:
                throw new ExceptionWithContext("Invalid encoded_value type: 0x%x", valueType);
        }
    } catch (Exception ex) {
        throw ExceptionWithContext.withContext(ex, "Error while skipping encoded value at offset 0x%x",
                startOffset);
    }
}
 
开发者ID:CvvT,项目名称:andbg,代码行数:43,代码来源:DexBackedEncodedValue.java

示例5: skipFrom

import org.jf.dexlib2.dexbacked.DexReader; //导入方法依赖的package包/类
public static void skipFrom( DexReader reader) {
    int startOffset = reader.getOffset();

    try {
        int b = reader.readUbyte();
        int valueType = b & 0x1f;

        switch (valueType) {
            case ValueType.BYTE:
                reader.skipByte();
                break;
            case ValueType.SHORT:
            case ValueType.CHAR:
            case ValueType.INT:
            case ValueType.LONG:
            case ValueType.FLOAT:
            case ValueType.DOUBLE:
            case ValueType.STRING:
            case ValueType.TYPE:
            case ValueType.FIELD:
            case ValueType.METHOD:
            case ValueType.ENUM:
                int valueArg = b >>> 5;
                reader.moveRelative(valueArg+1);
                break;
            case ValueType.ARRAY:
                DexBackedArrayEncodedValue.skipFrom(reader);
                break;
            case ValueType.ANNOTATION:
                DexBackedAnnotationEncodedValue.skipFrom(reader);
                break;
            case ValueType.NULL:
            case ValueType.BOOLEAN:
                break;
            default:
                throw new ExceptionWithContext("Invalid encoded_value type: 0x%x", valueType);
        }
    } catch (Exception ex) {
        throw ExceptionWithContext.withContext(ex, "Error while skipping encoded value at offset 0x%x",
                startOffset);
    }
}
 
开发者ID:AndreJCL,项目名称:JCL,代码行数:43,代码来源:DexBackedEncodedValue.java

示例6: skipFrom

import org.jf.dexlib2.dexbacked.DexReader; //导入方法依赖的package包/类
public static void skipFrom(@Nonnull DexReader reader) {
    int startOffset = reader.getOffset();

    try {
        int b = reader.readUbyte();
        int valueType = b & 0x1f;

        switch (valueType) {
            case ValueType.BYTE:
                reader.skipByte();
                break;
            case ValueType.SHORT:
            case ValueType.CHAR:
            case ValueType.INT:
            case ValueType.LONG:
            case ValueType.FLOAT:
            case ValueType.DOUBLE:
            case ValueType.STRING:
            case ValueType.TYPE:
            case ValueType.FIELD:
            case ValueType.METHOD:
            case ValueType.ENUM:
                int valueArg = b >>> 5;
                reader.moveRelative(valueArg + 1);
                break;
            case ValueType.ARRAY:
                DexBackedArrayEncodedValue.skipFrom(reader);
                break;
            case ValueType.ANNOTATION:
                DexBackedAnnotationEncodedValue.skipFrom(reader);
                break;
            case ValueType.NULL:
            case ValueType.BOOLEAN:
                break;
            default:
                throw new ExceptionWithContext("Invalid encoded_value type: 0x%x", valueType);
        }
    } catch (Exception ex) {
        throw ExceptionWithContext.withContext(ex, "Error while skipping encoded value at offset 0x%x",
                startOffset);
    }
}
 
开发者ID:niranjan94,项目名称:show-java,代码行数:43,代码来源:DexBackedEncodedValue.java


注:本文中的org.jf.dexlib2.dexbacked.DexReader.moveRelative方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。