安基网 首页 安全 安全学院 查看内容

判断区分32位和64位运行程序的方法

2008-5-13 11:08| 投稿:


免责声明:本站系公益性非盈利IT技术普及网,本文由投稿者转载自互联网的公开文章,文末均已注明出处,其内容和图片版权归原网站或作者所有,文中所述不代表本站观点,若有无意侵权或转载不当之处请从网站右下角联系我们处理,谢谢合作!

摘要:   打开目标进程 ->获取进程pbi -> pbi中找peb ->peb中找LoaderData ->LoaderData 里面有个InLoadOrderModul...
  打开目标进程 ->获取进程pbi -> pbi中找peb ->peb中找LoaderData ->LoaderData 里面有个InLoadOrderModuleList ,这个是本进程中按次序进入内存的模块信息的链表,第一个就是当前exe ,这个模块信息中 有个BaseAddress ,就是exe虚拟内存基址-> 通过这个基址找dos_header -> dos_header中找 pe_header -> pe_header.OptionalHeader.Magic 就是要判断的 IMAGE_NT_OPTIONAL_HDR32_MAGIC or IMAGE_NT_OPTIONAL_HDR64_MAGIC   typedef LONG (WINAPI *PROCNTQSIP)(HANDLE,UINT,PVOID,ULONG,PULONG);        PROCNTQSIP NtQueryInformationProcess;        NtQueryInformationProcess = (PROCNTQSIP)GetProcAddress(GetModuleHandle("ntdll","NtQueryInformationProcess";        HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, 3580);         PROCESS_BASIC_INFORMATION pbi;        PEB buf;        DWORD readnum;        PEB_LDR_DATA ldrData;         NtQueryInformationProcess(hProcess,0,(PVOID)&pbi,sizeof(PROCESS_BASIC_INFORMATION),NULL);        ReadProcessMemory(hProcess,pbi.PebBaseAddress,&buf,sizeof(PEB),&readnum);        ReadProcessMemory(hProcess,buf.LoaderData,&ldrData,sizeof(PEB_LDR_DATA),&readnum);         LDR_MODULE ldrModule;         LIST_ENTRY* pListEntry=ldrData.InLoadOrderModuleList.Flink;                ReadProcessMemory(hProcess,pListEntry,&ldrModule,sizeof(LDR_MODULE),&readnum);                        LPVOID pBase=ldrModule.BaseAddress;        IMAGE_DOS_HEADER dos_header;        ReadProcessMemory(hProcess,pBase,&dos_header,sizeof(IMAGE_DOS_HEADER),&readnum);         IMAGE_NT_HEADERS pe_header;        ReadProcessMemory(hProcess,(LPVOID)((LONG)pBase + dos_header.e_lfanew),&pe_header,sizeof(IMAGE_NT_HEADERS),&readnum);         cout<<hex<< pe_header.OptionalHeader.Magic ;        cout<< IMAGE_NT_OPTIONAL_HDR32_MAGIC ;

小编推荐:欲学习电脑技术、系统维护、网络管理、编程开发和安全攻防等高端IT技术,请 点击这里 注册账号,公开课频道价值万元IT培训教程免费学,让您少走弯路、事半功倍,好工作升职加薪!



免责声明:本站系公益性非盈利IT技术普及网,本文由投稿者转载自互联网的公开文章,文末均已注明出处,其内容和图片版权归原网站或作者所有,文中所述不代表本站观点,若有无意侵权或转载不当之处请从网站右下角联系我们处理,谢谢合作!

相关阅读

最新评论

 最新
返回顶部
全民彩票计划群 极速赛车资金分配 极速赛车彩票规律 极速赛车冠军3码 爱购彩票计划群 智慧彩票投注 浙江11选5 盛通彩票计划群 98彩票计划群 聚发彩票注册