Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

analy.h File Reference

#include "asm.h"
#include "global.h"
#include "common.h"
#include "code_analy.h"
#include "data_analy.h"
#include "htdata.h"
#include "stddata.h"

Go to the source code of this file.

Classes

class  Address
class  AddressFlat32
class  AddressFlat64
class  AddressQueueItem
class  AddrXRef
class  AnalyDisassembler
class  Analyser
class  CommentList
class  InvalidAddress
struct  Location
class  Segment
struct  Symbol
struct  taccess

Defines

#define ADDRESS_STRING_FORMAT_COMPACT   0
#define ADDRESS_STRING_FORMAT_LEADING_WHITESPACE   1
#define ADDRESS_STRING_FORMAT_LEADING_ZEROS   2
#define ADDRESS_STRING_FORMAT_RESERVED   3
#define ADDRESS_STRING_FORMAT_HEX_CAPS   4
#define ADDRESS_STRING_FORMAT_ADD_0X   8
#define ADDRESS_STRING_FORMAT_ADD_H   16
#define DUP_ADDR(a)   ((Address*)(a)->duplicate())
#define ANALY_SEGMENT_CAP_WRITE   1
#define ANALY_SEGMENT_CAP_INITIALIZED   2
#define OPCODE   dis_insn
#define AF_DELETED   1
#define AF_FUNCTION_SET   2
#define AF_FUNCTION_END   4
#define ANALY_SHOW_ADDRESS   1
#define ANALY_SHOW_COMMENTS   2
#define ANALY_SHOW_LABELS   4
#define ANALY_SHOW_XREFS   8
#define ANALY_SHOW_BYTES   16
#define ANALY_EDIT_BYTES   32
#define ANALY_TRANSLATE_SYMBOLS   64
#define ANALY_COLLAPSE_XREFS   128
#define Q_DO_ANALYSIS   1
#define Q_ENGAGE_CODE_ANALYSER   2
#define Q_ENGAGE_DATA_ANALYSER   3
#define INVALID_FILE_OFS   ((dword)-1)
#define MAX_OPS_PER_CONTINUE   10

Enumerations

enum  branch_enum_t {
  br_nobranch, br_jump, br_return, br_call,
  br_jXX
}
enum  xref_enum_t {
  xrefread, xrefwrite, xrefoffset, xrefjump,
  xrefcall, xrefijump, xreficall
}
enum  tsectype {
  scvalid, scread, scwrite, screadwrite,
  sccode, scinitialized
}
enum  taccesstype { acread, acwrite, acoffset }
enum  labeltype { label_unknown = 0, label_func, label_loc, label_data }

Variables

int num_ops_parsed
int global_analyser_address_string_format
Analysertestanaly


Define Documentation

#define ADDRESS_STRING_FORMAT_ADD_0X   8
 

Definition at line 42 of file analy.h.

Referenced by CallChain::get_text(), ht_xbe_import_viewer::select_entry(), ht_pe_import_viewer::select_entry(), ht_pe_export_viewer::select_entry(), ht_pe_dimport_viewer::select_entry(), AddressX86_1616::stringify(), AddressX86_1632::stringify(), AddressX86Flat32::stringify(), AddressFlat64::stringify(), and AddressFlat32::stringify().

#define ADDRESS_STRING_FORMAT_ADD_H   16
 

Definition at line 43 of file analy.h.

Referenced by AnalyserTxtOutput::link(), ht_aviewer::pos_to_string(), AddressX86_1616::stringify(), AddressX86_1632::stringify(), AddressX86Flat32::stringify(), AddressFlat64::stringify(), and AddressFlat32::stringify().

#define ADDRESS_STRING_FORMAT_COMPACT   0
 

Definition at line 36 of file analy.h.

Referenced by Analyser::addAddressSymbol(), AnalyserTxtOutput::beginLine(), AnalyserHTOutput::beginLine(), Analyser::doBranch(), AnalyserOutput::generateAddr(), ht_aviewer::get_pindicator_str(), CallChain::get_text(), ht_aviewer::searchForXRefs(), ht_xbe_import_viewer::select_entry(), ht_pe_import_viewer::select_entry(), ht_pe_export_viewer::select_entry(), and ht_pe_dimport_viewer::select_entry().

#define ADDRESS_STRING_FORMAT_HEX_CAPS   4
 

Definition at line 41 of file analy.h.

#define ADDRESS_STRING_FORMAT_LEADING_WHITESPACE   1
 

Definition at line 37 of file analy.h.

Referenced by AnalyserTxtOutput::beginLine(), AnalyserHTOutput::beginLine(), and SymbolBox::getStr().

#define ADDRESS_STRING_FORMAT_LEADING_ZEROS   2
 

Definition at line 38 of file analy.h.

