PE
qq_31694351
这个作者很懒,什么都没留下…
展开
-
PE--资源表
本来该用递归来写的,奈何总是写不出来,所以写了一个遍历3层结构的程序。以后来写递归的 VOID _GetResourceInfo1(PVOID pFileBuffer){ PIMAGE_DOS_HEADER pDosHeader = NULL; PIMAGE_NT_HEADERS pNtHeaders = NULL; PIMAGE_RESOURCE_DIRECTORY_原创 2016-05-24 01:01:35 · 503 阅读 · 0 评论 -
通过PEB获取模块基址
PEB结构typedef struct _PEB { // Size: 0x1D8/*000*/ UCHAR InheritedAddressSpace;/*001*/ UCHAR ReadImageFileExecOptions;/*002*/ UCHAR BeingDebugged;/*003*/ UCHAR SpareBool; // Allocation size/*004*/ H转载 2016-05-29 16:28:06 · 4147 阅读 · 0 评论 -
获得KERNEL32.DLL模块地址以及函数的地址
一、通过PEB获得DWORD getKernel32BaseAddrByPEB(){ PVOID pPeb = NULL; PVOID pLdr = NULL; PVOID pFlink = NULL; PVOID ptemp = NULL; PVOID BaseAddr = NULL; PVOID pFullName = NULL; __a原创 2016-05-29 23:33:55 · 2860 阅读 · 0 评论 -
不生成导入表调用API函数
DWORD myGetApiAddr(HMODULE hModuleBaseAddr, PSTR lpApi){ PIMAGE_DOS_HEADER pDosHeader = NULL; PIMAGE_NT_HEADERS pNtHeader = NULL; PIMAGE_EXPORT_DIRECTORY pExportDir = NULL; DWORD ret = 0原创 2016-05-31 10:53:15 · 364 阅读 · 0 评论 -
PE解析一
读取文件到内存LPVOID EXEToFileBuffer(LPCWSTR pFileName){ HANDLE hd = NULL; HANDLE hFileMapping = NULL; DWORD dwSize = 0; LPVOID lpMemory = NULL; //打开文件 hd = CreateFile(pFileName, GEN原创 2016-05-17 20:34:45 · 264 阅读 · 0 评论 -
PE--导入表
遍历导入表信息/////////////////读取导入表信息///////////////////////VOID _GetImportInfo(PVOID pFileBuffer){ PIMAGE_DOS_HEADER pDosHeader = NULL; PIMAGE_NT_HEADERS pNtHeaders = NULL; PIMAGE_IMPORT_DESCR原创 2016-05-18 11:49:00 · 370 阅读 · 0 评论 -
静态链接库和动态链接库编写
一 、静态链接库1.创建lib.cpp和lib.h文件和普通的控制台的程序一样的写法即可2.静态库的调用 a、把生成的.lib .h文件复制到调用文件中 b、包含这两个文件 #include”x.h” #pragma comment(lib,”xx.lib”) 之后就可以使用了lib.hint add(int x,int y);lib.cpp#include "lib.h"#inc原创 2016-05-20 12:41:03 · 261 阅读 · 0 评论 -
PE --导出表
0原创 2016-05-20 18:19:23 · 266 阅读 · 0 评论 -
PE--重定位表
遍历重定位表////////////////重定位表/////////////////////////////////VOID _GetRelocInfo(PVOID pFileBuffer){ PIMAGE_DOS_HEADER pDosHeader = NULL; PIMAGE_NT_HEADERS pNtHeaders = NULL; PIMAGE_BASE_RELO原创 2016-05-22 14:45:18 · 399 阅读 · 0 评论