apkutils.dex.jvm package
Submodules
apkutils.dex.jvm.arraytypes module
-
apkutils.dex.jvm.arraytypes.eletPair(t)[source]
-
apkutils.dex.jvm.arraytypes.fromDesc(desc)[source]
-
apkutils.dex.jvm.arraytypes.merge(t1, t2)[source]
-
apkutils.dex.jvm.arraytypes.narrow(t1, t2)[source]
apkutils.dex.jvm.error module
-
exception apkutils.dex.jvm.error.ClassfileLimitExceeded[source]
Bases: Exception
apkutils.dex.jvm.genmathops module
apkutils.dex.jvm.ir module
-
apkutils.dex.jvm.ir.Dup()[source]
-
apkutils.dex.jvm.ir.Dup2()[source]
-
class apkutils.dex.jvm.ir.Goto(target)[source]
Bases: apkutils.dex.jvm.ir.LazyJumpBase
-
calcBytecode(posd, labels)[source]
-
fallsthrough()[source]
-
class apkutils.dex.jvm.ir.If(op, target)[source]
Bases: apkutils.dex.jvm.ir.LazyJumpBase
-
calcBytecode(posd, labels)[source]
-
class apkutils.dex.jvm.ir.JvmInstruction(bytecode=None)[source]
Bases: object
-
fallsthrough()[source]
-
targets()[source]
-
class apkutils.dex.jvm.ir.Label(id=None)[source]
Bases: apkutils.dex.jvm.ir.JvmInstruction
-
class apkutils.dex.jvm.ir.LazyJumpBase(target)[source]
Bases: apkutils.dex.jvm.ir.JvmInstruction
-
targets()[source]
-
widenIfNecessary(labels, posd)[source]
-
class apkutils.dex.jvm.ir.Other(bytecode=None)[source]
Bases: apkutils.dex.jvm.ir.JvmInstruction
-
fallsthrough()[source]
-
class apkutils.dex.jvm.ir.OtherConstant(bytecode=None)[source]
Bases: apkutils.dex.jvm.ir.JvmInstruction
-
wide = False
-
apkutils.dex.jvm.ir.Pop()[source]
-
apkutils.dex.jvm.ir.Pop2()[source]
-
class apkutils.dex.jvm.ir.PrimConstant(st, val, pool=None)[source]
Bases: apkutils.dex.jvm.ir.JvmInstruction
-
cpool_key()[source]
-
fix_with_pool(pool)[source]
-
class apkutils.dex.jvm.ir.RegAccess(dreg, st, store)[source]
Bases: apkutils.dex.jvm.ir.JvmInstruction
-
calcBytecode(local)[source]
-
static raw(local, stype, store)[source]
-
class apkutils.dex.jvm.ir.Switch(default, jumps)[source]
Bases: apkutils.dex.jvm.ir.JvmInstruction
-
calcBytecode(posd, labels)[source]
-
fallsthrough()[source]
-
targets()[source]
apkutils.dex.jvm.jvmops module
apkutils.dex.jvm.mathops module
apkutils.dex.jvm.scalartypes module
-
apkutils.dex.jvm.scalartypes.fromDesc(desc)[source]
-
apkutils.dex.jvm.scalartypes.iswide(st)[source]
-
apkutils.dex.jvm.scalartypes.paramTypes(method_id, static)[source]
apkutils.dex.jvm.writebytecode module
-
apkutils.dex.jvm.writebytecode.finishCodeAttrs(pool, code_irs, opts)[source]
-
apkutils.dex.jvm.writebytecode.getCodeIR(pool, method, opts)[source]
-
apkutils.dex.jvm.writebytecode.writeCodeAttributeTail(pool, irdata, opts)[source]
apkutils.dex.jvm.writeclass module
-
apkutils.dex.jvm.writeclass.classFileAfterPool(cls, opts)[source]
-
apkutils.dex.jvm.writeclass.toClassFile(cls, opts)[source]
-
apkutils.dex.jvm.writeclass.writeField(pool, stream, field)[source]
-
apkutils.dex.jvm.writeclass.writeMethod(pool, stream, method, code_attr_data)[source]
-
apkutils.dex.jvm.writeclass.writeMethods(pool, stream, methods, opts)[source]
apkutils.dex.jvm.writeir module
-
class apkutils.dex.jvm.writeir.IRBlock(parent, pos)[source]
Bases: object
-
add(jvm_instr)[source]
-
cast(dex, reg, index)[source]
-
const(val, stype)[source]
-
const_null()[source]
-
fillarraydata(op, stype, vals)[source]
-
fillarraysub(op, cbs, pop=True)[source]
-
generateExceptLabels()[source]
-
goto(target)[source]
-
if_(op, target)[source]
-
ldc(index)[source]
-
load(reg, stype, desc=None, clsname=None)[source]
-
loadAsArray(reg)[source]
-
newarray(desc)[source]
-
return_(stype=None)[source]
-
store(reg, stype)[source]
-
switch(default, jumps)[source]
-
u8(op)[source]
-
u8u16(op, x)[source]
-
u8u16u8u8(op, x, y, z)[source]
-
u8u8(op, x)[source]
-
u8u8u16(op, op2, x)[source]
-
class apkutils.dex.jvm.writeir.IRWriter(pool, method, types, opts)[source]
Bases: object
-
addExceptionRedirect(target)[source]
-
calcInitialArgs(nregs, scalar_ptypes)[source]
-
calcUpperBound()[source]
-
createBlock(instr)[source]
-
flatten()[source]
-
replaceInstrs(replace)[source]
-
apkutils.dex.jvm.writeir.visitArrayGet(method, dex, instr_d, type_data, block, instr)[source]
-
apkutils.dex.jvm.writeir.visitArrayLen(method, dex, instr_d, type_data, block, instr)[source]
-
apkutils.dex.jvm.writeir.visitArrayPut(method, dex, instr_d, type_data, block, instr)[source]
-
apkutils.dex.jvm.writeir.visitBinaryOp(method, dex, instr_d, type_data, block, instr)[source]
-
apkutils.dex.jvm.writeir.visitBinaryOpConst(method, dex, instr_d, type_data, block, instr)[source]
-
apkutils.dex.jvm.writeir.visitCheckCast(method, dex, instr_d, type_data, block, instr)[source]
-
apkutils.dex.jvm.writeir.visitCmp(method, dex, instr_d, type_data, block, instr)[source]
-
apkutils.dex.jvm.writeir.visitConst32(method, dex, instr_d, type_data, block, instr)[source]
-
apkutils.dex.jvm.writeir.visitConst64(method, dex, instr_d, type_data, block, instr)[source]
-
apkutils.dex.jvm.writeir.visitConstClass(method, dex, instr_d, type_data, block, instr)[source]
-
apkutils.dex.jvm.writeir.visitConstString(method, dex, instr_d, type_data, block, instr)[source]
-
apkutils.dex.jvm.writeir.visitFillArrayData(method, dex, instr_d, type_data, block, instr)[source]
-
apkutils.dex.jvm.writeir.visitFilledNewArray(method, dex, instr_d, type_data, block, instr)[source]
-
apkutils.dex.jvm.writeir.visitGoto(method, dex, instr_d, type_data, block, instr)[source]
-
apkutils.dex.jvm.writeir.visitIf(method, dex, instr_d, type_data, block, instr)[source]
-
apkutils.dex.jvm.writeir.visitIfZ(method, dex, instr_d, type_data, block, instr)[source]
-
apkutils.dex.jvm.writeir.visitInstanceGet(method, dex, instr_d, type_data, block, instr)[source]
-
apkutils.dex.jvm.writeir.visitInstanceOf(method, dex, instr_d, type_data, block, instr)[source]
-
apkutils.dex.jvm.writeir.visitInstancePut(method, dex, instr_d, type_data, block, instr)[source]
-
apkutils.dex.jvm.writeir.visitInvoke(method, dex, instr_d, type_data, block, instr)[source]
-
apkutils.dex.jvm.writeir.visitMonitorEnter(method, dex, instr_d, type_data, block, instr)[source]
-
apkutils.dex.jvm.writeir.visitMonitorExit(method, dex, instr_d, type_data, block, instr)[source]
-
apkutils.dex.jvm.writeir.visitMove(method, dex, instr_d, type_data, block, instr)[source]
-
apkutils.dex.jvm.writeir.visitMoveResult(method, dex, instr_d, type_data, block, instr)[source]
-
apkutils.dex.jvm.writeir.visitMoveWide(method, dex, instr_d, type_data, block, instr)[source]
-
apkutils.dex.jvm.writeir.visitNewArray(method, dex, instr_d, type_data, block, instr)[source]
-
apkutils.dex.jvm.writeir.visitNewInstance(method, dex, instr_d, type_data, block, instr)[source]
-
apkutils.dex.jvm.writeir.visitNop(method, dex, instr_d, type_data, block, instr)[source]
-
apkutils.dex.jvm.writeir.visitReturn(method, dex, instr_d, type_data, block, instr)[source]
-
apkutils.dex.jvm.writeir.visitStaticGet(method, dex, instr_d, type_data, block, instr)[source]
-
apkutils.dex.jvm.writeir.visitStaticPut(method, dex, instr_d, type_data, block, instr)[source]
-
apkutils.dex.jvm.writeir.visitSwitch(method, dex, instr_d, type_data, block, instr)[source]
-
apkutils.dex.jvm.writeir.visitThrow(method, dex, instr_d, type_data, block, instr)[source]
-
apkutils.dex.jvm.writeir.visitUnaryOp(method, dex, instr_d, type_data, block, instr)[source]
-
apkutils.dex.jvm.writeir.writeBytecode(pool, method, opts)[source]
Module contents