Referenced by ht_aviewer::canCreateAddress(), Analyser::dataAccess(), Analyser::doBranch(), AnalyInfoline::gettext(), ht_aviewer::handlemsg(), AnalyserTxtOutput::link(), ht_aviewer::pos_to_string(), ht_aviewer::qword_to_pos(), ht_aviewer::showCallChain(), and ht_aviewer::showXRefs().

#define ADDRESS_STRING_FORMAT_RESERVED   3
 

Definition at line 39 of file analy.h.

#define AF_DELETED   1
 

Definition at line 240 of file analy.h.

Referenced by Analyser::deleteLocation(), Analyser::enumLocations(), Analyser::enumLocationsReverse(), and Analyser::newLocation().

#define AF_FUNCTION_END   4
 

Definition at line 242 of file analy.h.

Referenced by XBEAnalyser::beginAnalysis(), PEFAnalyser::beginAnalysis(), PEAnalyser::beginAnalysis(), NEAnalyser::beginAnalysis(), MachoAnalyser::beginAnalysis(), LEAnalyser::beginAnalysis(), ElfAnalyser::beginAnalysis(), CoffAnalyser::beginAnalysis(), Analyser::continueAnalysis(), Analyser::doBranch(), Analyser::getFunctionByAddress(), Analyser::getPreviousSymbolByAddress(), and Analyser::setLocationFunction().

#define AF_FUNCTION_SET   2
 

Definition at line 241 of file analy.h.

Referenced by Analyser::getFunctionByAddress(), and Analyser::setLocationFunction().

#define ANALY_COLLAPSE_XREFS   128
 

Definition at line 420 of file analy.h.

Referenced by AnalyserOutput::generateAddr(), and ht_aviewer::init().

#define ANALY_EDIT_BYTES   32
 

Definition at line 418 of file analy.h.

Referenced by AnalyserHTOutput::endLine(), ht_aviewer::handlemsg(), and ht_aviewer::init().

#define ANALY_SEGMENT_CAP_INITIALIZED   2
 

Definition at line 133 of file analy.h.

#define ANALY_SEGMENT_CAP_WRITE   1
 

Definition at line 132 of file analy.h.

#define ANALY_SHOW_ADDRESS   1
 

Definition at line 413 of file analy.h.

Referenced by AnalyserHTOutput::beginLine(), and ht_aviewer::init().

#define ANALY_SHOW_BYTES   16
 

Definition at line 417 of file analy.h.

#define ANALY_SHOW_COMMENTS   2
 

Definition at line 414 of file analy.h.

Referenced by AnalyserOutput::generateAddr(), and ht_aviewer::init().

#define ANALY_SHOW_LABELS   4
 

Definition at line 415 of file analy.h.

Referenced by AnalyserOutput::generateAddr(), and ht_aviewer::init().

#define ANALY_SHOW_XREFS   8
 

Definition at line 416 of file analy.h.

Referenced by AnalyserOutput::generateAddr(), and ht_aviewer::init().

#define ANALY_TRANSLATE_SYMBOLS   64
 

Definition at line 419 of file analy.h.

Referenced by AnalyserOutput::generateAddr(), ht_aviewer::init(), and Analyser::init().

#define DUP_ADDR  )     ((Address*)(a)->duplicate())
 

Definition at line 45 of file analy.h.

Referenced by AddressQueueItem::AddressQueueItem(), Analyser::addXRef(), Analyser::assignXRef(), Analyser::doBranch(), Analyser::fileofsToAddress(), AnalyserOutput::getAddr(), Analyser::getLocationContextByAddress(), Analyser::gotoAddress(), Analyser::newLocation(), OutAddr::OutAddr(), Analyser::popAddress(), and AnalyserOutput::prevLine().

#define INVALID_FILE_OFS   ((dword)-1)
 

Definition at line 428 of file analy.h.

Referenced by XBEAnalyser::addressToFileofs(), PEFAnalyser::addressToFileofs(), PEAnalyser::addressToFileofs(), NEAnalyser::addressToFileofs(), MachoAnalyser::addressToFileofs(), LEAnalyser::addressToFileofs(), FLTAnalyser::addressToFileofs(), ElfAnalyser::addressToFileofs(), CoffAnalyser::addressToFileofs(), ClassAnalyser::addressToFileofs(), LEAnalyser::addressToRealFileofs(), XBEAnalyser::bufPtr(), PEFAnalyser::bufPtr(), PEAnalyser::bufPtr(), NEAnalyser::bufPtr(), MachoAnalyser::bufPtr(), LEAnalyser::bufPtr(), FLTAnalyser::bufPtr(), ElfAnalyser::bufPtr(), CoffAnalyser::bufPtr(), ClassAnalyser::bufPtr(), AnalyserHTOutput::endLine(), ht_aviewer::get_current_offset(), AnalyInfoline::gettext(), ht_aviewer::handlemsg(), AnalyInfoline::init(), ht_le_aviewer::pos_to_offset(), ht_aviewer::pos_to_offset(), and AnalyInfoline::update().

