博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
检测dll是32/64位 ?
阅读量:6579 次
发布时间:2019-06-24

本文共 894 字,大约阅读时间需要 2 分钟。

检测dll是32/64位 ?

void CCheck32Or64Dlg::OnButton2() {	CString fileName = "";	CFileDialog *fileDialog = new CFileDialog(TRUE,NULL,NULL,OFN_HIDEREADONLY,"Dll Files(*.dll)|*.dll|Exe Files(*.exe)|*.exe||",NULL);	if(fileDialog->DoModal()==IDOK)	{		fileName = fileDialog->GetPathName();		byte buf[4];		CFile file(fileName,CFile::modeRead);		file.Seek(0x40-4,0);		file.Read(buf,4);		int a,b,c,d;		a = int(buf[0]);		b = int(buf[1])*256;		c = int(buf[2])*256*256;		d = int(buf[3])*256*256*256;		int sum = a+b+c+d;		file.Seek(sum+4,0);		byte bufMachine[2];		file.Read(bufMachine,2);		int machine = (int)bufMachine[0] + (int)(bufMachine[1])*256;		if(machine == 0x14C)		{			MessageBox(fileDialog->GetFileName()+"是32位PE文件","检测结果");		}		else if(machine == 0x8664)		{			MessageBox(fileDialog->GetFileName()+"是64位PE文件","检测结果");		}		else		{			MessageBox("未能识别:"+fileDialog->GetFileName()+"多少位的PE文件!","检测结果");		}	}}

转载地址:http://jtbno.baihongyu.com/

你可能感兴趣的文章
Linux系统相关命令
查看>>
BATJ面试必会之 Spring 篇(一)
查看>>
表驱动法
查看>>
什么是企业内训
查看>>
firefox无法显示java插件plugin
查看>>
H3C设备之OSPF DR选举
查看>>
View控件Edittext属性
查看>>
List grantee right in oracle
查看>>
骨牌铺方格 ——解题报告
查看>>
Activity生命周期
查看>>
通过VBS编写自动输入账号和密码、自动登录程序的脚本
查看>>
MTK APSoC SDK MT7621编译固件的快速开始
查看>>
深度解析Istio系列之安全模块篇
查看>>
Linux 系统 审计
查看>>
JS -------------------设置弹出框位置屏幕的中间
查看>>
性能测试 vbs使用(一)
查看>>
1.2 linux哲学思想
查看>>
jQuery基础
查看>>
BZOJ5312:冒险——题解
查看>>
什么是标的
查看>>