IDA Pro rocks. If only there was good documentation for the API...
| Function | Purpose |
| Functions([start address],[end address]) | returns start addresses of functions falling between the start and end address. This does DOES NOT return function representing imports |
| get_func(address) | returns a function object (func_t) of the current memory location |
| Chunks(function,address) | |
| LocByName(name) | locates and returns the address of name |
| XrefTypeName(type) | returns a string describing the xreference type |
| Name(address) | returns the name associated with an address |
| Names() | returns a list tuples of all names and addresses |
| DecodeInstruction(address) | returns an instruction (inst_t) object relating to the decoded object |
| Flowchart(address,[flags=flags]) | returns a flowchart object that can be iterated through, returning BasicBlock objects. Note: if you want the predecessors of the BasicBlocks to be generated, use flags=FC_PREDS in constructor |
| Segment related Functions | |
| Function | Purpose |
| getseg(address) | returns a segment_t object relating to the specified address |
| FirstSeg() | Returns address of first segement |
| FirstSeg() | Returns address of first segement |
| Segments() | Returns collection of starting addresses of all segement |
| NextSeg() | Returns address of first segement, returns BADADDR when none are left |
| SegByName(string) | Returns an index into a segment array? |
| SegStart(address) | Returns start address of the segment in which address falls |
| SegEnd(address) | Returns end address of the segment in which address falls |
| SegName(address) | Returns the name of the segment in which address falls |
| Useful classes | |
| segment_t | Segment Class |
| func_t | Function Class |
| insn_t | Instruction Class |
| BasicBlock | BasicBlock Class |
xref.type == fl_CN is Code_Near_Call
xref.type == fl_CF is code_Far_Call
use XrefTypeName(type) to determine the type
Random: turn on ida output logging by setting the IDALOG environmental variable to the file you'd like to log to
Paladin Group,LLC has proved to be one of the only dependable tech firms with which I've ever worked - things get done right, in a timely fashion, and when there is an emergency they are always right there for me!
Amy Vansant
CEO Vansant Creations