当前位置: 首页 > news >正文

最火爆的网页游戏宁波seo优化外包公司

最火爆的网页游戏,宁波seo优化外包公司,东莞常平电镀工业园,起零网站建设本节我们将编写一个遍历重定位表的示例程序,打印重定位表。 本节必须掌握的知识点: 遍历重定位表 6.2.1 遍历重定位表 实验四十三:遍历重定位表 以下代码实现打印"c:\\notepad64.exe"进程重定位表的所有信息。 /*--------------…

本节我们将编写一个遍历重定位表的示例程序,打印重定位表。

本节必须掌握的知识点:

        遍历重定位表

6.2.1 遍历重定位表

实验四十三:遍历重定位表

Image_093

以下代码实现打印"c:\\notepad64.exe"进程重定位表的所有信息。

/*------------------------------------------------------------------------FileName:PrintImportDescriptor.c实验43:遍历重定位表(支持32位和64位PE)(c) bcdaren, 2024-----------------------------------------------------------------------*/#include <stdio.h>#include <windows.h>#include <winnt.h>#define WIN64PBYTE creatfilemap(LPCWSTR szFile);VOID printReloc(PBYTE lpvResult);DWORD RvaToFoa(PIMAGE_NT_HEADERS ntHeaders, DWORD rva);int main(int argc, char* argv[]){//LPCWSTR szFileName = TEXT("c:\\winResult.dll");LPCWSTR szFileName = TEXT("c:\\notepad64.exe");PBYTE lpAddress = NULL; //PE文件内存映射文件地址lpAddress = creatfilemap(szFileName);if (lpAddress){printf("%ls\n", szFileName);printReloc(lpAddress);}system("pause");return 0;}//创建PE文件映射对象PBYTE creatfilemap(LPCWSTR szFile){HANDLE hFile;HANDLE hMapFile = NULL;PBYTE lpMemory = NULL;  //PE文件内存映射文件地址char buffer[16] = { 0 };DWORD dwFileSize;DWORD dwBytesRead = 0;PIMAGE_DOS_HEADER lpstDOS = NULL;PIMAGE_NT_HEADERS lpstNT = NULL;hFile = CreateFile(szFile,GENERIC_READ,          // 只读打开FILE_SHARE_READ,       // 允许其他进程以读取方式打开文件NULL,                  // 默认安全属性OPEN_EXISTING,         // 打开已存在的文件FILE_ATTRIBUTE_NORMAL, // 普通文件NULL);if (hFile == INVALID_HANDLE_VALUE)printf("打开文件失败!\n");else{dwFileSize = GetFileSize(hFile, 0);//获得文件大小可通过结构体获取//创建内存映射文件if (dwFileSize){if (hMapFile = CreateFileMapping(hFile, NULL,PAGE_READONLY, 0, 0, NULL)){//获得文件在内存的映象起始位置lpMemory = MapViewOfFile(hMapFile, FILE_MAP_READ, 0, 0, 0);if (!lpMemory)printf("获取映像起始地址失败!\n");//检查PE文件是否有效lpstDOS = (PIMAGE_DOS_HEADER)lpMemory;if (lpstDOS->e_magic != IMAGE_DOS_SIGNATURE)printf("非PE格式文件!\n");lpstNT = (PIMAGE_NT_HEADERS)(lpMemory + lpstDOS->e_lfanew);if (lpstNT->Signature != IMAGE_NT_SIGNATURE)printf("非PE格式文件!\n");}}}return lpMemory;}//32位PE文件VOID printReloc(PBYTE lpvResult){PIMAGE_DOS_HEADER pImageDOSHeader = (PIMAGE_DOS_HEADER)lpvResult;#ifdef WIN64PIMAGE_NT_HEADERS64 psImageNTHeader = (PIMAGE_NT_HEADERS64)(lpvResult + pImageDOSHeader->e_lfanew);#elsePIMAGE_NT_HEADERS32 psImageNTHeader = (PIMAGE_NT_HEADERS32)(lpvResult + pImageDOSHeader->e_lfanew);#endif//重定位表RVADWORD RelocRVA = psImageNTHeader->OptionalHeader.DataDirectory[5].VirtualAddress;DWORD dwTemp = 0;//获取重定位表FOA地址PIMAGE_BASE_RELOCATION pImageBaseRelocation = (PIMAGE_BASE_RELOCATION)RvaToFoa((PIMAGE_NT_HEADERS)psImageNTHeader, RelocRVA);dwTemp = (DWORD)pImageDOSHeader + (DWORD)pImageBaseRelocation;for(DWORD i = 0; (DWORD*)(((PIMAGE_BASE_RELOCATION)dwTemp)->VirtualAddress ) != 0; i++){printf("virtual address : 0x%08x\n", ((PIMAGE_BASE_RELOCATION)dwTemp)->VirtualAddress);printf("size of block   : 0x%08x\n", ((PIMAGE_BASE_RELOCATION)dwTemp)->SizeOfBlock);for (DWORD j = 0; j < ((PIMAGE_BASE_RELOCATION)dwTemp)->SizeOfBlock - 8; j += 2){printf("%4x\t", *(WORD*)(dwTemp + 8 + j));}dwTemp += ((PIMAGE_BASE_RELOCATION)dwTemp)->SizeOfBlock;printf("\n");}}//RVA转FOADWORD RvaToFoa(PIMAGE_NT_HEADERS ntHeaders, DWORD rva) {//ntHeaders+4+sizeof(IMAGE_FILE_HEADER)+FileHeader.SizeOfOptionalHeader(32或64位PE)PIMAGE_SECTION_HEADER sectionHeader = IMAGE_FIRST_SECTION(ntHeaders);WORD numberOfSections = ntHeaders->FileHeader.NumberOfSections;for (WORD i = 0; i < numberOfSections; i++) {DWORD sectionStartRva = sectionHeader->VirtualAddress;DWORD sectionEndRva = sectionStartRva + sectionHeader->SizeOfRawData;if (rva >= sectionStartRva && rva < sectionEndRva) {DWORD foa = sectionHeader->PointerToRawData + (rva –sectionStartRva);return foa;}sectionHeader++;}return 0;  // RVA not found}

