BinaryView is the base class for creating views on binary data (e.g.
ELF, PE, Mach-O). BinaryView should be subclassed to create a new BinaryView
Public Member Functions | |
BinaryView (BNBinaryView *view) | |
virtual bool | Init () |
FileMetadata * | GetFile () const |
Ref< BinaryView > | GetParentView () const |
std::string | GetTypeName () const |
bool | IsModified () const |
bool | IsAnalysisChanged () const |
bool | CreateDatabase (const std::string &path, Ref< SaveSettings > settings=new SaveSettings()) |
bool | CreateDatabase (const std::string &path, const std::function< bool(size_t progress, size_t total)> &progressCallback, Ref< SaveSettings > settings=new SaveSettings()) |
bool | SaveAutoSnapshot (Ref< SaveSettings > settings=new SaveSettings()) |
bool | SaveAutoSnapshot (const std::function< bool(size_t progress, size_t total)> &progressCallback, Ref< SaveSettings > settings=new SaveSettings()) |
void | BeginUndoActions () |
void | AddUndoAction (UndoAction *action) |
void | CommitUndoActions () |
bool | Undo () |
bool | Redo () |
std::string | GetCurrentView () |
uint64_t | GetCurrentOffset () |
bool | Navigate (const std::string &view, uint64_t offset) |
size_t | Read (void *dest, uint64_t offset, size_t len) |
DataBuffer | ReadBuffer (uint64_t offset, size_t len) |
size_t | Write (uint64_t offset, const void *data, size_t len) |
size_t | WriteBuffer (uint64_t offset, const DataBuffer &data) |
size_t | Insert (uint64_t offset, const void *data, size_t len) |
size_t | InsertBuffer (uint64_t offset, const DataBuffer &data) |
size_t | Remove (uint64_t offset, uint64_t len) |
std::vector< float > | GetEntropy (uint64_t offset, size_t len, size_t blockSize) |
BNModificationStatus | GetModification (uint64_t offset) |
std::vector< BNModificationStatus > | GetModification (uint64_t offset, size_t len) |
bool | IsValidOffset (uint64_t offset) const |
bool | IsOffsetReadable (uint64_t offset) const |
bool | IsOffsetWritable (uint64_t offset) const |
bool | IsOffsetExecutable (uint64_t offset) const |
bool | IsOffsetBackedByFile (uint64_t offset) const |
bool | IsOffsetCodeSemantics (uint64_t offset) const |
bool | IsOffsetWritableSemantics (uint64_t offset) const |
bool | IsOffsetExternSemantics (uint64_t offset) const |
uint64_t | GetNextValidOffset (uint64_t offset) const |
uint64_t | GetStart () const |
uint64_t | GetEnd () const |
uint64_t | GetLength () const |
uint64_t | GetEntryPoint () const |
Ref< Architecture > | GetDefaultArchitecture () const |
void | SetDefaultArchitecture (Architecture *arch) |
Ref< Platform > | GetDefaultPlatform () const |
void | SetDefaultPlatform (Platform *platform) |
BNEndianness | GetDefaultEndianness () const |
bool | IsRelocatable () const |
size_t | GetAddressSize () const |
bool | IsExecutable () const |
bool | Save (FileAccessor *file) |
bool | Save (const std::string &path) |
void | DefineRelocation (Architecture *arch, BNRelocationInfo &info, uint64_t target, uint64_t reloc) |
void | DefineRelocation (Architecture *arch, BNRelocationInfo &info, Ref< Symbol > target, uint64_t reloc) |
std::vector< std::pair< uint64_t, uint64_t > > | GetRelocationRanges () const |
std::vector< std::pair< uint64_t, uint64_t > > | GetRelocationRangesAtAddress (uint64_t addr) const |
bool | RangeContainsRelocation (uint64_t addr, size_t size) const |
void | RegisterNotification (BinaryDataNotification *notify) |
void | UnregisterNotification (BinaryDataNotification *notify) |
void | AddAnalysisOption (const std::string &name) |
void | AddFunctionForAnalysis (Platform *platform, uint64_t addr) |
void | AddEntryPointForAnalysis (Platform *platform, uint64_t start) |
void | RemoveAnalysisFunction (Function *func) |
void | CreateUserFunction (Platform *platform, uint64_t start) |
void | RemoveUserFunction (Function *func) |
bool | HasInitialAnalysis () |
void | SetAnalysisHold (bool enable) |
void | UpdateAnalysisAndWait () |
void | UpdateAnalysis () |
void | AbortAnalysis () |
void | DefineDataVariable (uint64_t addr, const Confidence< Ref< Type > > &type) |
void | DefineUserDataVariable (uint64_t addr, const Confidence< Ref< Type > > &type) |
void | UndefineDataVariable (uint64_t addr) |
void | UndefineUserDataVariable (uint64_t addr) |
std::map< uint64_t, DataVariable > | GetDataVariables () |
bool | GetDataVariableAtAddress (uint64_t addr, DataVariable &var) |
std::vector< Ref< Function > > | GetAnalysisFunctionList () |
bool | HasFunctions () const |
Ref< Function > | GetAnalysisFunction (Platform *platform, uint64_t addr) |
Ref< Function > | GetRecentAnalysisFunctionForAddress (uint64_t addr) |
std::vector< Ref< Function > > | GetAnalysisFunctionsForAddress (uint64_t addr) |
std::vector< Ref< Function > > | GetAnalysisFunctionsContainingAddress (uint64_t addr) |
Ref< Function > | GetAnalysisEntryPoint () |
Ref< BasicBlock > | GetRecentBasicBlockForAddress (uint64_t addr) |
std::vector< Ref< BasicBlock > > | GetBasicBlocksForAddress (uint64_t addr) |
std::vector< Ref< BasicBlock > > | GetBasicBlocksStartingAtAddress (uint64_t addr) |
std::vector< ReferenceSource > | GetCodeReferences (uint64_t addr) |
std::vector< ReferenceSource > | GetCodeReferences (uint64_t addr, uint64_t len) |
std::vector< uint64_t > | GetCodeReferencesFrom (ReferenceSource src) |
std::vector< uint64_t > | GetCodeReferencesFrom (ReferenceSource src, uint64_t len) |
std::vector< uint64_t > | GetDataReferences (uint64_t addr) |
std::vector< uint64_t > | GetDataReferences (uint64_t addr, uint64_t len) |
std::vector< uint64_t > | GetDataReferencesFrom (uint64_t addr) |
std::vector< uint64_t > | GetDataReferencesFrom (uint64_t addr, uint64_t len) |
void | AddUserDataReference (uint64_t fromAddr, uint64_t toAddr) |
void | RemoveUserDataReference (uint64_t fromAddr, uint64_t toAddr) |
std::vector< ReferenceSource > | GetCodeReferencesForType (const QualifiedName &type) |
std::vector< uint64_t > | GetDataReferencesForType (const QualifiedName &type) |
std::vector< TypeReferenceSource > | GetTypeReferencesForType (const QualifiedName &type) |
std::vector< TypeFieldReference > | GetCodeReferencesForTypeField (const QualifiedName &type, uint64_t offset) |
std::vector< uint64_t > | GetDataReferencesForTypeField (const QualifiedName &type, uint64_t offset) |
std::vector< TypeReferenceSource > | GetTypeReferencesForTypeField (const QualifiedName &type, uint64_t offset) |
std::vector< TypeReferenceSource > | GetCodeReferencesForTypeFrom (ReferenceSource src) |
std::vector< TypeReferenceSource > | GetCodeReferencesForTypeFrom (ReferenceSource src, uint64_t len) |
std::vector< TypeReferenceSource > | GetCodeReferencesForTypeFieldFrom (ReferenceSource src) |
std::vector< TypeReferenceSource > | GetCodeReferencesForTypeFieldFrom (ReferenceSource src, uint64_t len) |
std::vector< uint64_t > | GetAllFieldsReferenced (const QualifiedName &type) |
std::map< uint64_t, std::vector< size_t > > | GetAllSizesReferenced (const QualifiedName &type) |
std::map< uint64_t, std::vector< Confidence< Ref< Type > > > > | GetAllTypesReferenced (const QualifiedName &type) |
std::vector< size_t > | GetSizesReferenced (const QualifiedName &type, uint64_t offset) |
std::vector< Confidence< Ref< Type > > > | GetTypesReferenced (const QualifiedName &type, uint64_t offset) |
Ref< Structure > | CreateStructureBasedOnFieldAccesses (const QualifiedName &type) |
std::vector< uint64_t > | GetCallees (ReferenceSource addr) |
std::vector< ReferenceSource > | GetCallers (uint64_t addr) |
Ref< Symbol > | GetSymbolByAddress (uint64_t addr, const NameSpace &nameSpace=NameSpace()) |
Ref< Symbol > | GetSymbolByRawName (const std::string &name, const NameSpace &nameSpace=NameSpace()) |
std::vector< Ref< Symbol > > | GetSymbolsByName (const std::string &name, const NameSpace &nameSpace=NameSpace()) |
std::vector< Ref< Symbol > > | GetSymbols (const NameSpace &nameSpace=NameSpace()) |
std::vector< Ref< Symbol > > | GetSymbols (uint64_t start, uint64_t len, const NameSpace &nameSpace=NameSpace()) |
std::vector< Ref< Symbol > > | GetSymbolsOfType (BNSymbolType type, const NameSpace &nameSpace=NameSpace()) |
std::vector< Ref< Symbol > > | GetSymbolsOfType (BNSymbolType type, uint64_t start, uint64_t len, const NameSpace &nameSpace=NameSpace()) |
std::vector< Ref< Symbol > > | GetVisibleSymbols (const NameSpace &nameSpace=NameSpace()) |
void | DefineAutoSymbol (Ref< Symbol > sym) |
Ref< Symbol > | DefineAutoSymbolAndVariableOrFunction (Ref< Platform > platform, Ref< Symbol > sym, Ref< Type > type) |
void | UndefineAutoSymbol (Ref< Symbol > sym) |
void | DefineUserSymbol (Ref< Symbol > sym) |
void | UndefineUserSymbol (Ref< Symbol > sym) |
void | DefineImportedFunction (Ref< Symbol > importAddressSym, Ref< Function > func, Ref< Type > type=nullptr) |
void | BeginBulkModifySymbols () |
void | EndBulkModifySymbols () |
void | AddTagType (Ref< TagType > tagType) |
void | RemoveTagType (Ref< TagType > tagType) |
Ref< TagType > | GetTagType (const std::string &name) |
Ref< TagType > | GetTagType (const std::string &name, TagType::Type type) |
Ref< TagType > | GetTagTypeByName (const std::string &name) |
Ref< TagType > | GetTagTypeByName (const std::string &name, TagType::Type type) |
Ref< TagType > | GetTagTypeById (const std::string &id) |
Ref< TagType > | GetTagTypeById (const std::string &id, TagType::Type type) |
std::vector< Ref< TagType > > | GetTagTypes () |
void | AddTag (Ref< Tag > tag, bool user=false) |
void | RemoveTag (Ref< Tag > tag, bool user=false) |
Ref< Tag > | GetTag (const std::string &tagId) |
std::vector< TagReference > | GetAllTagReferences () |
std::vector< TagReference > | GetAllAddressTagReferences () |
std::vector< TagReference > | GetAllFunctionTagReferences () |
std::vector< TagReference > | GetAllTagReferencesOfType (Ref< TagType > tagType) |
std::vector< TagReference > | GetTagReferencesOfType (Ref< TagType > tagType) |
size_t | GetTagReferencesOfTypeCount (Ref< TagType > tagType) |
size_t | GetAllTagReferencesOfTypeCount (Ref< TagType > tagType) |
std::map< Ref< TagType >, size_t > | GetAllTagReferenceTypeCounts () |
std::vector< TagReference > | GetDataTagReferences () |
std::vector< TagReference > | GetAutoDataTagReferences () |
std::vector< TagReference > | GetUserDataTagReferences () |
std::vector< Ref< Tag > > | GetDataTags (uint64_t addr) |
std::vector< Ref< Tag > > | GetAutoDataTags (uint64_t addr) |
std::vector< Ref< Tag > > | GetUserDataTags (uint64_t addr) |
std::vector< Ref< Tag > > | GetDataTagsOfType (uint64_t addr, Ref< TagType > tagType) |
std::vector< Ref< Tag > > | GetAutoDataTagsOfType (uint64_t addr, Ref< TagType > tagType) |
std::vector< Ref< Tag > > | GetUserDataTagsOfType (uint64_t addr, Ref< TagType > tagType) |
std::vector< TagReference > | GetDataTagsInRange (uint64_t start, uint64_t end) |
std::vector< TagReference > | GetAutoDataTagsInRange (uint64_t start, uint64_t end) |
std::vector< TagReference > | GetUserDataTagsInRange (uint64_t start, uint64_t end) |
void | AddAutoDataTag (uint64_t addr, Ref< Tag > tag) |
void | RemoveAutoDataTag (uint64_t addr, Ref< Tag > tag) |
void | RemoveAutoDataTagsOfType (uint64_t addr, Ref< TagType > tagType) |
void | AddUserDataTag (uint64_t addr, Ref< Tag > tag) |
void | RemoveUserDataTag (uint64_t addr, Ref< Tag > tag) |
void | RemoveUserDataTagsOfType (uint64_t addr, Ref< TagType > tagType) |
void | RemoveTagReference (const TagReference &ref) |
Ref< Tag > | CreateAutoDataTag (uint64_t addr, const std::string &tagTypeName, const std::string &data, bool unique=false) |
Ref< Tag > | CreateUserDataTag (uint64_t addr, const std::string &tagTypeName, const std::string &data, bool unique=false) |
Ref< Tag > | CreateAutoDataTag (uint64_t addr, Ref< TagType > tagType, const std::string &data, bool unique=false) |
Ref< Tag > | CreateUserDataTag (uint64_t addr, Ref< TagType > tagType, const std::string &data, bool unique=false) |
bool | CanAssemble (Architecture *arch) |
bool | IsNeverBranchPatchAvailable (Architecture *arch, uint64_t addr) |
bool | IsAlwaysBranchPatchAvailable (Architecture *arch, uint64_t addr) |
bool | IsInvertBranchPatchAvailable (Architecture *arch, uint64_t addr) |
bool | IsSkipAndReturnZeroPatchAvailable (Architecture *arch, uint64_t addr) |
bool | IsSkipAndReturnValuePatchAvailable (Architecture *arch, uint64_t addr) |
bool | ConvertToNop (Architecture *arch, uint64_t addr) |
bool | AlwaysBranch (Architecture *arch, uint64_t addr) |
bool | InvertBranch (Architecture *arch, uint64_t addr) |
bool | SkipAndReturnValue (Architecture *arch, uint64_t addr, uint64_t value) |
size_t | GetInstructionLength (Architecture *arch, uint64_t addr) |
bool | GetStringAtAddress (uint64_t addr, BNStringReference &strRef) |
std::vector< BNStringReference > | GetStrings () |
std::vector< BNStringReference > | GetStrings (uint64_t start, uint64_t len) |
Ref< AnalysisCompletionEvent > | AddAnalysisCompletionEvent (const std::function< void()> &callback) |
AnalysisInfo | GetAnalysisInfo () |
BNAnalysisProgress | GetAnalysisProgress () |
Ref< BackgroundTask > | GetBackgroundAnalysisTask () |
uint64_t | GetNextFunctionStartAfterAddress (uint64_t addr) |
uint64_t | GetNextBasicBlockStartAfterAddress (uint64_t addr) |
uint64_t | GetNextDataAfterAddress (uint64_t addr) |
uint64_t | GetNextDataVariableStartAfterAddress (uint64_t addr) |
uint64_t | GetPreviousFunctionStartBeforeAddress (uint64_t addr) |
uint64_t | GetPreviousBasicBlockStartBeforeAddress (uint64_t addr) |
uint64_t | GetPreviousBasicBlockEndBeforeAddress (uint64_t addr) |
uint64_t | GetPreviousDataBeforeAddress (uint64_t addr) |
uint64_t | GetPreviousDataVariableStartBeforeAddress (uint64_t addr) |
bool | ParsePossibleValueSet (const std::string &value, BNRegisterValueType state, PossibleValueSet &result, uint64_t here, std::string &errors) |
bool | ParseTypeString (const std::string &text, QualifiedNameAndType &result, std::string &errors, const std::set< QualifiedName > &typesAllowRedefinition={}) |
bool | ParseTypeString (const std::string &text, std::map< QualifiedName, Ref< Type > > &types, std::map< QualifiedName, Ref< Type > > &variables, std::map< QualifiedName, Ref< Type > > &functions, std::string &errors, const std::set< QualifiedName > &typesAllowRedefinition={}) |
bool | ParseTypesFromSource (const std::string &text, const std::vector< std::string > &options, const std::vector< std::string > &includeDirs, TypeParserResult &result, std::string &errors, const std::set< QualifiedName > &typesAllowRedefinition={}) |
std::map< QualifiedName, Ref< Type > > | GetTypes () |
std::vector< QualifiedName > | GetTypeNames (const std::string &matching="") |
Ref< Type > | GetTypeByName (const QualifiedName &name) |
Ref< Type > | GetTypeById (const std::string &id) |
std::string | GetTypeId (const QualifiedName &name) |
QualifiedName | GetTypeNameById (const std::string &id) |
bool | IsTypeAutoDefined (const QualifiedName &name) |
QualifiedName | DefineType (const std::string &id, const QualifiedName &defaultName, Ref< Type > type) |
void | DefineTypes (const std::vector< std::pair< std::string, QualifiedNameAndType > > &types, std::function< bool(size_t, size_t)> progress={}) |
void | DefineUserType (const QualifiedName &name, Ref< Type > type) |
void | DefineUserTypes (const std::vector< QualifiedNameAndType > &types, std::function< bool(size_t, size_t)> progress={}) |
void | UndefineType (const std::string &id) |
void | UndefineUserType (const QualifiedName &name) |
void | RenameType (const QualifiedName &oldName, const QualifiedName &newName) |
void | RegisterPlatformTypes (Platform *platform) |
bool | FindNextData (uint64_t start, const DataBuffer &data, uint64_t &result, BNFindFlag flags=FindCaseSensitive) |
bool | FindNextText (uint64_t start, const std::string &data, uint64_t &result, Ref< DisassemblySettings > settings, BNFindFlag flags=FindCaseSensitive, BNFunctionGraphType graph=NormalFunctionGraph) |
bool | FindNextConstant (uint64_t start, uint64_t constant, uint64_t &result, Ref< DisassemblySettings > settings, BNFunctionGraphType graph=NormalFunctionGraph) |
bool | FindNextData (uint64_t start, uint64_t end, const DataBuffer &data, uint64_t &addr, BNFindFlag flags, const std::function< bool(size_t current, size_t total)> &progress) |
bool | FindNextText (uint64_t start, uint64_t end, const std::string &data, uint64_t &addr, Ref< DisassemblySettings > settings, BNFindFlag flags, BNFunctionGraphType graph, const std::function< bool(size_t current, size_t total)> &progress) |
bool | FindNextConstant (uint64_t start, uint64_t end, uint64_t constant, uint64_t &addr, Ref< DisassemblySettings > settings, BNFunctionGraphType graph, const std::function< bool(size_t current, size_t total)> &progress) |
bool | FindAllData (uint64_t start, uint64_t end, const DataBuffer &data, BNFindFlag flags, const std::function< bool(size_t current, size_t total)> &progress, const std::function< bool(uint64_t addr, const DataBuffer &match)> &matchCallback) |
bool | FindAllText (uint64_t start, uint64_t end, const std::string &data, Ref< DisassemblySettings > settings, BNFindFlag flags, BNFunctionGraphType graph, const std::function< bool(size_t current, size_t total)> &progress, const std::function< bool(uint64_t addr, const std::string &match, const LinearDisassemblyLine &line)> &matchCallback) |
bool | FindAllConstant (uint64_t start, uint64_t end, uint64_t constant, Ref< DisassemblySettings > settings, BNFunctionGraphType graph, const std::function< bool(size_t current, size_t total)> &progress, const std::function< bool(uint64_t addr, const LinearDisassemblyLine &line)> &matchCallback) |
void | Reanalyze () |
Ref< Workflow > | GetWorkflow () const |
void | ShowPlainTextReport (const std::string &title, const std::string &contents) |
void | ShowMarkdownReport (const std::string &title, const std::string &contents, const std::string &plainText) |
void | ShowHTMLReport (const std::string &title, const std::string &contents, const std::string &plainText) |
void | ShowGraphReport (const std::string &title, FlowGraph *graph) |
bool | GetAddressInput (uint64_t &result, const std::string &prompt, const std::string &title) |
bool | GetAddressInput (uint64_t &result, const std::string &prompt, const std::string &title, uint64_t currentAddress) |
void | AddAutoSegment (uint64_t start, uint64_t length, uint64_t dataOffset, uint64_t dataLength, uint32_t flags) |
void | RemoveAutoSegment (uint64_t start, uint64_t length) |
void | AddUserSegment (uint64_t start, uint64_t length, uint64_t dataOffset, uint64_t dataLength, uint32_t flags) |
void | RemoveUserSegment (uint64_t start, uint64_t length) |
std::vector< Ref< Segment > > | GetSegments () |
Ref< Segment > | GetSegmentAt (uint64_t addr) |
bool | GetAddressForDataOffset (uint64_t offset, uint64_t &addr) |
void | AddAutoSection (const std::string &name, uint64_t start, uint64_t length, BNSectionSemantics semantics=DefaultSectionSemantics, const std::string &type="", uint64_t align=1, uint64_t entrySize=0, const std::string &linkedSection="", const std::string &infoSection="", uint64_t infoData=0) |
void | RemoveAutoSection (const std::string &name) |
void | AddUserSection (const std::string &name, uint64_t start, uint64_t length, BNSectionSemantics semantics=DefaultSectionSemantics, const std::string &type="", uint64_t align=1, uint64_t entrySize=0, const std::string &linkedSection="", const std::string &infoSection="", uint64_t infoData=0) |
void | RemoveUserSection (const std::string &name) |
std::vector< Ref< Section > > | GetSections () |
std::vector< Ref< Section > > | GetSectionsAt (uint64_t addr) |
Ref< Section > | GetSectionByName (const std::string &name) |
std::vector< std::string > | GetUniqueSectionNames (const std::vector< std::string > &names) |
std::string | GetCommentForAddress (uint64_t addr) const |
std::vector< uint64_t > | GetCommentedAddresses () const |
void | SetCommentForAddress (uint64_t addr, const std::string &comment) |
std::vector< BNAddressRange > | GetAllocatedRanges () |
void | StoreMetadata (const std::string &key, Ref< Metadata > value, bool isAuto=false) |
Ref< Metadata > | QueryMetadata (const std::string &key) |
void | RemoveMetadata (const std::string &key) |
std::string | GetStringMetadata (const std::string &key) |
std::vector< uint8_t > | GetRawMetadata (const std::string &key) |
uint64_t | GetUIntMetadata (const std::string &key) |
std::vector< std::string > | GetLoadSettingsTypeNames () |
Ref< Settings > | GetLoadSettings (const std::string &typeName) |
void | SetLoadSettings (const std::string &typeName, Ref< Settings > settings) |
BNAnalysisParameters | GetParametersForAnalysis () |
void | SetParametersForAnalysis (BNAnalysisParameters params) |
uint64_t | GetMaxFunctionSizeForAnalysis () |
void | SetMaxFunctionSizeForAnalysis (uint64_t size) |
bool | GetNewAutoFunctionAnalysisSuppressed () |
void | SetNewAutoFunctionAnalysisSuppressed (bool suppress) |
std::set< NameSpace > | GetNameSpaces () const |
bool | HasSymbols () const |
bool | HasDataVariables () const |
Ref< Structure > | CreateStructureFromOffsetAccess (const QualifiedName &type, bool *newMemberAdded) const |
Confidence< Ref< Type > > | CreateStructureMemberFromAccess (const QualifiedName &name, uint64_t offset) const |
Ref< Logger > | CreateLogger (const std::string &name) |
Public Member Functions inherited from BinaryNinja::CoreRefCountObject< BNBinaryView, BNNewViewReference, BNFreeBinaryView > | |
CoreRefCountObject () | |
virtual | ~CoreRefCountObject () |
BNBinaryView * | GetObject () const |
void | AddRef () |
void | Release () |
void | AddRefForRegistration () |
void | ReleaseForRegistration () |
Static Public Member Functions | |
static NameSpace | GetInternalNameSpace () |
static NameSpace | GetExternalNameSpace () |
static bool | ParseExpression (Ref< BinaryView > view, const std::string &expression, uint64_t &offset, uint64_t here, std::string &errorString) |
Static Public Member Functions inherited from BinaryNinja::CoreRefCountObject< BNBinaryView, BNNewViewReference, BNFreeBinaryView > | |
static BNBinaryView * | GetObject (CoreRefCountObject *obj) |
Protected Member Functions | |
BinaryView (const std::string &typeName, FileMetadata *file, BinaryView *parentView=nullptr) | |
BinaryView constructor. More... | |
virtual size_t | PerformRead (void *dest, uint64_t offset, size_t len) |
PerformRead provides a mapping between the flat file and virtual offsets in the file. More... | |
virtual size_t | PerformWrite (uint64_t offset, const void *data, size_t len) |
virtual size_t | PerformInsert (uint64_t offset, const void *data, size_t len) |
virtual size_t | PerformRemove (uint64_t offset, uint64_t len) |
virtual BNModificationStatus | PerformGetModification (uint64_t offset) |
virtual bool | PerformIsValidOffset (uint64_t offset) |
virtual bool | PerformIsOffsetReadable (uint64_t offset) |
virtual bool | PerformIsOffsetWritable (uint64_t offset) |
virtual bool | PerformIsOffsetExecutable (uint64_t offset) |
virtual bool | PerformIsOffsetBackedByFile (uint64_t offset) |
virtual uint64_t | PerformGetNextValidOffset (uint64_t offset) |
virtual uint64_t | PerformGetStart () const |
virtual uint64_t | PerformGetLength () const |
virtual uint64_t | PerformGetEntryPoint () const |
virtual bool | PerformIsExecutable () const |
virtual BNEndianness | PerformGetDefaultEndianness () const |
virtual bool | PerformIsRelocatable () const |
virtual size_t | PerformGetAddressSize () const |
virtual bool | PerformSave (FileAccessor *file) |
void | PerformDefineRelocation (Architecture *arch, BNRelocationInfo &info, uint64_t target, uint64_t reloc) |
void | PerformDefineRelocation (Architecture *arch, BNRelocationInfo &info, Ref< Symbol > sym, uint64_t reloc) |
void | NotifyDataWritten (uint64_t offset, size_t len) |
void | NotifyDataInserted (uint64_t offset, size_t len) |
void | NotifyDataRemoved (uint64_t offset, uint64_t len) |
Protected Attributes | |
Ref< FileMetadata > | m_file |
The underlying file. More... | |
Additional Inherited Members | |
Public Attributes inherited from BinaryNinja::CoreRefCountObject< BNBinaryView, BNNewViewReference, BNFreeBinaryView > | |
std::atomic< int > | m_refs |
bool | m_registeredRef |
BNBinaryView * | m_object |
|
protected |
BinaryView constructor.
typeName | name of the BinaryView (e.g. ELF, PE, Mach-O, ...) |
file | a file to create a view from |
parentView | optional view that contains the raw data used by this view |
BinaryView::BinaryView | ( | BNBinaryView * | view | ) |
void BinaryView::AbortAnalysis | ( | ) |
Ref< AnalysisCompletionEvent > BinaryView::AddAnalysisCompletionEvent | ( | const std::function< void()> & | callback | ) |
void BinaryView::AddAnalysisOption | ( | const std::string & | name | ) |
void BinaryView::AddAutoSection | ( | const std::string & | name, |
uint64_t | start, | ||
uint64_t | length, | ||
BNSectionSemantics | semantics = DefaultSectionSemantics , |
||
const std::string & | type = "" , |
||
uint64_t | align = 1 , |
||
uint64_t | entrySize = 0 , |
||
const std::string & | linkedSection = "" , |
||
const std::string & | infoSection = "" , |
||
uint64_t | infoData = 0 |
||
) |
void BinaryView::AddAutoSegment | ( | uint64_t | start, |
uint64_t | length, | ||
uint64_t | dataOffset, | ||
uint64_t | dataLength, | ||
uint32_t | flags | ||
) |
void BinaryView::AddEntryPointForAnalysis | ( | Platform * | platform, |
uint64_t | start | ||
) |
void BinaryView::AddFunctionForAnalysis | ( | Platform * | platform, |
uint64_t | addr | ||
) |
void BinaryNinja::BinaryView::AddUndoAction | ( | UndoAction * | action | ) |
void BinaryView::AddUserDataReference | ( | uint64_t | fromAddr, |
uint64_t | toAddr | ||
) |
void BinaryView::AddUserSection | ( | const std::string & | name, |
uint64_t | start, | ||
uint64_t | length, | ||
BNSectionSemantics | semantics = DefaultSectionSemantics , |
||
const std::string & | type = "" , |
||
uint64_t | align = 1 , |
||
uint64_t | entrySize = 0 , |
||
const std::string & | linkedSection = "" , |
||
const std::string & | infoSection = "" , |
||
uint64_t | infoData = 0 |
||
) |
void BinaryView::AddUserSegment | ( | uint64_t | start, |
uint64_t | length, | ||
uint64_t | dataOffset, | ||
uint64_t | dataLength, | ||
uint32_t | flags | ||
) |
bool BinaryView::AlwaysBranch | ( | Architecture * | arch, |
uint64_t | addr | ||
) |
void BinaryView::BeginBulkModifySymbols | ( | ) |
void BinaryView::BeginUndoActions | ( | ) |
bool BinaryView::CanAssemble | ( | Architecture * | arch | ) |
void BinaryView::CommitUndoActions | ( | ) |
bool BinaryView::ConvertToNop | ( | Architecture * | arch, |
uint64_t | addr | ||
) |
Ref< Tag > BinaryView::CreateAutoDataTag | ( | uint64_t | addr, |
const std::string & | tagTypeName, | ||
const std::string & | data, | ||
bool | unique = false |
||
) |
Ref< Tag > BinaryView::CreateAutoDataTag | ( | uint64_t | addr, |
Ref< TagType > | tagType, | ||
const std::string & | data, | ||
bool | unique = false |
||
) |
bool BinaryNinja::BinaryView::CreateDatabase | ( | const std::string & | path, |
const std::function< bool(size_t progress, size_t total)> & | progressCallback, | ||
Ref< SaveSettings > | settings = new SaveSettings() |
||
) |
bool BinaryNinja::BinaryView::CreateDatabase | ( | const std::string & | path, |
Ref< SaveSettings > | settings = new SaveSettings() |
||
) |
Ref< Structure > BinaryNinja::BinaryView::CreateStructureBasedOnFieldAccesses | ( | const QualifiedName & | type | ) |
Ref< Structure > BinaryView::CreateStructureFromOffsetAccess | ( | const QualifiedName & | type, |
bool * | newMemberAdded | ||
) | const |
Confidence< Ref< Type > > BinaryView::CreateStructureMemberFromAccess | ( | const QualifiedName & | name, |
uint64_t | offset | ||
) | const |
Ref< Tag > BinaryView::CreateUserDataTag | ( | uint64_t | addr, |
const std::string & | tagTypeName, | ||
const std::string & | data, | ||
bool | unique = false |
||
) |
Ref< Tag > BinaryView::CreateUserDataTag | ( | uint64_t | addr, |
Ref< TagType > | tagType, | ||
const std::string & | data, | ||
bool | unique = false |
||
) |
void BinaryView::CreateUserFunction | ( | Platform * | platform, |
uint64_t | start | ||
) |
Ref< Symbol > BinaryView::DefineAutoSymbolAndVariableOrFunction | ( | Ref< Platform > | platform, |
Ref< Symbol > | sym, | ||
Ref< Type > | type | ||
) |
void BinaryView::DefineDataVariable | ( | uint64_t | addr, |
const Confidence< Ref< Type > > & | type | ||
) |
void BinaryView::DefineImportedFunction | ( | Ref< Symbol > | importAddressSym, |
Ref< Function > | func, | ||
Ref< Type > | type = nullptr |
||
) |
void BinaryView::DefineRelocation | ( | Architecture * | arch, |
BNRelocationInfo & | info, | ||
Ref< Symbol > | target, | ||
uint64_t | reloc | ||
) |
void BinaryView::DefineRelocation | ( | Architecture * | arch, |
BNRelocationInfo & | info, | ||
uint64_t | target, | ||
uint64_t | reloc | ||
) |
QualifiedName BinaryView::DefineType | ( | const std::string & | id, |
const QualifiedName & | defaultName, | ||
Ref< Type > | type | ||
) |
void BinaryView::DefineTypes | ( | const std::vector< std::pair< std::string, QualifiedNameAndType > > & | types, |
std::function< bool(size_t, size_t)> | progress = {} |
||
) |
void BinaryView::DefineUserDataVariable | ( | uint64_t | addr, |
const Confidence< Ref< Type > > & | type | ||
) |
void BinaryView::DefineUserType | ( | const QualifiedName & | name, |
Ref< Type > | type | ||
) |
void BinaryView::DefineUserTypes | ( | const std::vector< QualifiedNameAndType > & | types, |
std::function< bool(size_t, size_t)> | progress = {} |
||
) |
void BinaryView::EndBulkModifySymbols | ( | ) |
bool BinaryView::FindAllConstant | ( | uint64_t | start, |
uint64_t | end, | ||
uint64_t | constant, | ||
Ref< DisassemblySettings > | settings, | ||
BNFunctionGraphType | graph, | ||
const std::function< bool(size_t current, size_t total)> & | progress, | ||
const std::function< bool(uint64_t addr, const LinearDisassemblyLine &line)> & | matchCallback | ||
) |
bool BinaryView::FindAllData | ( | uint64_t | start, |
uint64_t | end, | ||
const DataBuffer & | data, | ||
BNFindFlag | flags, | ||
const std::function< bool(size_t current, size_t total)> & | progress, | ||
const std::function< bool(uint64_t addr, const DataBuffer &match)> & | matchCallback | ||
) |
bool BinaryView::FindAllText | ( | uint64_t | start, |
uint64_t | end, | ||
const std::string & | data, | ||
Ref< DisassemblySettings > | settings, | ||
BNFindFlag | flags, | ||
BNFunctionGraphType | graph, | ||
const std::function< bool(size_t current, size_t total)> & | progress, | ||
const std::function< bool(uint64_t addr, const std::string &match, const LinearDisassemblyLine &line)> & | matchCallback | ||
) |
bool BinaryView::FindNextConstant | ( | uint64_t | start, |
uint64_t | constant, | ||
uint64_t & | result, | ||
Ref< DisassemblySettings > | settings, | ||
BNFunctionGraphType | graph = NormalFunctionGraph |
||
) |
bool BinaryView::FindNextConstant | ( | uint64_t | start, |
uint64_t | end, | ||
uint64_t | constant, | ||
uint64_t & | addr, | ||
Ref< DisassemblySettings > | settings, | ||
BNFunctionGraphType | graph, | ||
const std::function< bool(size_t current, size_t total)> & | progress | ||
) |
bool BinaryView::FindNextData | ( | uint64_t | start, |
const DataBuffer & | data, | ||
uint64_t & | result, | ||
BNFindFlag | flags = FindCaseSensitive |
||
) |
bool BinaryView::FindNextData | ( | uint64_t | start, |
uint64_t | end, | ||
const DataBuffer & | data, | ||
uint64_t & | addr, | ||
BNFindFlag | flags, | ||
const std::function< bool(size_t current, size_t total)> & | progress | ||
) |
bool BinaryView::FindNextText | ( | uint64_t | start, |
const std::string & | data, | ||
uint64_t & | result, | ||
Ref< DisassemblySettings > | settings, | ||
BNFindFlag | flags = FindCaseSensitive , |
||
BNFunctionGraphType | graph = NormalFunctionGraph |
||
) |
bool BinaryView::FindNextText | ( | uint64_t | start, |
uint64_t | end, | ||
const std::string & | data, | ||
uint64_t & | addr, | ||
Ref< DisassemblySettings > | settings, | ||
BNFindFlag | flags, | ||
BNFunctionGraphType | graph, | ||
const std::function< bool(size_t current, size_t total)> & | progress | ||
) |
bool BinaryView::GetAddressForDataOffset | ( | uint64_t | offset, |
uint64_t & | addr | ||
) |
bool BinaryNinja::BinaryView::GetAddressInput | ( | uint64_t & | result, |
const std::string & | prompt, | ||
const std::string & | title | ||
) |
bool BinaryNinja::BinaryView::GetAddressInput | ( | uint64_t & | result, |
const std::string & | prompt, | ||
const std::string & | title, | ||
uint64_t | currentAddress | ||
) |
size_t BinaryView::GetAddressSize | ( | ) | const |
std::vector< TagReference > BinaryView::GetAllAddressTagReferences | ( | ) |
vector< uint64_t > BinaryView::GetAllFieldsReferenced | ( | const QualifiedName & | type | ) |
std::vector< TagReference > BinaryView::GetAllFunctionTagReferences | ( | ) |
vector< BNAddressRange > BinaryView::GetAllocatedRanges | ( | ) |
std::map< uint64_t, std::vector< size_t > > BinaryView::GetAllSizesReferenced | ( | const QualifiedName & | type | ) |
std::vector< TagReference > BinaryView::GetAllTagReferences | ( | ) |
std::vector< TagReference > BinaryView::GetAllTagReferencesOfType | ( | Ref< TagType > | tagType | ) |
std::map< uint64_t, std::vector< Confidence< Ref< Type > > > > BinaryView::GetAllTypesReferenced | ( | const QualifiedName & | type | ) |
AnalysisInfo BinaryView::GetAnalysisInfo | ( | ) |
BNAnalysisProgress BinaryView::GetAnalysisProgress | ( | ) |
std::vector< TagReference > BinaryView::GetAutoDataTagReferences | ( | ) |
std::vector< TagReference > BinaryView::GetAutoDataTagsInRange | ( | uint64_t | start, |
uint64_t | end | ||
) |
std::vector< Ref< Tag > > BinaryView::GetAutoDataTagsOfType | ( | uint64_t | addr, |
Ref< TagType > | tagType | ||
) |
Ref< BackgroundTask > BinaryView::GetBackgroundAnalysisTask | ( | ) |
vector< Ref< BasicBlock > > BinaryView::GetBasicBlocksForAddress | ( | uint64_t | addr | ) |
vector< Ref< BasicBlock > > BinaryView::GetBasicBlocksStartingAtAddress | ( | uint64_t | addr | ) |
vector< uint64_t > BinaryView::GetCallees | ( | ReferenceSource | addr | ) |
vector< ReferenceSource > BinaryView::GetCallers | ( | uint64_t | addr | ) |
vector< ReferenceSource > BinaryView::GetCodeReferences | ( | uint64_t | addr | ) |
vector< ReferenceSource > BinaryView::GetCodeReferences | ( | uint64_t | addr, |
uint64_t | len | ||
) |
vector< ReferenceSource > BinaryView::GetCodeReferencesForType | ( | const QualifiedName & | type | ) |
vector< TypeFieldReference > BinaryView::GetCodeReferencesForTypeField | ( | const QualifiedName & | type, |
uint64_t | offset | ||
) |
vector< TypeReferenceSource > BinaryView::GetCodeReferencesForTypeFieldFrom | ( | ReferenceSource | src | ) |
vector< TypeReferenceSource > BinaryView::GetCodeReferencesForTypeFieldFrom | ( | ReferenceSource | src, |
uint64_t | len | ||
) |
vector< TypeReferenceSource > BinaryView::GetCodeReferencesForTypeFrom | ( | ReferenceSource | src | ) |
vector< TypeReferenceSource > BinaryView::GetCodeReferencesForTypeFrom | ( | ReferenceSource | src, |
uint64_t | len | ||
) |
vector< uint64_t > BinaryView::GetCodeReferencesFrom | ( | ReferenceSource | src | ) |
vector< uint64_t > BinaryView::GetCodeReferencesFrom | ( | ReferenceSource | src, |
uint64_t | len | ||
) |
vector< uint64_t > BinaryView::GetCommentedAddresses | ( | ) | const |
string BinaryView::GetCommentForAddress | ( | uint64_t | addr | ) | const |
uint64_t BinaryView::GetCurrentOffset | ( | ) |
string BinaryView::GetCurrentView | ( | ) |
vector< uint64_t > BinaryView::GetDataReferences | ( | uint64_t | addr | ) |
vector< uint64_t > BinaryView::GetDataReferences | ( | uint64_t | addr, |
uint64_t | len | ||
) |
vector< uint64_t > BinaryView::GetDataReferencesForType | ( | const QualifiedName & | type | ) |
vector< uint64_t > BinaryView::GetDataReferencesForTypeField | ( | const QualifiedName & | type, |
uint64_t | offset | ||
) |
vector< uint64_t > BinaryView::GetDataReferencesFrom | ( | uint64_t | addr | ) |
vector< uint64_t > BinaryView::GetDataReferencesFrom | ( | uint64_t | addr, |
uint64_t | len | ||
) |
std::vector< TagReference > BinaryView::GetDataTagReferences | ( | ) |
std::vector< TagReference > BinaryView::GetDataTagsInRange | ( | uint64_t | start, |
uint64_t | end | ||
) |
bool BinaryView::GetDataVariableAtAddress | ( | uint64_t | addr, |
DataVariable & | var | ||
) |
map< uint64_t, DataVariable > BinaryView::GetDataVariables | ( | ) |
Ref< Architecture > BinaryView::GetDefaultArchitecture | ( | ) | const |
BNEndianness BinaryView::GetDefaultEndianness | ( | ) | const |
uint64_t BinaryView::GetEnd | ( | ) | const |
vector< float > BinaryView::GetEntropy | ( | uint64_t | offset, |
size_t | len, | ||
size_t | blockSize | ||
) |
uint64_t BinaryView::GetEntryPoint | ( | ) | const |
|
static |
|
inline |
size_t BinaryView::GetInstructionLength | ( | Architecture * | arch, |
uint64_t | addr | ||
) |
|
static |
uint64_t BinaryView::GetLength | ( | ) | const |
vector< string > BinaryView::GetLoadSettingsTypeNames | ( | ) |
uint64_t BinaryView::GetMaxFunctionSizeForAnalysis | ( | ) |
BNModificationStatus BinaryView::GetModification | ( | uint64_t | offset | ) |
vector< BNModificationStatus > BinaryView::GetModification | ( | uint64_t | offset, |
size_t | len | ||
) |
set< NameSpace > BinaryView::GetNameSpaces | ( | ) | const |
bool BinaryView::GetNewAutoFunctionAnalysisSuppressed | ( | ) |
uint64_t BinaryView::GetNextBasicBlockStartAfterAddress | ( | uint64_t | addr | ) |
uint64_t BinaryView::GetNextDataAfterAddress | ( | uint64_t | addr | ) |
uint64_t BinaryView::GetNextDataVariableStartAfterAddress | ( | uint64_t | addr | ) |
uint64_t BinaryView::GetNextFunctionStartAfterAddress | ( | uint64_t | addr | ) |
uint64_t BinaryView::GetNextValidOffset | ( | uint64_t | offset | ) | const |
BNAnalysisParameters BinaryView::GetParametersForAnalysis | ( | ) |
Ref< BinaryView > BinaryView::GetParentView | ( | ) | const |
uint64_t BinaryView::GetPreviousBasicBlockEndBeforeAddress | ( | uint64_t | addr | ) |
uint64_t BinaryView::GetPreviousBasicBlockStartBeforeAddress | ( | uint64_t | addr | ) |
uint64_t BinaryView::GetPreviousDataBeforeAddress | ( | uint64_t | addr | ) |
uint64_t BinaryView::GetPreviousDataVariableStartBeforeAddress | ( | uint64_t | addr | ) |
uint64_t BinaryView::GetPreviousFunctionStartBeforeAddress | ( | uint64_t | addr | ) |
vector< uint8_t > BinaryView::GetRawMetadata | ( | const std::string & | key | ) |
Ref< BasicBlock > BinaryView::GetRecentBasicBlockForAddress | ( | uint64_t | addr | ) |
vector< pair< uint64_t, uint64_t > > BinaryView::GetRelocationRanges | ( | ) | const |
vector< pair< uint64_t, uint64_t > > BinaryView::GetRelocationRangesAtAddress | ( | uint64_t | addr | ) | const |
std::vector< size_t > BinaryView::GetSizesReferenced | ( | const QualifiedName & | type, |
uint64_t | offset | ||
) |
uint64_t BinaryView::GetStart | ( | ) | const |
bool BinaryView::GetStringAtAddress | ( | uint64_t | addr, |
BNStringReference & | strRef | ||
) |
string BinaryView::GetStringMetadata | ( | const std::string & | key | ) |
vector< BNStringReference > BinaryView::GetStrings | ( | ) |
vector< BNStringReference > BinaryView::GetStrings | ( | uint64_t | start, |
uint64_t | len | ||
) |
Ref< Symbol > BinaryView::GetSymbolByAddress | ( | uint64_t | addr, |
const NameSpace & | nameSpace = NameSpace() |
||
) |
Ref< Symbol > BinaryView::GetSymbolByRawName | ( | const std::string & | name, |
const NameSpace & | nameSpace = NameSpace() |
||
) |
vector< Ref< Symbol > > BinaryView::GetSymbols | ( | uint64_t | start, |
uint64_t | len, | ||
const NameSpace & | nameSpace = NameSpace() |
||
) |
vector< Ref< Symbol > > BinaryView::GetSymbolsByName | ( | const std::string & | name, |
const NameSpace & | nameSpace = NameSpace() |
||
) |
vector< Ref< Symbol > > BinaryView::GetSymbolsOfType | ( | BNSymbolType | type, |
const NameSpace & | nameSpace = NameSpace() |
||
) |
vector< Ref< Symbol > > BinaryView::GetSymbolsOfType | ( | BNSymbolType | type, |
uint64_t | start, | ||
uint64_t | len, | ||
const NameSpace & | nameSpace = NameSpace() |
||
) |
std::vector< TagReference > BinaryView::GetTagReferencesOfType | ( | Ref< TagType > | tagType | ) |
Ref< TagType > BinaryView::GetTagType | ( | const std::string & | name, |
TagType::Type | type | ||
) |
Ref< TagType > BinaryView::GetTagTypeById | ( | const std::string & | id, |
TagType::Type | type | ||
) |
Ref< TagType > BinaryView::GetTagTypeByName | ( | const std::string & | name, |
TagType::Type | type | ||
) |
Ref< Type > BinaryView::GetTypeByName | ( | const QualifiedName & | name | ) |
string BinaryView::GetTypeId | ( | const QualifiedName & | name | ) |
string BinaryView::GetTypeName | ( | ) | const |
QualifiedName BinaryView::GetTypeNameById | ( | const std::string & | id | ) |
vector< QualifiedName > BinaryView::GetTypeNames | ( | const std::string & | matching = "" | ) |
vector< TypeReferenceSource > BinaryView::GetTypeReferencesForType | ( | const QualifiedName & | type | ) |
vector< TypeReferenceSource > BinaryView::GetTypeReferencesForTypeField | ( | const QualifiedName & | type, |
uint64_t | offset | ||
) |
map< QualifiedName, Ref< Type > > BinaryView::GetTypes | ( | ) |
std::vector< Confidence< Ref< Type > > > BinaryView::GetTypesReferenced | ( | const QualifiedName & | type, |
uint64_t | offset | ||
) |
uint64_t BinaryView::GetUIntMetadata | ( | const std::string & | key | ) |
vector< string > BinaryView::GetUniqueSectionNames | ( | const std::vector< std::string > & | names | ) |
std::vector< TagReference > BinaryView::GetUserDataTagReferences | ( | ) |
std::vector< TagReference > BinaryView::GetUserDataTagsInRange | ( | uint64_t | start, |
uint64_t | end | ||
) |
std::vector< Ref< Tag > > BinaryView::GetUserDataTagsOfType | ( | uint64_t | addr, |
Ref< TagType > | tagType | ||
) |
std::vector< Ref< Symbol > > BinaryView::GetVisibleSymbols | ( | const NameSpace & | nameSpace = NameSpace() | ) |
bool BinaryView::HasDataVariables | ( | ) | const |
bool BinaryView::HasFunctions | ( | ) | const |
bool BinaryView::HasInitialAnalysis | ( | ) |
bool BinaryView::HasSymbols | ( | ) | const |
|
inlinevirtual |
size_t BinaryView::Insert | ( | uint64_t | offset, |
const void * | data, | ||
size_t | len | ||
) |
size_t BinaryView::InsertBuffer | ( | uint64_t | offset, |
const DataBuffer & | data | ||
) |
bool BinaryView::InvertBranch | ( | Architecture * | arch, |
uint64_t | addr | ||
) |
bool BinaryView::IsAlwaysBranchPatchAvailable | ( | Architecture * | arch, |
uint64_t | addr | ||
) |
bool BinaryView::IsAnalysisChanged | ( | ) | const |
bool BinaryView::IsExecutable | ( | ) | const |
bool BinaryView::IsInvertBranchPatchAvailable | ( | Architecture * | arch, |
uint64_t | addr | ||
) |
bool BinaryView::IsModified | ( | ) | const |
bool BinaryView::IsNeverBranchPatchAvailable | ( | Architecture * | arch, |
uint64_t | addr | ||
) |
bool BinaryView::IsOffsetBackedByFile | ( | uint64_t | offset | ) | const |
bool BinaryView::IsOffsetCodeSemantics | ( | uint64_t | offset | ) | const |
bool BinaryView::IsOffsetExecutable | ( | uint64_t | offset | ) | const |
bool BinaryView::IsOffsetExternSemantics | ( | uint64_t | offset | ) | const |
bool BinaryView::IsOffsetReadable | ( | uint64_t | offset | ) | const |
bool BinaryView::IsOffsetWritable | ( | uint64_t | offset | ) | const |
bool BinaryView::IsOffsetWritableSemantics | ( | uint64_t | offset | ) | const |
bool BinaryView::IsRelocatable | ( | ) | const |
bool BinaryView::IsSkipAndReturnValuePatchAvailable | ( | Architecture * | arch, |
uint64_t | addr | ||
) |
bool BinaryView::IsSkipAndReturnZeroPatchAvailable | ( | Architecture * | arch, |
uint64_t | addr | ||
) |
bool BinaryView::IsTypeAutoDefined | ( | const QualifiedName & | name | ) |
bool BinaryView::IsValidOffset | ( | uint64_t | offset | ) | const |
bool BinaryView::Navigate | ( | const std::string & | view, |
uint64_t | offset | ||
) |
|
protected |
|
protected |
|
protected |
|
static |
bool BinaryView::ParsePossibleValueSet | ( | const std::string & | value, |
BNRegisterValueType | state, | ||
PossibleValueSet & | result, | ||
uint64_t | here, | ||
std::string & | errors | ||
) |
bool BinaryView::ParseTypesFromSource | ( | const std::string & | text, |
const std::vector< std::string > & | options, | ||
const std::vector< std::string > & | includeDirs, | ||
TypeParserResult & | result, | ||
std::string & | errors, | ||
const std::set< QualifiedName > & | typesAllowRedefinition = {} |
||
) |
bool BinaryNinja::BinaryView::ParseTypeString | ( | const std::string & | text, |
QualifiedNameAndType & | result, | ||
std::string & | errors, | ||
const std::set< QualifiedName > & | typesAllowRedefinition = {} |
||
) |
bool BinaryNinja::BinaryView::ParseTypeString | ( | const std::string & | text, |
std::map< QualifiedName, Ref< Type > > & | types, | ||
std::map< QualifiedName, Ref< Type > > & | variables, | ||
std::map< QualifiedName, Ref< Type > > & | functions, | ||
std::string & | errors, | ||
const std::set< QualifiedName > & | typesAllowRedefinition = {} |
||
) |
|
protected |
|
protected |
|
protectedvirtual |
|
protectedvirtual |
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
|
protectedvirtual |
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
inlineprotectedvirtual |
PerformRead provides a mapping between the flat file and virtual offsets in the file.
dest | the address to write len number of bytes. |
offset | the virtual offset to find and read len bytes from |
len | the number of bytes to read from offset and write to dest |
|
inlineprotectedvirtual |
|
protectedvirtual |
|
inlineprotectedvirtual |
bool BinaryView::RangeContainsRelocation | ( | uint64_t | addr, |
size_t | size | ||
) | const |
size_t BinaryView::Read | ( | void * | dest, |
uint64_t | offset, | ||
size_t | len | ||
) |
DataBuffer BinaryView::ReadBuffer | ( | uint64_t | offset, |
size_t | len | ||
) |
void BinaryView::Reanalyze | ( | ) |
bool BinaryView::Redo | ( | ) |
void BinaryView::RegisterNotification | ( | BinaryDataNotification * | notify | ) |
void BinaryView::RegisterPlatformTypes | ( | Platform * | platform | ) |
size_t BinaryView::Remove | ( | uint64_t | offset, |
uint64_t | len | ||
) |
void BinaryView::RemoveAnalysisFunction | ( | Function * | func | ) |
void BinaryView::RemoveAutoSection | ( | const std::string & | name | ) |
void BinaryView::RemoveAutoSegment | ( | uint64_t | start, |
uint64_t | length | ||
) |
void BinaryView::RemoveMetadata | ( | const std::string & | key | ) |
void BinaryView::RemoveTagReference | ( | const TagReference & | ref | ) |
void BinaryView::RemoveUserDataReference | ( | uint64_t | fromAddr, |
uint64_t | toAddr | ||
) |
void BinaryView::RemoveUserFunction | ( | Function * | func | ) |
void BinaryView::RemoveUserSection | ( | const std::string & | name | ) |
void BinaryView::RemoveUserSegment | ( | uint64_t | start, |
uint64_t | length | ||
) |
void BinaryView::RenameType | ( | const QualifiedName & | oldName, |
const QualifiedName & | newName | ||
) |
bool BinaryNinja::BinaryView::Save | ( | const std::string & | path | ) |
bool BinaryView::Save | ( | FileAccessor * | file | ) |
bool BinaryNinja::BinaryView::SaveAutoSnapshot | ( | const std::function< bool(size_t progress, size_t total)> & | progressCallback, |
Ref< SaveSettings > | settings = new SaveSettings() |
||
) |
bool BinaryView::SaveAutoSnapshot | ( | Ref< SaveSettings > | settings = new SaveSettings() | ) |
void BinaryView::SetAnalysisHold | ( | bool | enable | ) |
void BinaryView::SetCommentForAddress | ( | uint64_t | addr, |
const std::string & | comment | ||
) |
void BinaryView::SetDefaultArchitecture | ( | Architecture * | arch | ) |
void BinaryView::SetDefaultPlatform | ( | Platform * | platform | ) |
void BinaryView::SetMaxFunctionSizeForAnalysis | ( | uint64_t | size | ) |
void BinaryView::SetNewAutoFunctionAnalysisSuppressed | ( | bool | suppress | ) |
void BinaryView::SetParametersForAnalysis | ( | BNAnalysisParameters | params | ) |
void BinaryView::ShowGraphReport | ( | const std::string & | title, |
FlowGraph * | graph | ||
) |
void BinaryView::ShowHTMLReport | ( | const std::string & | title, |
const std::string & | contents, | ||
const std::string & | plainText | ||
) |
void BinaryView::ShowMarkdownReport | ( | const std::string & | title, |
const std::string & | contents, | ||
const std::string & | plainText | ||
) |
void BinaryView::ShowPlainTextReport | ( | const std::string & | title, |
const std::string & | contents | ||
) |
bool BinaryView::SkipAndReturnValue | ( | Architecture * | arch, |
uint64_t | addr, | ||
uint64_t | value | ||
) |
void BinaryView::StoreMetadata | ( | const std::string & | key, |
Ref< Metadata > | value, | ||
bool | isAuto = false |
||
) |
void BinaryView::UndefineDataVariable | ( | uint64_t | addr | ) |
void BinaryView::UndefineType | ( | const std::string & | id | ) |
void BinaryView::UndefineUserDataVariable | ( | uint64_t | addr | ) |
void BinaryView::UndefineUserType | ( | const QualifiedName & | name | ) |
bool BinaryView::Undo | ( | ) |
void BinaryView::UnregisterNotification | ( | BinaryDataNotification * | notify | ) |
void BinaryView::UpdateAnalysis | ( | ) |
void BinaryView::UpdateAnalysisAndWait | ( | ) |
size_t BinaryView::Write | ( | uint64_t | offset, |
const void * | data, | ||
size_t | len | ||
) |
size_t BinaryView::WriteBuffer | ( | uint64_t | offset, |
const DataBuffer & | data | ||
) |
|
protected |
The underlying file.