#define MAX_OPS_PER_CONTINUE   10
 

Definition at line 431 of file analy.h.

Referenced by Analyser::continueAnalysis().

#define OPCODE   dis_insn
 

Definition at line 163 of file analy.h.

Referenced by Analyser::continueAnalysis(), Analyser::dataAccess(), Analyser::doBranch(), generate_html_output(), AnalyserOutput::generateAddr(), Analyser::getDisasmStr(), and Analyser::getDisasmStrFormatted().

#define Q_DO_ANALYSIS   1
 

Definition at line 423 of file analy.h.

Referenced by Analyser::beginAnalysis(), Analyser::continueAnalysisAt(), XBEAnalyser::queryConfig(), PEFAnalyser::queryConfig(), PEAnalyser::queryConfig(), NEAnalyser::queryConfig(), MachoAnalyser::queryConfig(), LEAnalyser::queryConfig(), FLTAnalyser::queryConfig(), ElfAnalyser::queryConfig(), CoffAnalyser::queryConfig(), and ClassAnalyser::queryConfig().

#define Q_ENGAGE_CODE_ANALYSER   2
 

Definition at line 424 of file analy.h.

Referenced by Analyser::engageCodeanalyser(), XBEAnalyser::queryConfig(), PEFAnalyser::queryConfig(), PEAnalyser::queryConfig(), NEAnalyser::queryConfig(), MachoAnalyser::queryConfig(), LEAnalyser::queryConfig(), FLTAnalyser::queryConfig(), ElfAnalyser::queryConfig(), CoffAnalyser::queryConfig(), and ClassAnalyser::queryConfig().

#define Q_ENGAGE_DATA_ANALYSER   3
 

Definition at line 425 of file analy.h.

Referenced by XBEAnalyser::queryConfig(), PEFAnalyser::queryConfig(), PEAnalyser::queryConfig(), NEAnalyser::queryConfig(), MachoAnalyser::queryConfig(), LEAnalyser::queryConfig(), FLTAnalyser::queryConfig(), ElfAnalyser::queryConfig(), CoffAnalyser::queryConfig(), and ClassAnalyser::queryConfig().


Enumeration Type Documentation

enum branch_enum_t
 

Enumeration values:
br_nobranch 
br_jump 
br_return 
br_call 
br_jXX 

Definition at line 152 of file analy.h.

Referenced by Analyser::continueAnalysis(), Analyser::doBranch(), AnalyX86Disassembler::isBranch(), AnalyPPCDisassembler::isBranch(), AnalyJavaDisassembler::isBranch(), AnalyILDisassembler::isBranch(), AnalyIA64Disassembler::isBranch(), and AnalyAlphaDisassembler::isBranch().

enum labeltype
 

Enumeration values:
label_unknown 
label_func 
label_loc 
label_data 

Definition at line 265 of file analy.h.

enum taccesstype
 

Enumeration values:
acread 
acwrite 
acoffset 

Definition at line 253 of file analy.h.

enum tsectype
 

Enumeration values:
scvalid 
scread 
scwrite 
screadwrite 
sccode 
scinitialized 

Definition at line 244 of file analy.h.

enum xref_enum_t
 

Enumeration values:
xrefread 
xrefwrite 
xrefoffset 
xrefjump 
xrefcall 
xrefijump 
xreficall 

Definition at line 186 of file analy.h.

Referenced by AnalyX86Disassembler::branchAddr(), AnalyX86Disassembler::examineOpcode(), and AddrXRef::load().


Variable Documentation

int global_analyser_address_string_format
 

Definition at line 433 of file analy.h.

Referenced by Analyser::addAddressSymbol(), ht_aviewer::canCreateAddress(), Analyser::dataAccess(), Analyser::doBranch(), ht_aviewer::get_pindicator_str(), CallChain::get_text(), SymbolBox::getStr(), AnalyInfoline::gettext(), ht_aviewer::handlemsg(), AnalyserTxtOutput::link(), ht_aviewer::pos_to_string(), ht_aviewer::qword_to_pos(), ht_aviewer::searchForXRefs(), ht_pe_dimport_viewer::select_entry(), ht_pe_export_viewer::select_entry(), ht_pe_import_viewer::select_entry(), ht_xbe_import_viewer::select_entry(), ht_aviewer::showCallChain(), ht_aviewer::showXRefs(), and Address::toString().

int num_ops_parsed
 

Definition at line 32 of file analy.h.

Referenced by Analyser::continueAnalysis().

Analyser* testanaly
 

Definition at line 438 of file analy.h.


Generated on Fri May 7 21:15:46 2004 by doxygen 1.3.5