检测dll是32/64位?(直接读dll文件包含的某几个字节进行判断)
2024-08-31 19:10:23
检查dll是32位还是64位?
- #include "stdafx.h"
- #include <Windows.h>
- int _tmain(int argc, _TCHAR* argv[])
- {
- BYTE buf[4];
- FILE *fp = fopen("D:\\plugin_d.dll", "rb");
- fseek(fp, 0x40-4, 0);
- fread(buf, sizeof(char), 4, fp);
- int a = int(buf[0]);
- int b = int(buf[1])*256;
- int c = int(buf[2])*256*256;
- int d = int(buf[3])*256*256*256;
- int sum = a+b+c+d;
- fseek(fp, sum+4, 0);
- BYTE bufMachine[2];
- fread(bufMachine, sizeof(char), 2, fp);
- int machine = (int)bufMachine[0] + (int)(bufMachine[1])*256;
- if(machine == 0x14C)//332
- {
- printf("32 bit\r\n");
- }
- else if(machine == 0x8664)//34404
- {
- printf("64 bit\r\n");
- }
- else
- {
- printf("Unknow bit\r\n");
- }
- //system("pause");
- getchar();
- return 0;
- }
https://blog.csdn.net/hellokandy/article/details/73863510
最新文章
- TP5验证规则使用
- java jni c++ 例子
- LUA5.3的BNF范式学习笔记
- Eclipse中10个最有用的快捷键组合
- 从DACPAC文件中读取元数据
- FineUI小技巧(3)表格导出与文件下载
- 安装PhantomJS
- MFC线程内获取主窗口句柄
- http apr 8080 exec 3解决
- An internal error occurred during: ";Building workspace";.
- .NET Framework 高级开发
- 通过快捷键及cmd命令注销系统
- django settings最佳配置
- 进程外Session和进程内Session存储
- 今天才知道mysql
- 大话spring.net之IOC
- VirtualBox安装RHEL之后配置桥接网络
- Kubernetes之ServiceAccount
- react-router 4.0(四)页面跳转验证提示
- java poi excel操作 下拉菜单 及数据有效性