Module pychrysalide.analysis.db.items
Class BookmarkCollection
Class CommentCollection
Class DbBookmark
Class DbComment
Class DbSwitcher
Class SwitcherCollection
Module pychrysalide.analysis.db.items
Documentation
Python module for Chrysalide.analysis.db.items
Classes
Class BookmarkCollection
BookmarkCollection remembers all bookmark definitions.
Instances can be created using the following constructor:
BookmarkCollection()
There should be no need for creating such instances manually.
Hierarchy
builtins.object ╰── gi._gi.GObject ╰── pychrysalide.analysis.db.DbCollection ╰── pychrysalide.analysis.db.items.BookmarkCollection
Class CommentCollection
CommentCollection remembers all comment definitions.
Instances can be created using the following constructor:
CommentCollection()
There should be no need for creating such instances manually.
Hierarchy
builtins.object ╰── gi._gi.GObject ╰── pychrysalide.analysis.db.DbCollection ╰── pychrysalide.analysis.db.items.CommentCollection
Class DbBookmark
DbBookmark provides support for bookmarks inside the disassembled code.
Instances can be created using the following constructor:
DbBookmark(addr, comment=None)
Where addr is a location of type vmpa and comment is a string or None.
An empty comment is not enough to delete a bookmark for a given address; the ERASER flag from the DbItemFlags enumeration must be explicitly add to the item by a call to the add_flag() function.
Hierarchy
builtins.object ╰── gi._gi.GObject ╰── pychrysalide.analysis.db.DbItem ╰── pychrysalide.analysis.db.items.DbBookmark
Attributes
address
Location of the bookmark, provided as a vmpa instance.
comment
Comment linked to the bookmark or None if the bookmark has been unset.
Class DbComment
DbComment provides support for comments to embed into the disassembled code.
Instances can be created using the following constructor:
DbComment(addr, addr, type, flags, text=None)
Where addr is a location of type vmpa, type defines the kind of embedding as a CommentEmbeddingType value, flags states for the BufferLineFlags property of the line to attach and text is an optional string for the comment.
An empty comment is not enough to delete a comment for a given address; the ERASER flag from the DbItemFlags enumeration must be explicitly add to the item by a call to the add_flag() function.
Hierarchy
builtins.object ╰── gi._gi.GObject ╰── pychrysalide.analysis.db.DbItem ╰── pychrysalide.analysis.db.items.DbComment
Implements: pychrysalide.glibext.LineGenerator
Attributes
address
Location of the comment, provided as a vmpa instance.
embedding_type
Type of embedding required for the comment, as a CommentEmbeddingType value.
flags
Flags of the line where to attach the comment, as a BufferLineFlags value.
text
Content of the comment, as a string which may contain several lines, or None of no text is linked to the comment.
Constants
CommentEmbeddingType
Kinds of insertion for comments.
| 0 | = 0 |
| 1 | = 1 |
| 2 | = 2 |
| 3 | = 3 |
Class DbSwitcher
DbSwitcher allows to switch display for immediate operands.
Instances can be created using the following constructor:
DbSwitcher(instr, imm, display)
Where instr is an ArchInstruction instance containing the target imm operand, which must be an ImmOperand object. The display argument defines the kind of display to apply, as a ImmOperandDisplay value.
ImmOperandDisplay.COUNT can be used to reset the display to its default state.
Hierarchy
builtins.object ╰── gi._gi.GObject ╰── pychrysalide.analysis.db.DbItem ╰── pychrysalide.analysis.db.items.DbSwitcher
Attributes
address
Location of the instruction containing the switched operand, as a vmpa instance.
display
Kind of display forced for the target operand, as an ImmOperandDisplay value.
path
Path used to retrieved internally the operand to switch.
This path is a string of the form 'n[:n:n:n]', where n is an internal index.
Class SwitcherCollection
SwitcherCollection remembers all switch definitions for immediate operand display.
Instances can be created using the following constructor:
SwitcherCollection()
There should be no need for creating such instances manually.
Hierarchy
builtins.object ╰── gi._gi.GObject ╰── pychrysalide.analysis.db.DbCollection ╰── pychrysalide.analysis.db.items.SwitcherCollection