#include <pe_analy.h>
Inheritance diagram for PEAnalyser:
Public Member Functions | |
void | init (ht_pe_shared_data *Pe_shared, ht_streamfile *File) |
int | load (ht_object_stream *f) |
virtual void | done () |
virtual OBJECT_ID | object_id () const |
virtual void | beginAnalysis () |
virtual UINT | bufPtr (Address *Addr, byte *buf, int size) |
bool | convertAddressToRVA (Address *addr, RVA *r) |
virtual Address * | createAddress () |
Address * | createAddress32 (dword addr) |
Address * | createAddress64 (qword high_addr) |
virtual Assembler * | createAssembler () |
virtual const char * | getName () |
virtual const char * | getType () |
virtual void | initCodeAnalyser () |
virtual void | initUnasm () |
virtual void | log (const char *msg) |
virtual Address * | nextValid (Address *Addr) |
virtual void | store (ht_object_stream *f) |
virtual int | queryConfig (int mode) |
virtual bool | validAddress (Address *Addr, tsectype action) |
virtual Address * | fileofsToAddress (FILEOFS fileofs) |
virtual FILEOFS | addressToFileofs (Address *Addr) |
virtual char * | getSegmentNameByAddress (Address *Addr) |
Public Attributes | |
ht_pe_shared_data * | pe_shared |
ht_streamfile * | file |
Area * | validarea |
|
Implements Analyser. Definition at line 373 of file pe_analy.cc. References convertAddressToRVA(), FILEOFS, INVALID_FILE_OFS, pe_rva_to_ofs(), pe_shared, RVA, scinitialized, ht_pe_shared_data::sections, and validAddress(). Referenced by bufPtr(). |
|
|
Implements Analyser. Definition at line 284 of file pe_analy.cc. References addressToFileofs(), assert, buf, file, FILEOFS, INVALID_FILE_OFS, ht_stream::read(), ht_streamfile::seek(), size, and UINT. |
|
Definition at line 295 of file pe_analy.cc. References ATOM_ADDRESS_FLAT_32, ATOM_ADDRESS_FLAT_64, ATOM_ADDRESS_X86_FLAT_32, Object::object_id(), ht_pe_shared_data::pe32, ht_pe_shared_data::pe64, pe_shared, qword, QWORD_GET_HI, QWORD_GET_LO, and RVA. Referenced by addressToFileofs(), getSegmentNameByAddress(), and validAddress(). |
|
Implements Analyser. Definition at line 336 of file pe_analy.cc. References COFF_MACHINE_I386, COFF_MACHINE_I486, COFF_MACHINE_I586, COFF_OPTMAGIC_PE64, ht_pe_shared_data::coffheader, ht_pe_shared_data::opt_magic, and pe_shared. |
|
Definition at line 316 of file pe_analy.cc. References COFF_MACHINE_I386, COFF_MACHINE_I486, COFF_MACHINE_I586, ht_pe_shared_data::coffheader, and pe_shared. Referenced by beginAnalysis(), fileofsToAddress(), ht_pe_import_viewer::select_entry(), ht_pe_export_viewer::select_entry(), and ht_pe_dimport_viewer::select_entry(). |
|
Definition at line 331 of file pe_analy.cc. Referenced by beginAnalysis(), fileofsToAddress(), ht_pe_import_viewer::select_entry(), ht_pe_export_viewer::select_entry(), and ht_pe_dimport_viewer::select_entry(). |
|
Reimplemented from Analyser. Definition at line 357 of file pe_analy.cc. References COFF_MACHINE_I386, COFF_MACHINE_I486, COFF_MACHINE_I586, ht_pe_shared_data::coffheader, Object::init(), NULL, pe_shared, X86_ADDRSIZE32, and X86_OPSIZE32. |
|
Reimplemented from Analyser. Definition at line 77 of file pe_analy.cc. References Analyser::done(), Area::done(), and validarea. |
|
converts |FILEOFS fileaddr| to |Address| Reimplemented from Analyser. Definition at line 602 of file pe_analy.cc. References COFF_OPTMAGIC_PE32, createAddress32(), createAddress64(), FILEOFS, ht_pe_shared_data::opt_magic, ht_pe_shared_data::pe32, ht_pe_shared_data::pe64, pe_ofs_to_rva(), pe_shared, RVA, and ht_pe_shared_data::sections. |
|
Reimplemented from Analyser. Definition at line 413 of file pe_analy.cc. References file, and ht_stream::get_desc(). |
|
Reimplemented from Analyser. Definition at line 394 of file pe_analy.cc. References convertAddressToRVA(), NULL, pe_rva_is_valid(), pe_rva_to_section(), pe_shared, RVA, pe_section_headers::sections, and ht_pe_shared_data::sections. Referenced by beginAnalysis(). |
|
Reimplemented from Analyser. Definition at line 421 of file pe_analy.cc. |
|
Definition at line 48 of file pe_analy.cc. References file, Analyser::init(), Area::init(), pe_shared, and validarea. |
|
Reimplemented from Analyser. Definition at line 429 of file pe_analy.cc. References Analyser::initCodeAnalyser(). |
|
Implements Analyser. Definition at line 485 of file pe_analy.cc. References COFF_MACHINE_ALPHA, COFF_MACHINE_I386, COFF_MACHINE_I486, COFF_MACHINE_I586, COFF_MACHINE_IA64, COFF_MACHINE_POWERPC_BE, COFF_MACHINE_POWERPC_LE, COFF_MACHINE_R10000, COFF_MACHINE_R3000, COFF_MACHINE_R4000, COFF_MACHINE_UNKNOWN, COFF_OPTMAGIC_PE64, ht_pe_shared_data::coffheader, DPRINTF, errorbox, ht_pe_shared_data::il, ht_pe_shared_data::opt_magic, pe_shared, and warnbox. |
|
loads object from object stream.
Reimplemented from Analyser. Definition at line 63 of file pe_analy.cc. References GET_OBJECT, Analyser::load(), and validarea. |
|
Reimplemented from Analyser. Definition at line 552 of file pe_analy.cc. |
|
Implements Analyser. Definition at line 565 of file pe_analy.cc. References Area::findNext(), and validarea. |
|
Reimplemented from Object. Definition at line 276 of file pe_analy.cc. References ATOM_PE_ANALYSER. |
|
Reimplemented from Analyser. Definition at line 587 of file pe_analy.cc. References Q_DO_ANALYSIS, Q_ENGAGE_CODE_ANALYSER, and Q_ENGAGE_DATA_ANALYSER. |
|
stores object. Reimplemented from Analyser. Definition at line 573 of file pe_analy.cc. References PUT_OBJECT, Analyser::store(), and validarea. |
|
Implements Analyser. Definition at line 619 of file pe_analy.cc. References COFF_SCN_CNT_CODE, COFF_SCN_MEM_EXECUTE, COFF_SCN_MEM_READ, COFF_SCN_MEM_WRITE, convertAddressToRVA(), pe_rva_is_physical(), pe_rva_to_section(), pe_shared, RVA, sccode, scinitialized, scread, screadwrite, scvalid, scwrite, pe_section_headers::sections, and ht_pe_shared_data::sections. Referenced by addressToFileofs(), and beginAnalysis(). |
|
Definition at line 31 of file pe_analy.h. |
|
Definition at line 30 of file pe_analy.h. Referenced by addressToFileofs(), beginAnalysis(), convertAddressToRVA(), createAddress(), createAddress32(), createAssembler(), fileofsToAddress(), getSegmentNameByAddress(), init(), initUnasm(), and validAddress(). |
|
Definition at line 32 of file pe_analy.h. Referenced by beginAnalysis(), done(), init(), load(), nextValid(), and store(). |