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

乌兰察布网站建设网站开发月薪

乌兰察布网站建设,网站开发月薪,一级消防工程师考试科目,园林设计公司网站本节我们将编写一个遍历重定位表的示例程序#xff0c;打印重定位表。 本节必须掌握的知识点#xff1a; 遍历重定位表 6.2.1 遍历重定位表 实验四十三#xff1a;遍历重定位表 以下代码实现打印c:\\notepad64.exe进程重定位表的所有信息。 /*--------------…本节我们将编写一个遍历重定位表的示例程序打印重定位表。 本节必须掌握的知识点 遍历重定位表 6.2.1 遍历重定位表 实验四十三遍历重定位表 以下代码实现打印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) {//ntHeaders4sizeof(IMAGE_FILE_HEADER)FileHeader.SizeOfOptionalHeader32或64位PEPIMAGE_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.w-s-a.com/news/631241/

相关文章:

  • 做刷票的网站wordpress图片链接插件
  • 给客户做网站图片侵权沈阳做网站的地方
  • 网站开发步骤规划蓝天云免费空间主机
  • 网站字体规范wordpress找不到页面内容编辑
  • 静态网站建设参考文献茂名营销型网站制作公司
  • 君山区建设局网站风铃微网站怎么做
  • 购物网站销售管理合肥网络推广平台
  • 网站建设规划书txt微盘注册帐号
  • 小说网站开发实训报告企业网盘收费标准
  • mvc网站开发医疗医院网站建设
  • 天津市建设厅官方网站wordpress设置404
  • 贵阳好的网站建设免费正能量网站下载ww
  • 免费学习的网站平台自建站seo如何做
  • 海南三亚做网站公众号版面设计创意
  • 学校网站建设目的与意义合肥网页定制
  • 网站查询地址网站建设与维护费用
  • 做网站哪些软件比较好合肥外贸网站建设公司
  • 建网站需要哪些条件专业网站设计报价
  • 定制网站开发技术化妆品的网站布局设计图片大全
  • 网站模糊设计发布产品的免费平台有哪些
  • 网站建站什么目录桂林网站建设内容
  • 光明新区城市建设局网站长沙营销型网站制作费用
  • 网站建设制度制定wordpress主题哥
  • 门户网站的种类php网站开发实训心得
  • 流程图制作网页网络优化seo
  • 个人公益网站怎么制作wordpress flat theme
  • 做营销型网站的公司篇高端网站愿建设
  • 五莲网站建设维护推广凡科做网站的方法
  • 山东省住房建设厅网站首页网站文章更新怎么通知搜索引擎
  • 商务网站的可行性分析包括大流量网站 优化