Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/cseagle/blc
/ types & classes
Types & classes
1,287 in github.com/cseagle/blc
⨍
Functions
6,639
◇
Types & classes
1,287
↓ 533 callers
Class
LowlevelError
\brief The lowest level error generated by the decompiler This is the base error for all exceptions thrown by the decompiler. This underived form is
error.hh:74
↓ 321 callers
Class
ElementId
\brief An annotation for a specific collection of hierarchical data This class parallels the XML concept of an \b element. An ElementId describes a
marshal.hh:65
↓ 192 callers
Class
AttributeId
\brief An annotation for a data element to being transferred to/from a stream This class parallels the XML concept of an \b attribute on an element.
marshal.hh:41
↓ 155 callers
Class
IfaceExecutionError
\brief An exception throw during the execution of a command Processing of a specific command has started but has reached an error state
interface.hh:84
↓ 124 callers
Class
Address
\brief A low-level machine address for labelling bytes and data. All data that can be manipulated within the processor reverse engineering model can
address.hh:59
↓ 79 callers
Class
ConstTpl
Forward declaration
semantics.hh:34
↓ 75 callers
Class
IfaceParseError
\brief An exception describing a parsing error in a command line Thrown when attempting to parse a command line. Options are missing or are in the w
interface.hh:77
↓ 67 callers
Class
Atom
printlanguage.hh:210
↓ 60 callers
Class
SleighError
context.hh:183
↓ 49 callers
Class
ParseError
\brief An error generated while parsing a command or language This error is generated when parsing character data of some form, as in a user command
error.hh:95
↓ 43 callers
Class
DecoderError
\brief An exception thrown by the XML parser This object holds the error message as passed to the SAX interface callback and is thrown as a formal ex
xml.hh:297
↓ 14 callers
Class
HighEdge
\brief A record for caching a Cover intersection test between two HighVariable objects This is just a pair of HighVariable objects that can be used a
variable.hh:237
↓ 14 callers
Class
RecovError
\brief A generic recoverable error This error is the most basic form of recoverable error, meaning there is some problem that the user did not take i
error.hh:85
↓ 14 callers
Class
TokenPattern
slghpatexpress.hh:23
↓ 11 callers
Class
Range
\brief A contiguous range of bytes in some address space
address.hh:173
↓ 10 callers
Class
EvaluationError
This exception is thrown when emulation evaluation of an operator fails for some reason. This can be thrown for either forward or reverse emulation
opbehavior.hh:30
↓ 10 callers
Class
PartIterator
rangemap.hh:101
↓ 8 callers
Class
FloatingEdge
\brief Class for holding an edge while the underlying graph is being manipulated The original FlowBlock nodes that define the end-points of the edge
blockaction.hh:31
↓ 8 callers
Class
PcodeOpNode
\brief An edge in a data-flow path or graph A minimal node for traversing expressions in the data-flow
op.hh:257
↓ 7 callers
Class
State
funcdata.hh:613
↓ 6 callers
Class
BadDataError
\brief Exception for bad instruction data This error is thrown when the system cannot decode data for a particular instruction. This usually means t
translate.hh:68
↓ 6 callers
Class
SeqNum
\brief A class for uniquely labelling and comparing PcodeOps Different PcodeOps generated by a single machine instruction can only be labelled with a
address.hh:121
↓ 5 callers
Class
AddBase
varmap.hh:133
↓ 5 callers
Class
AddrRange
rangemap.hh:76
↓ 5 callers
Class
VarnodeData
space.hh:42
↓ 4 callers
Class
BlockEdge
\brief A control-flow edge between blocks (FlowBlock) The edge is owned by the source block and can have FlowBlock::edge_flags labels applied to it.
block.hh:57
↓ 4 callers
Class
CircleRange
\brief A class for manipulating integer value ranges. The idea is to have a representation of common sets of values that a varnode might take on in a
rangeutil.hh:50
↓ 4 callers
Class
InjectParameter
\brief An input or output parameter to a p-code injection payload Within the chunk of p-code being injected, this is a placeholder for Varnodes that
pcodeinject.hh:55
↓ 4 callers
Class
MergePair
blockaction.hh:236
↓ 4 callers
Class
ParamUnassignedError
\brief Exception thrown when a prototype can't be modeled properly
fspec.hh:64
↓ 3 callers
Class
AdditiveEdge
Class representing a \e term in an additive expression
coreaction.hh:1068
↓ 3 callers
Class
GuardRecord
\brief A (putative) switch variable Varnode and a constraint imposed by a CBRANCH The record constrains a specific Varnode. If the associated CBRANC
jumptable.hh:141
↓ 3 callers
Class
IndexPair
jumptable.hh:556
↓ 3 callers
Class
ParamMeasure
paramid.hh:27
↓ 3 callers
Class
RootedOp
jumptable.hh:81
↓ 3 callers
Class
ToOpEdge
\brief An edge between a Varnode and a PcodeOp A DynamicHash is defined on a sub-graph of the data-flow, and this defines an edge in the sub-graph.
dynamic.hh:32
↓ 3 callers
Class
TrackedContext
\brief A tracked register (Varnode) and the value it contains This is the object returned when querying for tracked registers, via ContextDatabase::g
globalcontext.hh:78
↓ 3 callers
Class
UnifyDatatype
unify.hh:25
↓ 3 callers
Class
VisitMark
unionresolve.hh:120
↓ 2 callers
Class
EffectRecord
\brief Description of the indirect effect a sub-function has on a memory range This object applies only to the specific memory range, which is seen f
fspec.hh:387
↓ 2 callers
Class
FloatFormat
\brief Encoding information for a single floating-point format This class supports manipulation of a single floating-point encoding. An encoding can
float.hh:32
↓ 2 callers
Class
IfaceError
\brief An exception specific to the command line interface
interface.hh:68
↓ 2 callers
Class
JumptableNotReachableError
\brief Exception thrown is there are no legal flows to a switch
jumptable.hh:46
↓ 2 callers
Class
LanedIterator
transform.hh:97
↓ 2 callers
Class
LeafIterator
callgraph.hh:89
↓ 2 callers
Class
LoadTable
\brief A description where and how data was loaded from memory This is a generic table description, giving the starting address of the table, the siz
jumptable.hh:54
↓ 2 callers
Class
MapIterator
\brief An iterator over SymbolEntry objects in multiple address spaces Given an EntryMap (a rangemap of SymbolEntry objects in a single address space
database.hh:378
↓ 2 callers
Class
ParamTrial
\brief A register or memory register that may be used to pass a parameter or return value The parameter recovery utilities (see ParamActive) use this
fspec.hh:209
↓ 2 callers
Class
UnimplError
\brief Exception for encountering unimplemented pcode This error is thrown when a particular machine instruction cannot be translated into pcode. Thi
translate.hh:53
↓ 1 callers
Class
DataUnavailError
\brief Exception indicating data was not available This exception is thrown when a request for load image data cannot be met, usually because the req
loadimage.hh:31
↓ 1 callers
Class
DuplicateFunctionError
\brief Exception thrown when a function is added more than once to the database Stores off the address of the function, so a handler can recover from
database.hh:431
↓ 1 callers
Class
Equation
rangeutil.hh:121
↓ 1 callers
Class
JumptableThunkError
\brief Exception thrown for a thunk mechanism that looks like a jump-table
jumptable.hh:41
↓ 1 callers
Class
LanedRegister
\brief Describes a (register) storage location and the ways it might be split into lanes
transform.hh:93
↓ 1 callers
Class
NullSubsort
database.hh:876
↓ 1 callers
Class
ParameterPieces
\brief Basic elements of a parameter: address, data-type, properties
fspec.hh:357
↓ 1 callers
Class
PatchRecord
subflow.hh:65
↓ 1 callers
Class
SizePass
\brief Label for describing extent of address range that has been heritaged
heritage.hh:32
↓ 1 callers
Class
SplitVarnode
\brief A logical value whose storage is split between two Varnodes This is usually a pair of Varnodes \b lo and \b hi holding the least and most sign
double.hh:32
↓ 1 callers
Class
StackNode
heritage.hh:181
↓ 1 callers
Class
SubsortPosition
fspec.hh:173
↓ 1 callers
Class
SymbolEntry
varnode.hh:32
↓ 1 callers
Class
TypeRecommend
\brief Data-type for a storage location when there is no Symbol (yet) Allow a data-type to be fed into a specific storage location. Currently this o
varmap.hh:74
↓ 1 callers
Class
stat
filemanage.cc:118
Class
Action
\brief Large scale transformations applied to the varnode/op graph The base for objects that make changes to the syntax tree of a Funcdata The action
action.hh:52
Class
ActionActiveParam
\brief Determine active parameters to sub-functions This is the final stage of the parameter recovery process, when a prototype for a sub-function is
coreaction.hh:732
Class
ActionActiveReturn
\brief Determine which sub-functions have active output Varnodes This is analogous to ActionActiveParam but for sub-function return values.
coreaction.hh:745
Class
ActionAssignHigh
\brief Assign initial high-level HighVariable objects to each Varnode
coreaction.hh:339
Class
ActionBlockStructure
\brief Structure control-flow using standard high-level code constructs.
blockaction.hh:311
Class
ActionConditionalConst
\brief Propagate conditional constants
coreaction.hh:569
Class
ActionConditionalExe
\brief Search for and remove various forms of redundant CBRANCH operations This action wraps the analysis performed by ConditionalExecution to simpli
condexe.hh:157
Class
ActionConstantPtr
\brief Check for constants, with pointer type, that correspond to global symbols
coreaction.hh:188
Class
ActionConstbase
\brief Search for input Varnodes that have been officially provided constant values. This class injects p-code at the beginning of the function if th
coreaction.hh:259
Class
ActionCopyMarker
\brief Mark COPY operations between Varnodes representing the object as \e non-printing
coreaction.hh:995
Class
ActionDatabase
\brief Database of root Action objects that can be used to transform a function This is a container for Action objects. It also manages \b root Actio
action.hh:298
Class
ActionDeadCode
\brief Dead code removal. Eliminate \e dead p-code ops This is a very fine grained algorithm, it detects usage of individual bits within the Varnode
coreaction.hh:552
Class
ActionDefaultParams
\brief Find a prototype for each sub-function This loads prototype information, if it exists for each sub-function. If no explicit prototype exists,
coreaction.hh:643
Class
ActionDeindirect
\brief Eliminate locally constant indirect calls
coreaction.hh:206
Class
ActionDeterminedBranch
\brief Remove conditional branches if the condition is constant
coreaction.hh:524
Class
ActionDirectWrite
\brief Mark Varnodes built out of \e legal parameters Label a varnode with the \b directwrite attribute if: that varnode can trace at least part of i
coreaction.hh:243
Class
ActionDoNothing
\brief Remove blocks that do nothing
coreaction.hh:502
Class
ActionDominantCopy
\brief Replace COPYs from the same source with a single dominant COPY
coreaction.hh:984
Class
ActionDynamicMapping
\brief Attach \e dynamically mapped symbols to Varnodes in time for data-type propagation
coreaction.hh:1006
Class
ActionDynamicSymbols
\brief Make final attachments of \e dynamically mapped symbols to Varnodes
coreaction.hh:1017
Class
ActionExtraPopSetup
\brief Define formal link between stack-pointer values before and after sub-function calls. Change to the stack-pointer across a sub-function is call
coreaction.hh:660
Class
ActionFinalStructure
\brief Perform final organization of the control-flow structure Label unstructured edges, order switch cases, and order disjoint components of the co
blockaction.hh:324
Class
ActionForceGoto
\brief Apply any overridden forced gotos
coreaction.hh:141
Class
ActionFuncLink
\brief Prepare for data-flow analysis of function parameters If exact prototypes are known for sub-functions, insert the appropriate Varnodes to matc
coreaction.hh:676
Class
ActionFuncLinkOutOnly
\brief Prepare for data-flow analysis of function parameters, when recovery isn't required. If the "protorecovery" action group is not enabled, this
coreaction.hh:697
Class
ActionGroup
\brief A group of actions (generally) applied in sequence This is a a list of Action objects, which are usually applied in sequence. But the behavior
action.hh:143
Class
ActionGroupList
\brief The list of groups defining a \e root Action Any Rule or \e leaf Action belongs to a \b group. This class is a \b grouplist defined by a colle
action.hh:31
Class
ActionHeritage
\brief Build Static Single Assignment (SSA) representation for function
coreaction.hh:282
Class
ActionHideShadow
\brief Locate \e shadow Varnodes and adjust them so they are hidden A \b shadow Varnode is an internal copy of another Varnode that a compiler produc
coreaction.hh:973
Class
ActionInferTypes
\brief Infer and propagate data-types. Atomic data-types are ordered from \e most specified to \e least specified. This is extended rescursively to a
coreaction.hh:943
Class
ActionInputPrototype
\brief Calculate the prototype for the function. If the prototype wasn't originally known, the discovered input Varnodes are analyzed to determine a
coreaction.hh:875
Class
ActionInternalStorage
\brief Check for constants getting written to the stack from \e internal \e storage registers The constant is internal to the compiler and its storag
coreaction.hh:1041
Class
ActionLaneDivide
\brief Find Varnodes with a vectorized lane scheme and attempt to split the lanes The Architecture lists (vector) registers that may be used to perfo
coreaction.hh:113
Class
ActionLikelyTrash
\brief Get rid of registers with trash values. Register locations called \b likely \b trash are read as a side-effect of some instruction the compile
coreaction.hh:817
Class
ActionMapGlobals
\brief Create symbols for any discovered global variables in the function.
coreaction.hh:861
Class
ActionMarkExplicit
\brief Find \b explicit Varnodes: Varnodes that have an explicit token representing them in the output In the final output of the syntax tree as sour
coreaction.hh:427
next →
1–100 of 1,287, ranked by callers