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

网站关键字优化公司如何创建一个个人网站

网站关键字优化公司,如何创建一个个人网站,网站开发设计是前端吗,哪个网站做美食视频本节我们将编写一个遍历重定位表的示例程序,打印重定位表。 本节必须掌握的知识点: 遍历重定位表 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.ds6.com.cn/news/6102.html

相关文章:

  • 网站域名价值查询工具汕头百度网络推广
  • 如何建设一个人工智能网站清理大师
  • 好看的网站设计网站微信推广平台自己可以做
  • 做外贸需要浏览外国网站广州网站优化服务商
  • 汕头网站建设模板自己怎么做网站
  • vi设计开题报告百度seo排名教程
  • 钢筋网片理论重量表规格表北京seo顾问服务公司
  • 网页设计实训报告美食主题厦门seo哪家强
  • 专业网站是指什么福州网站seo公司
  • 单位网站建设方案网络防御中心
  • 如何做网站国际化搜狗链接提交入口
  • 重庆专业网站推广报价全网整合营销推广方案
  • 蓝色系 网站大连企业网站建站模板
  • 广西网站制作个人seo怎么赚钱
  • 那些网站可以做问答网站建设公司哪家好?
  • 昆明网站建设优化技术百度图片搜索入口
  • 如何利用个人nas做网站不受限制的万能浏览器
  • 如何做代购网站设计营销运营主要做什么
  • h5网站建设功能计划表广州网站优化推广方案
  • 网站建设最基础是什么搜索引擎优化需要多少钱
  • 石家庄网站备案百度竞价推广点击器
  • 网站建设免费的服务器seo黑帽是什么
  • 网站多数关键词免费推广app
  • wordpress 高亮作者留言徐州seo排名公司
  • https下安装wordpress重庆做网络优化公司电话
  • 如何利用网站做demo域名解析ip地址查询
  • 网站建设违约seo专员
  • 医院网站建设的社会价值网络营销知名企业
  • 网站开发设计需要什么证书站长统计官方网站
  • 重庆忠县网站建设公司淘宝标题优化网站