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

重庆家居网站制作公司中山网站seo优化

重庆家居网站制作公司,中山网站seo优化,wordpress登陆函数,河南网站制作工作室本节我们将编写一个遍历重定位表的示例程序,打印重定位表。 本节必须掌握的知识点: 遍历重定位表 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.rdtb.cn/news/17403.html

相关文章:

  • 做视频网站要多大带宽网络推广员上班靠谱吗
  • 网站制作价格表电商网页制作教程
  • 做kegg网站今日热搜榜前十名
  • 北京给网站做系统的公司互联网舆情监测系统
  • 安阳网站建设哪家专业seo排名点击手机
  • 用vs2012做网站首页百度做网站推广的费用
  • 上海港湾基础建设集团网站合肥网络优化推广公司
  • 查建设公司人员是那个网站免费二级域名平台
  • 本校网站建设百度指数什么意思
  • 公司文化建设贵州seo推广
  • 万宁网站建设公司wordpress建站公司
  • 阜康市建设银行网站已备案域名交易平台
  • 织梦cms做网站教程视频深圳高端seo公司助力企业
  • 泉州公司做网站优化网络的软件
  • 厦门网站建设制作工具nba最新交易一览表
  • 做宣传的视频网站有哪些客户引流推广方案
  • 网站设计论文答辩问题深圳全网营销系统
  • 一个很好的个人网站开发广州seo优化外包公司
  • 建网站备案需要的材料最近的新闻事件
  • 织梦网站导航固定重庆人力资源和社会保障网官网
  • 安徽合肥做网站的公司有哪些互联网营销师培训课程
  • 网站模板炫酷企业培训课程安排表
  • 建设银行信用卡积分兑换话费网站百度互联网营销
  • 向google提交网站公司网站设计模板
  • 查公司的网站有哪些企业网站怎么做
  • wordpress微博图床插件怎样淘宝seo排名优化
  • 怎样做直播网站seo优化工作
  • 网站建设海外推广 香港软件开发app制作
  • 网站原图怎么做软件开发app制作
  • 网站建设要求计算机培训班有用吗