• <menu id="w2i4a"></menu>
  • logo VMPsoft中文文檔

    PE文件


    VMProtect 是新一代軟件盜版保護(hù)解決方案。VMProtect 是目前強(qiáng)大的反盜版解決方案之一,許多領(lǐng)先的軟件發(fā)行商都在使用它。VMProtect允許保護(hù)可執(zhí)行文件(EXE,SCR),動態(tài)鏈接庫(DLL,OCX,BPL)和驅(qū)動程序(SYS)。

    VMProtect最新版下載

    加密解密技術(shù)交流群(766135708)

    常量,以配合PE格式:

    enum PEFormat {
    	// Directory Entries
    	IMAGE_DIRECTORY_ENTRY_EXPORT,
    	IMAGE_DIRECTORY_ENTRY_IMPORT,
    	IMAGE_DIRECTORY_ENTRY_RESOURCE,
    	IMAGE_DIRECTORY_ENTRY_EXCEPTION,
    	IMAGE_DIRECTORY_ENTRY_SECURITY,
    	IMAGE_DIRECTORY_ENTRY_BASERELOC,
    	IMAGE_DIRECTORY_ENTRY_DEBUG,
    	IMAGE_DIRECTORY_ENTRY_ARCHITECTURE,
    	IMAGE_DIRECTORY_ENTRY_TLS,
    	IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG,
    	IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT,
    	IMAGE_DIRECTORY_ENTRY_IAT,
    	IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT,
    	IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR,
    	// Section characteristics
    	IMAGE_SCN_CNT_CODE,
    	IMAGE_SCN_CNT_INITIALIZED_DATA,
    	IMAGE_SCN_CNT_UNINITIALIZED_DATA,
    	IMAGE_SCN_MEM_DISCARDABLE,
    	IMAGE_SCN_MEM_NOT_CACHED,
    	IMAGE_SCN_MEM_NOT_PAGED,
    	IMAGE_SCN_MEM_SHARED,
    	IMAGE_SCN_MEM_EXECUTE,
    	IMAGE_SCN_MEM_READ,
    	IMAGE_SCN_MEM_WRITE,
    	// Resource types
    	RT_CURSOR,
    	RT_BITMAP,
    	RT_ICON,
    	RT_MENU,
    	RT_DIALOG,
    	RT_STRING,
    	RT_FONTDIR,
    	RT_FONT,
    	RT_ACCELERATOR,
    	RT_RCDATA,
    	RT_MESSAGETABLE,
    	RT_GROUP_CURSOR,
    	RT_GROUP_ICON,
    	RT_VERSION,
    	RT_DLGINCLUDE,
    	RT_PLUGPLAY,
    	RT_VXD,
    	RT_ANICURSOR,
    	RT_ANIICON,
    	RT_HTML,
    	RT_MANIFEST,
    	RT_DLGINIT,
    	RT_TOOLBAR
    };

    一個處理PE文件的類:

    class PEFile {
    public:
    	string name(); // returns the filename
    	string format(); // returns the "PE" format name
    	uint64 size(); // returns the size of the file
    	int count(); // returns the number of architectures in the list
    	PEArchitecture item(int index); // returns an architecture with the given index
    	uint64 seek(uint64 offset); // sets a file position
    	uint64 tell(); // returns a file position
    	int write(string buffer); // records a buffer to the file
    };

    一個與PE架構(gòu)一起工作的類:

    class PEArchitecture {
    public:
    	string name(); // returns the name of the architecture
    	PEFile file(); // returns the parent file
    	uint64 entryPoint(); // returns the starting address
    	uint64 imageBase(); // returns the base offset
    	OperandSize cpuAddressSize(); // returns bit count of the architecture
    	uint64 size(); // returns the size of the architecture
    	PESegments segments(); // returns the list of segments
    	PESections sections(); // returns the list of sections
    	PEDirectories directories(); // returns the list of directories
    	PEImports imports(); // returns the list of imported libraries
    	PEExports exports(); // returns the list of exported functions
    	PEResources resources(); // returns the list of resources
    	PEFixups fixups(); // returns the list of relocations (fixups);
    	MapFunctions mapFunctions(); // returns the list of functions available for protection
    	IntelFunctions functions(); // returns the list of protected functions
    	bool addressSeek(uint64 address); // sets a file position
    	uint64 seek(uint64 offset); // sets a file position
    	uint64 tell(); // returns a file position
    	int write(string buffer); // writes a buffer to a file
    };

    一個用于處理PE架構(gòu)的片段列表的類:

    class PESegments {
    public:
    	PESegment item(int index); // returns a segment with the given index
    	int count(); // returns the number of segments in the list
    	PESegment itemByAddress(uint64 address); // returns the segment at the given address
    };

    個與PE架構(gòu)段合作的類:

    class PESegment {
    public:
    	uint64 address(); // returns the address of the segment
    	string name(); // returns the name of the segment
    	uint64 size(); // returns the size of the segment
    	int physicalOffset(); // returns the file position (offset) of the segment
    	int physicalSize(); // returns the file size of the segment
    	int flags(); // returns flags of the segment
    	bool excludedFromPacking(); // returns the "Excluded from packing" property
    	void setName(string name); // sets the name of the segment
    };

    一個用于處理PE架構(gòu)部分列表的類:

    class PESections {
    public:
    	PESection item(int index); // returns a section with the given index
    	int count(); // returns the number of sections in the list
    	PESection itemByAddress(uint64 address); // returns a section at the given address
    };
    

    一個與PE架構(gòu)部分合作的類:

    class PESection {
    public:
    	uint64 address(); // returns the address of the section
    	string name(); // returns the name of the section
    	uint64 size(); // returns the size of the section
    	int offset(); // returns the file positions of the section
    	PESegme
    nt segment(); // returns the parent segment
    };

    一個處理PE架構(gòu)目錄的類:

    class PEDirectories {
    public:
    	PEDirectory item(int index); // returns a directory with the given index
    	int count(); // returns the number of directories in the list
    	PEDirectory itemByType(int type); // returns a directory of the given type
    };

    一個與PE架構(gòu)目錄協(xié)同工作的類:

    class PEDirectory {
    public:
    	uint64 address(); // returns the address of the directory
    	string name(); // returns the name of the directory
    	uint64 size(); // returns the size of the directory
    	int type(); // returns the type of the directory
    	void setAddress(uint64 address); // sets the address of the directory
    	void setSize(int size); // sets the size of the directory
    	void clear(); // clears the address and the size of the directory
    };

    一個用于處理PE架構(gòu)的導(dǎo)入庫列表的類:

    class PEImports {
    public:
    	PEImport item(int index); // returns a library with the given index
    	int count(); // returns the number of libraries in the list
    	PEImport itemByName(string name); // returns a library with the given name
    };

    一個與PE架構(gòu)的導(dǎo)入庫一起工作的類:

    class PEImport {
    public:
    	string name(); // returns the name of the library
    	PEImportFunction item(int index); // returns an imported function with the given index
    	int count(); // returns the number of imported functions
    	void setName(string name); // sets the name of the library
    };

    一個與PE架構(gòu)的導(dǎo)入函數(shù)一起工作的類:

    class PEImportFunction {
    public:
    	uint64 address(); // returns a memory address where the imported function address is stored
    	string name();  // returns the name of the imported function
    }

    一個用于處理PE架構(gòu)的導(dǎo)出函數(shù)列表的類:

    class PEExports {
    public:
    	string name(); // returns the name of the library
    	PEExport item(int index); // returns an exported function with the given index
    	int count(); // returns the number of exported functions in the list
    	void clear(); // clears the list
    	PEExport itemByAddress(uint64 address); // returns an exported function at the given address
    	PEExport itemByName(string name); // returns an exported function with the given name
    };

    一個與PE架構(gòu)導(dǎo)出的函數(shù)相匹配的類:

    class PEExport {
    public:
    	uint64 address(); // returns the address of the exported function
    	string name(); // returns the name of the exported function
    	int ordinal();  // returns the ordinal of the exported function
    	string forwardedName(); // returns the name of the function the exported function forwards to
    	void destroy(); // destroys the exported function
    };

    一個處理PE架構(gòu)資源列表的類:

    class PEResources {
    public:
    	PEResource item(int index); // returns a resources with the given index
    	int count(); // returns the number of resources in the list
    	void clear(); // clears the list
    	PEResource itemByType(int type); // returns a resource of the given type
    	PEResource itemByName(string name); // returns a resource with the given name
    };

    一個與PE架構(gòu)資源一起工作的類:

    class PEResource {
    public:
    	PEResource item(int index); // returns a resource with the given index
    	int count(); // returns the number of resources in the list
    	void clear(); // clears the list
    	uint64 address(); // returns the address of the resource
    	int size(); // returns the size of the resource
    	string name(); // returns the name of the resource
    	int type(); // returns the type of the resource
    	bool isDirectory(); // returns the "Directory" property
    	void destroy(); // destroys the resource
    	PEResource itemByName(string name); // returns a resource with the given name
    	bool excludedFromPacking(); // returns the "Excluded from packing" property
    };

    一個用于處理PE架構(gòu)修復(fù)(重新定位)列表的類:

    class PEFixups {
    public:
    	PEFixup item(int index); // returns an element with the given index
    	int count(); // returns the number of elements in the list
    	PEFixup itemByAddress(uint64 address); // returns an element at the given address
    };

    一個與PE架構(gòu)修復(fù)(重定位)有關(guān)的類:

    class PEFixup {
    public:
    	uint64 address(); // returns the address of the element
    };
    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();