Uses of Interface
com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.IWildcardPrototype
Packages that use IWildcardPrototype
Package
Description
This package and its sub-packages contain the types used to access
gendec
, JEB's generic
decompiler.Types used to create and access
gendec
's IR (Intermediate Representation).-
Uses of IWildcardPrototype in com.pnfsoftware.jeb.core.units.code.asm.decompiler
Methods in com.pnfsoftware.jeb.core.units.code.asm.decompiler that return IWildcardPrototypeModifier and TypeMethodDescriptionAbstractConverter.buildFailsafePrototype
(IERoutineContext ctx, IEStatement stm) The default implementation provides a no-arg/no-return prototype: "void __defaultCC ()".IEConverter.buildFailsafePrototype
(IERoutineContext ctx, IEStatement stm) Create a simple, failsafe prototype for the given routine.IEGlobalContext.getCandidatePrototype
(INativeMethodItem routine) INativeObjectTracker.getCandidatePrototype
(INativeMethodItem routine) IERoutineContext.getPrototype()
Convenience method.Methods in com.pnfsoftware.jeb.core.units.code.asm.decompiler with parameters of type IWildcardPrototypeModifier and TypeMethodDescriptionAbstractConverter.convertParameterExpressions
(IERoutineContext ctx, IWildcardPrototype prototype, INativeMethodItem targetRoutine, List<IWildcardType> varArgTypes) IEConverter.convertParameterExpressions
(IERoutineContext ctx, IWildcardPrototype prototype, INativeMethodItem targetRoutine, List<IWildcardType> varArgTypes) Given a prototype, determine the list of IR expressions representing the input expressions (would also contain implicitly read registers).AbstractConverter.convertReturnExpressions
(IERoutineContext ctx, IWildcardPrototype prototype, INativeMethodItem targetRoutine, List<IWildcardType> varArgTypes, List<IEGeneric> outSpoiled) IEConverter.convertReturnExpressions
(IERoutineContext ctx, IWildcardPrototype prototype, INativeMethodItem targetRoutine, List<IWildcardType> varArgTypes, List<IEGeneric> outSpoiled) Given a prototype, determine the list of IR expressions representing the output expressions.AbstractConverter.convertReturnLocation
(IERoutineContext ctx, IWildcardPrototype prototype) IEConverter.convertReturnLocation
(IERoutineContext ctx, IWildcardPrototype prototype) Given a prototype, determine the IR expression representing the return address location of a call to a method of said prototype.IERoutineContext.createCall
(IEGeneric callsite, IEGeneric retloc, List<IEGeneric> returns, List<IEGeneric> params, int stackPointerDelta, List<IEGeneric> spoiledExpressions, IWildcardPrototype prototype) IERoutineContext.createCall
(IEGeneric callsite, List<IEVar> targetCandidates, IWildcardPrototype prototype, List<IWildcardType> varArgTypes, boolean failsafePrototype) AbstractConverter.determineStackBytesUsedByCall
(IWildcardPrototype prototype, List<IWildcardType> varArgTypes) IEConverter.determineStackBytesUsedByCall
(IWildcardPrototype prototype, List<IWildcardType> varArgTypes) Determine the amount of bytes that were pushed on the stack before calling the routine with the provided prototype and optional additional slots.AbstractConverter.determineStackPointerDeltaAfterIRCall
(IWildcardPrototype prototype, List<IWildcardType> varArgTypes) IEConverter.determineStackPointerDeltaAfterIRCall
(IWildcardPrototype prototype, List<IWildcardType> varArgTypes) Determine the stack pointer delta (in bytes) after theIECall
executed and returned.
Careful: "IR-Call" and the "native-call" may not have the same structure; it depends on how the conversion of "native-call" is implemented, and therefore is converter-dependent.AbstractNativeDecompilerExtension.resolveVariableArgumentInformation
(IERoutineContext ctx, CFG<IEStatement> cfg, int iblk, IWildcardPrototype proto) INativeDecompilerExtension.resolveVariableArgumentInformation
(IERoutineContext ctx, CFG<IEStatement> cfg, int iblk, IWildcardPrototype proto) boolean
IEGlobalContext.setCandidatePrototype
(INativeMethodItem routine, IWildcardPrototype proto, int guarantee) boolean
INativeObjectTracker.setCandidatePrototype
(INativeMethodItem routine, IWildcardPrototype proto, int guarantee) void
IERoutineContext.setPrototype
(IWildcardPrototype prototype) Convenience method. -
Uses of IWildcardPrototype in com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir
Methods in com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir that return IWildcardPrototypeModifier and TypeMethodDescriptionIWildcardTypeManager.createPrototype
(ICallingConvention cc, IWildcardType retType, List<IWildcardType> paramTypes, Collection<PrototypeAttribute> attributes) Create a wildcard prototype.IWildcardTypeManager.createPrototype
(ICallingConvention cc, List<IWildcardType> returnTypes, List<IWildcardType> paramTypes, Collection<PrototypeAttribute> attributes) Create a wildcard prototype.IWildcardTypeManager.createPrototype
(IPrototypeItem nativePrototype) Generate a wildcard prototype from the provided native prototype.IECall.getPrototype()
Methods in com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir with parameters of type IWildcardPrototypeModifier and TypeMethodDescriptionstatic int
EUtil.determineArgumentStackSlotCount
(IWildcardPrototype prototype, Collection<IWildcardType> varArgTypes) Determine the number of stacks slots used by invoking a method having the provided prototype and an optional list of additional arguments.static int
EUtil.determineReturnValuesStackSlotCount
(IWildcardPrototype prototype, int inputStackSlotCount) Determine the number of stack slots filled out when a routine with the provided prototype returns.static List<IWildcardType>
EUtil.gatherArgumentTypes
(IWildcardPrototype prototype, Collection<IWildcardType> varArgTypes) Retrieve the list of input types, by examining the provided prototype and optional list of additional arguments.void
IECall.setPrototype
(IWildcardPrototype prototype, boolean failsafe) Dangerous method, will be removed from API.