图6-3 打印notepad64.exe重定位表

http://www.mnyf.cn/news/16352.html

相关文章:

  • 宝安电子厂做网站百度商品推广平台
  • 手表拍卖网站seo提升关键词排名
  • 大连中山区网站建设seo基础教程
  • 长沙网站建设工作室网站网络推广运营
  • 厚街手机网站建设seo点击排名
  • 网站开发设计心得及体会交换友情链接的目的
  • wordpress 自定义开发windows优化大师官方网站
  • 卖产品怎么做网站福州排名seo公司
  • 用国外网站 图片做自媒体营销咨询公司排名
  • wordpress主题复制连云港seo优化
  • 公司网站制作北京那家公司好上海排名优化推广工具
  • 互联网金融p2p网站建设模板百度资源搜索平台官网
  • 动态ip做网站影响seo吗seo搜索引擎优化课后答案
  • 保定网站建设培训班网站竞价推广都有哪些
  • 个人备案可以做哪些网站站内优化seo
  • wordpress 外部调用长春网站优化指导
  • 网站建设文化信息建一个外贸独立站大约多少钱
  • wordpress文章站主题百度推广和百度竞价有什么区别
  • 四川省建设安全质量监理协会网站硬件工程师培训机构哪家好
  • 做网站经济虚拟币诈骗定罪优化用户体验
  • 广东快速做网站公司武汉seo结算
  • 专业网站建设顾问在线crm系统
  • 做网站公司郑州汉狮怎么做营销
  • 建设彩票网站犯法吗全网关键词搜索排行
  • 网站建设费用做什么科目推广app拿返佣的平台
  • 网站建设 慕课东莞seo外包
  • 卖东西怎么推广搜索引擎优化的主要手段
  • 做财经比较好的网站线上运营的5个步骤
  • 宁波网站推广运营公司神起网络游戏推广平台
  • 新的购物网站怎么做流量分析网络营销该如何发展