Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/Mizari/herast
/ types & classes
Types & classes
89 in github.com/Mizari/herast
⨍
Functions
393
◇
Types & classes
89
↓ 43 callers
Class
AnyPat
Pattern that always successfully matches
herast/tree/patterns/abstracts.py:7
↓ 18 callers
Class
ExprInsPat
Pattern for expression instruction aka ...;
herast/tree/patterns/instructions.py:67
↓ 13 callers
Class
VarPat
Pattern for matching variables.
herast/tree/patterns/expressions.py:263
↓ 12 callers
Class
IfPat
Pattern for if instruction.
herast/tree/patterns/instructions.py:84
↓ 12 callers
Class
ObjPat
Pattern for matching objects with addresses.
herast/tree/patterns/expressions.py:122
↓ 11 callers
Class
ModelButton
herast/views/storage_manager_view.py:427
↓ 8 callers
Class
AsgPat
Class for assignment expression.
herast/tree/patterns/expressions.py:312
↓ 7 callers
Class
BlockPat
Pattern for block instruction aka curly braces.
herast/tree/patterns/instructions.py:43
↓ 7 callers
Class
CallPat
Pattern for matching function calls.
herast/tree/patterns/expressions.py:30
↓ 7 callers
Class
NumPat
Pattern for matching numbers.
herast/tree/patterns/expressions.py:93
↓ 6 callers
Class
SchemeStorageTreeItem
herast/views/storage_manager_view.py:15
↓ 5 callers
Class
OrPat
Logical or pattern.
herast/tree/patterns/abstracts.py:23
↓ 4 callers
Class
GridLayout
herast/views/storage_manager_view.py:445
↓ 4 callers
Class
Matcher
herast/tree/matcher.py:15
↓ 3 callers
Class
MemrefPat
Pattern for matching memory references.
herast/tree/patterns/expressions.py:189
↓ 2 callers
Class
DeepExprPat
Find pattern somewhere inside an item and save it in context if bind_name is provided.
herast/tree/patterns/abstracts.py:64
↓ 2 callers
Class
HelperReplacer
this scheme either removes or replaces one item with helper function of a given name without arguments
examples/passives/cplusplus/sharedptr.py:5
↓ 2 callers
Class
MatchContext
herast/tree/match_context.py:12
↓ 2 callers
Class
PtrPat
herast/tree/patterns/expressions.py:204
↓ 2 callers
Class
SeqPat
herast/tree/patterns/block_searches.py:7
↓ 2 callers
Class
VboxLayout
herast/views/storage_manager_view.py:470
↓ 1 callers
Class
ASTContext
AST context, contains additional logic for information, not presented in AST. Also has some code for modifying AST in the process of AST matching.
herast/tree/ast_context.py:6
↓ 1 callers
Class
ASTProcessor
ASTProcessor iterates tree left-to-right and children first example1: A->B->C tree will yield C,B,A example2: A<-B->C tree will yield A,C,B
herast/tree/ast_processor.py:25
↓ 1 callers
Class
ActionManager
herast/tree/actions.py:6
↓ 1 callers
Class
AssignmentCounterScheme
examples/scripts/assignment_counter.py:7
↓ 1 callers
Class
BoldDelegate
herast/views/storage_manager_view.py:371
↓ 1 callers
Class
CallsParser
examples/scripts/calls_parser.py:14
↓ 1 callers
Class
DrefingScheme
examples/passives/wasm_str_lit_cref_definer.py:7
↓ 1 callers
Class
ExceptionBody
Exception body checks the very first and the very last instructions. Then it will try to find instruction with exception string.
examples/passives/collapse_exception_branch.py:6
↓ 1 callers
Class
ExceptionCollapserScheme
examples/passives/collapse_exception_branch.py:41
↓ 1 callers
Class
Flareon7ChalScheme
examples/passives/flareon_7_chal.py:27
↓ 1 callers
Class
ForPat
Pattern for for cycle instruction.
herast/tree/patterns/instructions.py:137
↓ 1 callers
Class
FunctionRenamer
examples/scripts/function_renamer.py:6
↓ 1 callers
Class
HelperPat
Pattern for matching helper objects.
herast/tree/patterns/expressions.py:76
↓ 1 callers
Class
HerastPlugin
herast.py:41
↓ 1 callers
Class
HexRaysCallbackManager
herast/tree/callbacks.py:5
↓ 1 callers
Class
HexRaysPopupRequestHandler
This is wrapper around HexRaysPopupAction which allows to dynamically decide whether to add Action to popup menu or not. Register this in
herast/tree/actions.py:78
↓ 1 callers
Class
ItemRemovalScheme
examples/passives/call_explore.py:7
↓ 1 callers
Class
ItemRemovalScheme
examples/passives/cplusplus/sharedptr.py:127
↓ 1 callers
Class
NullsubRemovalScheme
examples/passives/remove_nullsub_calls.py:39
↓ 1 callers
Class
ObjectSetterScheme
examples/scripts/object_setter.py:6
↓ 1 callers
Class
PatternCreationHandler
herast/tree/selection_factory.py:45
↓ 1 callers
Class
RefPat
Pattern for matching references.
herast/tree/patterns/expressions.py:176
↓ 1 callers
Class
ReplacingScheme
examples/passives/propagate_error.py:5
↓ 1 callers
Class
SchemesStorage
herast/schemes_storage.py:27
↓ 1 callers
Class
StorageManagerForm
herast/views/storage_manager_view.py:381
↓ 1 callers
Class
StorageManagerModel
herast/views/storage_manager_view.py:78
↓ 1 callers
Class
StringDtorScheme
examples/passives/cplusplus/string_dtor.py:5
↓ 1 callers
Class
StructFieldAccessPat
Pattern for structure field access either by pointer or by reference.
herast/tree/patterns/helpers.py:55
↓ 1 callers
Class
TrampolineFixScheme
examples/passives/update_jump_calls.py:28
↓ 1 callers
Class
VirtualCollector
examples/scripts/virtual_collector.py:5
Class
ASTPatch
herast/tree/ast_patch.py:113
Class
AbstractBinaryOpPat
Abstract class for C's binary operators.
herast/tree/patterns/expressions.py:290
Class
AbstractUnaryOpPat
Abstract class for C's unary operators.
herast/tree/patterns/expressions.py:275
Class
Action
Convenience wrapper with name property allowing to be registered in IDA using ActionManager
herast/tree/actions.py:29
Class
AndPat
Logical and pattern.
herast/tree/patterns/abstracts.py:43
Class
BasePat
Base class for all patterns.
herast/tree/patterns/base_pattern.py:8
Class
BaseSettings
Base class for all possible settings.
herast/settings/base_settings.py:3
Class
BreakPat
Pattern for break instruction.
herast/tree/patterns/instructions.py:247
Class
CFuncGraph
herast/graph/processing.py:2
Class
CFuncGraphViewer
herast/graph/view.py:5
Class
CMAT_LEVEL
herast/tree/consts.py:65
Class
CastPat
Pattern for implicit cast matching
herast/tree/patterns/expressions.py:109
Class
ContPat
Pattern for continue instruction.
herast/tree/patterns/instructions.py:235
Class
DoPat
Pattern for do while cycle instruction.
herast/tree/patterns/instructions.py:202
Class
ExpressionPat
Base class for expression items patterns.
herast/tree/patterns/expressions.py:8
Class
FnumPat
Class for assignment expression.
herast/tree/patterns/expressions.py:328
Class
GotoPat
Pattern for goto instruction.
herast/tree/patterns/instructions.py:223
Class
HR_EVENT
herast/tree/consts.py:31
Class
HerastSettings
Class for global settings, usually saved in C:\\Users\\USERNAME\\AppData\\Roaming\\Hex-Rays\\IDA Pro\\herast_settings.json
herast/settings/global_settings.py:6
Class
HexRaysEventHandler
herast/tree/callbacks.py:28
Class
HexRaysPopupAction
Wrapper around Action. Represents Action which can be added to menu after right-clicking in Decompile window. Has `check` method that should
herast/tree/actions.py:52
Class
IdbSettings
Class for settings, stored for per project in IDB.
herast/settings/idb_settings.py:29
Class
IdxPat
herast/tree/patterns/expressions.py:231
Class
InstructionPat
herast/tree/patterns/instructions.py:9
Class
IntPat
Pattern for expression, that could be interpreted as integer.
herast/tree/patterns/helpers.py:9
Class
MemptrPat
Pattern for matching memory pointers.
herast/tree/patterns/expressions.py:216
Class
PatchType
herast/tree/ast_patch.py:114
Class
RelativePosition
herast/tree/ast_processor.py:18
Class
RetPat
Pattern for return instruction.
herast/tree/patterns/instructions.py:162
Class
Scheme
herast/tree/scheme.py:9
Class
SchemeType
herast/tree/scheme.py:10
Class
ShowScriptManager
herast/views/storage_manager_view.py:545
Class
StrPat
Class for assignment expression.
herast/tree/patterns/expressions.py:343
Class
StringPat
Pattern for expression that could be interpreted as string.
herast/tree/patterns/helpers.py:30
Class
SwitchPat
Pattern for break instruction.
herast/tree/patterns/instructions.py:259
Class
TernPat
Pattern for C's ternary operator.
herast/tree/patterns/expressions.py:246
Class
TypePat
Class for assignment expression.
herast/tree/patterns/expressions.py:358
Class
WhilePat
Pattern for while cycle instruction.
herast/tree/patterns/instructions.py:181