- 博客(12)
- 资源 (2)
- 收藏
- 关注
原创 不生成导入表调用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 362
原创 获得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 2851
转载 通过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 4143
翻译 Dynamic-Link Library Functions--动态链接库函数
GetModuleHandleThe GetModuleHandle function returns a module handle for the specified module if the file has been mapped into the address space of the calling process. (如果文件被映射到进程中) 原型: HMODULE GetMo
2016-05-28 12:22:54 431
翻译 Memory Management Functions--内存管理函数
IsBadReadPtrThe IsBadReadPtr function verifies(证实) that the calling process has read access to the specified range of memory.( 调用程序访问的是指定范围的内存):也就是说检查该指针是否有访问权限 原型: BOOL IsBadReadPtr( CONST VOID *
2016-05-28 12:10:53 319
翻译 Process and Thread Functions--进程线程函数
TlsAllocThe TlsAlloc function allocates(分配) a thread local storage (TLS) index. 原型: DWORD TlsAlloc(VOID); DWORD index=TlsAlloc(VOID);TlsSetValueThe TlsSetValue function stores a value in the calling
2016-05-26 22:33:02 387
原创 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 499
原创 PE--重定位表
遍历重定位表////////////////重定位表/////////////////////////////////VOID _GetRelocInfo(PVOID pFileBuffer){ PIMAGE_DOS_HEADER pDosHeader = NULL; PIMAGE_NT_HEADERS pNtHeaders = NULL; PIMAGE_BASE_RELO
2016-05-22 14:45:18 398
原创 静态链接库和动态链接库编写
一 、静态链接库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
原创 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
原创 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 263
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人