http://ift.tt/2AAEutK // 手动加壳demo.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include <windows.h> #include <string.h> typedef struct _StubConf { IMAGE_NT_HEADERS ntheader; }STUBCONF; class PeFile { public: PeFile(); ~PeFile(); bool OpenFile(const char*FilePath); bool InitHdrs(); PIMAGE_SECTION_HEADER addSection(const char * secName, DWORD dwSecSzie); PIMAGE_SECTION_HEADER getSection(const char* secName); DWORD Size2ALi(DWORD dwSize, DWORD dwALi); void peclose(); void setOpe(DWORD newOep); LPVOID peGetProcAddress(const char* szFnName); DWORD RVATOOFFSET(DWORD rva); ULONG_PTR getfileBuff(); PIMAGE_NT_HEADERS getNtHeader(); PIMAGE_OPTIONAL_HEADER getOptionHeader(); void fixStubReloc(DWORD oldImageBase, DWORD newImageBase, DWORD oldSectionRva, DWORD newSectionRva); void setSecData(IMAGE_SECTION_HEADER* pScn, void* pSectionData, DWORD dwSectionSize); bool savea...
评论
发表评论