Modifier and Type | Method and Description |
---|---|
private void |
CodeAnalyser.generateUnverifiable(int x,
java.util.List<Op01WithProcessedDataAndByteJumps> op1list,
java.util.List<Op02WithProcessedDataAndRefs> op2list,
java.util.Map<java.lang.Integer,java.lang.Integer> lutByIdx,
java.util.SortedMap<java.lang.Integer,java.lang.Integer> lutByOffset,
BytecodeLocFactory locFactory) |
private void |
CodeAnalyser.generateUnverifiableInstr(int offset,
java.util.List<Op01WithProcessedDataAndByteJumps> op1list,
java.util.List<Op02WithProcessedDataAndRefs> op2list,
java.util.Map<java.lang.Integer,java.lang.Integer> lutByIdx,
java.util.SortedMap<java.lang.Integer,java.lang.Integer> lutByOffset,
BytecodeLocFactory locFactory) |
Modifier and Type | Field and Description |
---|---|
private Op02WithProcessedDataAndRefs |
Op02WithProcessedDataAndRefs.ExceptionTempStatement.op |
Modifier and Type | Field and Description |
---|---|
private java.util.List<Op02WithProcessedDataAndRefs> |
Op02WithProcessedDataAndRefs.sources |
private java.util.List<Op02WithProcessedDataAndRefs> |
Op02WithProcessedDataAndRefs.targets |
Modifier and Type | Method and Description |
---|---|
private static Op02WithProcessedDataAndRefs |
Op02WithProcessedDataAndRefs.adjustOrdering(java.util.Map<InstrIndex,java.util.List<Op02WithProcessedDataAndRefs.ExceptionTempStatement>> insertions,
Op02WithProcessedDataAndRefs infrontOf,
ExceptionGroup exceptionGroup,
Op02WithProcessedDataAndRefs newNode) |
Op02WithProcessedDataAndRefs |
Op01WithProcessedDataAndByteJumps.createOp2(ConstantPool cp,
int index,
BytecodeLocFactory locFactory,
Method method) |
private static Op02WithProcessedDataAndRefs |
Op02WithProcessedDataAndRefs.followNopGoto(Op02WithProcessedDataAndRefs op) |
Op02WithProcessedDataAndRefs |
Op02WithProcessedDataAndRefs.ExceptionTempStatement.getOp() |
Modifier and Type | Method and Description |
---|---|
private static java.util.List<Op02WithProcessedDataAndRefs> |
Op02WithProcessedDataAndRefs.copyBlock(java.util.List<Op02WithProcessedDataAndRefs> orig,
InstrIndex afterThis) |
private static java.util.Map<Op02WithProcessedDataAndRefs,java.util.List<Op02WithProcessedDataAndRefs>> |
Op02WithProcessedDataAndRefs.getJsrsWithCommonTarget(java.util.List<Op02WithProcessedDataAndRefs> jsrs) |
private static java.util.Map<Op02WithProcessedDataAndRefs,java.util.List<Op02WithProcessedDataAndRefs>> |
Op02WithProcessedDataAndRefs.getJsrsWithCommonTarget(java.util.List<Op02WithProcessedDataAndRefs> jsrs) |
java.util.List<Op02WithProcessedDataAndRefs> |
Op02WithProcessedDataAndRefs.getSources() |
java.util.List<Op02WithProcessedDataAndRefs> |
Op02WithProcessedDataAndRefs.getTargets() |
static java.util.List<Op02WithProcessedDataAndRefs> |
Op02WithProcessedDataAndRefs.insertExceptionBlocks(java.util.List<Op02WithProcessedDataAndRefs> op2list,
ExceptionAggregator exceptions,
java.util.Map<java.lang.Integer,java.lang.Integer> lutByOffset,
ConstantPool cp,
long codeLength,
Options options) |
private static java.util.List<Op02WithProcessedDataAndRefs> |
Op02WithProcessedDataAndRefs.justJSRs(java.util.List<Op02WithProcessedDataAndRefs> ops) |
Modifier and Type | Method and Description |
---|---|
void |
Op02WithProcessedDataAndRefs.addSource(Op02WithProcessedDataAndRefs node) |
void |
Op02WithProcessedDataAndRefs.addTarget(Op02WithProcessedDataAndRefs node) |
private static Op02WithProcessedDataAndRefs |
Op02WithProcessedDataAndRefs.adjustOrdering(java.util.Map<InstrIndex,java.util.List<Op02WithProcessedDataAndRefs.ExceptionTempStatement>> insertions,
Op02WithProcessedDataAndRefs infrontOf,
ExceptionGroup exceptionGroup,
Op02WithProcessedDataAndRefs newNode) |
private static Op02WithProcessedDataAndRefs |
Op02WithProcessedDataAndRefs.followNopGoto(Op02WithProcessedDataAndRefs op) |
private static void |
Op02WithProcessedDataAndRefs.inlineJSR(Op02WithProcessedDataAndRefs start,
java.util.Set<Op02WithProcessedDataAndRefs> nodes,
java.util.List<Op02WithProcessedDataAndRefs> ops) |
private static void |
Op02WithProcessedDataAndRefs.inlineReplaceJSR(Op02WithProcessedDataAndRefs jsrCall,
java.util.List<Op02WithProcessedDataAndRefs> ops) |
private static boolean |
Op02WithProcessedDataAndRefs.isJSR(Op02WithProcessedDataAndRefs op) |
private static boolean |
Op02WithProcessedDataAndRefs.isRET(Op02WithProcessedDataAndRefs op) |
void |
Op02WithProcessedDataAndRefs.removeSource(Op02WithProcessedDataAndRefs oldSource) |
private void |
Op02WithProcessedDataAndRefs.removeTarget(Op02WithProcessedDataAndRefs node) |
static void |
Op02WithProcessedDataAndRefs.replace(Op02WithProcessedDataAndRefs oldOp,
Op02WithProcessedDataAndRefs newOp) |
void |
Op02WithProcessedDataAndRefs.replaceSource(Op02WithProcessedDataAndRefs oldSource,
Op02WithProcessedDataAndRefs newSource) |
void |
Op02WithProcessedDataAndRefs.replaceTarget(Op02WithProcessedDataAndRefs oldTarget,
Op02WithProcessedDataAndRefs newTarget) |
private static boolean |
Op02WithProcessedDataAndRefs.SimulateJSR(Op02WithProcessedDataAndRefs start,
java.util.List<Op02WithProcessedDataAndRefs> ops) |
Modifier and Type | Method and Description |
---|---|
private static java.util.NavigableMap<java.lang.Integer,JavaTypeInstance> |
Op02WithProcessedDataAndRefs.assignIdentsAndGetMissingMap(SSAIdentifierFactory<Slot,StackType> ssaIdentifierFactory,
Method method,
java.util.List<Op02WithProcessedDataAndRefs> statements,
BytecodeMeta bytecodeMeta,
boolean useProtoArgs) |
private static void |
Op02WithProcessedDataAndRefs.assignSSAIdentifiers(SSAIdentifierFactory<Slot,StackType> ssaIdentifierFactory,
Method method,
DecompilerComments comments,
java.util.List<Op02WithProcessedDataAndRefs> statements,
BytecodeMeta bytecodeMeta) |
private static void |
Op02WithProcessedDataAndRefs.assignSSAIdentifiersInner(SSAIdentifierFactory<Slot,StackType> ssaIdentifierFactory,
Method method,
java.util.List<Op02WithProcessedDataAndRefs> statements,
BytecodeMeta bytecodeMeta,
boolean useProtoArgs) |
static java.util.List<Op03SimpleStatement> |
Op02WithProcessedDataAndRefs.convertToOp03List(java.util.List<Op02WithProcessedDataAndRefs> op2list,
Method method,
VariableFactory variableFactory,
BlockIdentifierFactory blockIdentifierFactory,
DCCommonState dcCommonState,
DecompilerComments comments,
TypeHintRecovery typeHintRecovery) |
private static java.util.List<Op02WithProcessedDataAndRefs> |
Op02WithProcessedDataAndRefs.copyBlock(java.util.List<Op02WithProcessedDataAndRefs> orig,
InstrIndex afterThis) |
static void |
Op02WithProcessedDataAndRefs.discoverStorageLiveness(Method method,
DecompilerComments comments,
java.util.List<Op02WithProcessedDataAndRefs> op2list,
BytecodeMeta bytecodeMeta) |
private static java.util.Map<Op02WithProcessedDataAndRefs,java.util.List<Op02WithProcessedDataAndRefs>> |
Op02WithProcessedDataAndRefs.getJsrsWithCommonTarget(java.util.List<Op02WithProcessedDataAndRefs> jsrs) |
private static void |
Op02WithProcessedDataAndRefs.inlineJSR(Op02WithProcessedDataAndRefs start,
java.util.Set<Op02WithProcessedDataAndRefs> nodes,
java.util.List<Op02WithProcessedDataAndRefs> ops) |
private static void |
Op02WithProcessedDataAndRefs.inlineJSR(Op02WithProcessedDataAndRefs start,
java.util.Set<Op02WithProcessedDataAndRefs> nodes,
java.util.List<Op02WithProcessedDataAndRefs> ops) |
private static void |
Op02WithProcessedDataAndRefs.inlineReplaceJSR(Op02WithProcessedDataAndRefs jsrCall,
java.util.List<Op02WithProcessedDataAndRefs> ops) |
static java.util.List<Op02WithProcessedDataAndRefs> |
Op02WithProcessedDataAndRefs.insertExceptionBlocks(java.util.List<Op02WithProcessedDataAndRefs> op2list,
ExceptionAggregator exceptions,
java.util.Map<java.lang.Integer,java.lang.Integer> lutByOffset,
ConstantPool cp,
long codeLength,
Options options) |
private static java.util.List<Op02WithProcessedDataAndRefs> |
Op02WithProcessedDataAndRefs.justJSRs(java.util.List<Op02WithProcessedDataAndRefs> ops) |
static DecompilerComment |
Op02WithProcessedDataAndRefs.populateStackInfo(java.util.List<Op02WithProcessedDataAndRefs> op2list,
Method method) |
private void |
Op02WithProcessedDataAndRefs.populateStackInfo(StackSim stackSim,
Method method,
java.util.Set<DecompilerComment> comments,
java.util.LinkedList<Pair<StackSim,Op02WithProcessedDataAndRefs>> next) |
static boolean |
Op02WithProcessedDataAndRefs.processJSR(java.util.List<Op02WithProcessedDataAndRefs> ops) |
private static void |
Op02WithProcessedDataAndRefs.processJSRs(java.util.List<Op02WithProcessedDataAndRefs> jsrs,
java.util.List<Op02WithProcessedDataAndRefs> ops) |
private static void |
Op02WithProcessedDataAndRefs.processJSRs(java.util.List<Op02WithProcessedDataAndRefs> jsrs,
java.util.List<Op02WithProcessedDataAndRefs> ops) |
private static void |
Op02WithProcessedDataAndRefs.removeUnusedSSAIdentifiers(SSAIdentifierFactory<Slot,StackType> ssaIdentifierFactory,
Method method,
java.util.List<Op02WithProcessedDataAndRefs> op2list) |
private static boolean |
Op02WithProcessedDataAndRefs.SimulateJSR(Op02WithProcessedDataAndRefs start,
java.util.List<Op02WithProcessedDataAndRefs> ops) |
private static void |
Op02WithProcessedDataAndRefs.tieUpRelations(java.util.List<Op02WithProcessedDataAndRefs> out,
java.util.List<Op02WithProcessedDataAndRefs> in,
java.util.Map<Op02WithProcessedDataAndRefs,Op02WithProcessedDataAndRefs> map) |
private static void |
Op02WithProcessedDataAndRefs.tieUpRelations(java.util.List<Op02WithProcessedDataAndRefs> out,
java.util.List<Op02WithProcessedDataAndRefs> in,
java.util.Map<Op02WithProcessedDataAndRefs,Op02WithProcessedDataAndRefs> map) |
private static void |
Op02WithProcessedDataAndRefs.tieUpRelations(java.util.List<Op02WithProcessedDataAndRefs> out,
java.util.List<Op02WithProcessedDataAndRefs> in,
java.util.Map<Op02WithProcessedDataAndRefs,Op02WithProcessedDataAndRefs> map) |
private static void |
Op02WithProcessedDataAndRefs.tieUpRelations(java.util.List<Op02WithProcessedDataAndRefs> out,
java.util.List<Op02WithProcessedDataAndRefs> in,
java.util.Map<Op02WithProcessedDataAndRefs,Op02WithProcessedDataAndRefs> map) |
static void |
Op02WithProcessedDataAndRefs.unlinkUnreachable(java.util.List<Op02WithProcessedDataAndRefs> op2list) |
Constructor and Description |
---|
ExceptionTempStatement(ExceptionGroup triggeringGroup,
Op02WithProcessedDataAndRefs op) |
Op02WithProcessedDataAndRefs(Op02WithProcessedDataAndRefs other) |
Op03SimpleStatement(Op02WithProcessedDataAndRefs original,
Statement statement) |
Modifier and Type | Method and Description |
---|---|
protected boolean |
ControlFlowIntDiv0Exception.checkTry(java.util.List<Op02WithProcessedDataAndRefs> op2list,
int from,
int to,
Op02WithProcessedDataAndRefs handlerJmp) |
protected boolean |
ControlFlowNullException.checkTry(java.util.List<Op02WithProcessedDataAndRefs> op2list,
int from,
int to,
Op02WithProcessedDataAndRefs handlerJmp) |
protected abstract boolean |
SimpleControlFlowBase.checkTry(java.util.List<Op02WithProcessedDataAndRefs> op2list,
int from,
int to,
Op02WithProcessedDataAndRefs handlerJmp) |
protected Op02WithProcessedDataAndRefs |
SimpleControlFlowBase.getLastTargetIf(java.util.List<Op02WithProcessedDataAndRefs> op2list,
Op02WithProcessedDataAndRefs current,
JVMInstr... instrs) |
private void |
ControlFlowNumericObf.processOne(Op02WithProcessedDataAndRefs op,
java.util.List<Op02WithProcessedDataAndRefs> op2list,
int idx) |
protected Op02WithProcessedDataAndRefs |
SimpleControlFlowBase.skipOneSillyHandler(Op02WithProcessedDataAndRefs op) |
protected Op02WithProcessedDataAndRefs |
SimpleControlFlowBase.skipSillyHandler(Op02WithProcessedDataAndRefs op) |
Modifier and Type | Method and Description |
---|---|
boolean |
SimpleControlFlowBase.check(ExceptionAggregator exceptions,
java.util.List<Op02WithProcessedDataAndRefs> op2list,
java.util.SortedMap<java.lang.Integer,java.lang.Integer> lutByOffset) |
protected Op02WithProcessedDataAndRefs |
SimpleControlFlowBase.checkHandler(ExceptionGroup group,
java.util.List<Op02WithProcessedDataAndRefs> op2list,
java.util.SortedMap<java.lang.Integer,java.lang.Integer> lutByOffset) |
protected Op02WithProcessedDataAndRefs |
ControlFlowIntDiv0Exception.checkHandler(java.util.List<Op02WithProcessedDataAndRefs> op2list,
int idx) |
protected Op02WithProcessedDataAndRefs |
ControlFlowNullException.checkHandler(java.util.List<Op02WithProcessedDataAndRefs> op2list,
int idx) |
protected abstract Op02WithProcessedDataAndRefs |
SimpleControlFlowBase.checkHandler(java.util.List<Op02WithProcessedDataAndRefs> op2list,
int idx) |
protected boolean |
ControlFlowIntDiv0Exception.checkTry(java.util.List<Op02WithProcessedDataAndRefs> op2list,
int from,
int to,
Op02WithProcessedDataAndRefs handlerJmp) |
protected boolean |
ControlFlowNullException.checkTry(java.util.List<Op02WithProcessedDataAndRefs> op2list,
int from,
int to,
Op02WithProcessedDataAndRefs handlerJmp) |
protected abstract boolean |
SimpleControlFlowBase.checkTry(java.util.List<Op02WithProcessedDataAndRefs> op2list,
int from,
int to,
Op02WithProcessedDataAndRefs handlerJmp) |
static boolean |
Op02Obf.detectObfuscations(Method method,
ExceptionAggregator exceptions,
java.util.List<Op02WithProcessedDataAndRefs> op2list,
java.util.SortedMap<java.lang.Integer,java.lang.Integer> lutByOffset) |
protected Op02WithProcessedDataAndRefs |
SimpleControlFlowBase.getLastTargetIf(java.util.List<Op02WithProcessedDataAndRefs> op2list,
java.lang.Integer start,
JVMInstr... instrs) |
protected Op02WithProcessedDataAndRefs |
SimpleControlFlowBase.getLastTargetIf(java.util.List<Op02WithProcessedDataAndRefs> op2list,
Op02WithProcessedDataAndRefs current,
JVMInstr... instrs) |
void |
SimpleControlFlowBase.process(Method method,
ExceptionAggregator exceptions,
java.util.List<Op02WithProcessedDataAndRefs> op2list,
java.util.SortedMap<java.lang.Integer,java.lang.Integer> lutByOffset) |
void |
ControlFlowNumericObf.process(Method method,
java.util.List<Op02WithProcessedDataAndRefs> op2list) |
private void |
ControlFlowNumericObf.processOne(Op02WithProcessedDataAndRefs op,
java.util.List<Op02WithProcessedDataAndRefs> op2list,
int idx) |
static void |
Op02Obf.removeControlFlowExceptions(Method method,
ExceptionAggregator exceptions,
java.util.List<Op02WithProcessedDataAndRefs> op2list,
java.util.SortedMap<java.lang.Integer,java.lang.Integer> lutByOffset) |
static void |
Op02Obf.removeNumericObf(Method method,
java.util.List<Op02WithProcessedDataAndRefs> op2list) |
Modifier and Type | Method and Description |
---|---|
private Op02WithProcessedDataAndRefs |
Op02GetClassRewriter.getSinglePrev(Op02WithProcessedDataAndRefs item) |
Modifier and Type | Method and Description |
---|---|
private Op02WithProcessedDataAndRefs |
Op02GetClassRewriter.getSinglePrev(Op02WithProcessedDataAndRefs item) |
private boolean |
Op02GetClassRewriter.isGetClass(Op02WithProcessedDataAndRefs item) |
private boolean |
Op02GetClassRewriter.isRequireNonNull(Op02WithProcessedDataAndRefs item) |
boolean |
GetClassTest.test(ClassFile classFile,
Op02WithProcessedDataAndRefs item) |
boolean |
GetClassTestInnerConstructor.test(ClassFile classFile,
Op02WithProcessedDataAndRefs item) |
boolean |
GetClassTestLambda.test(ClassFile classFile,
Op02WithProcessedDataAndRefs item) |
private void |
Op02GetClassRewriter.tryRemove(ClassFile classFile,
Op02WithProcessedDataAndRefs item,
GetClassTest classTest) |
Modifier and Type | Method and Description |
---|---|
static void |
Op02GetClassRewriter.removeInvokeGetClass(ClassFile classFile,
java.util.List<Op02WithProcessedDataAndRefs> op02list,
GetClassTest classTest) |
static void |
Op02RedundantStoreRewriter.rewrite(java.util.List<Op02WithProcessedDataAndRefs> instrs,
int maxLocals) |
private void |
Op02RedundantStoreRewriter.rewriteInstrs(java.util.List<Op02WithProcessedDataAndRefs> instrs,
int maxLocals) |
Modifier and Type | Method and Description |
---|---|
StackSim |
StackSim.getChange(StackDelta delta,
java.util.List<StackEntryHolder> consumed,
java.util.List<StackEntryHolder> produced,
Op02WithProcessedDataAndRefs instruction) |