码迷,mamicode.com
首页 > 其他好文 > 详细

检测dll是32/64位?(直接读dll文件包含的某几个字节进行判断)

时间:2018-04-07 19:58:04      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:har   etc   comm   blog   cli   view   windows   getc   包含   

检查dll是32位还是64位?

 

[cpp] view plain copy
 
  1. #include "stdafx.h"  
  2. #include <Windows.h>  
  3.   
  4. int _tmain(int argc, _TCHAR* argv[])  
  5. {  
  6.     BYTE buf[4];  
  7.     FILE *fp = fopen("D:\\plugin_d.dll", "rb");  
  8.     fseek(fp, 0x40-4, 0);  
  9.     fread(buf, sizeof(char), 4, fp);  
  10.   
  11.     int a = int(buf[0]);  
  12.     int b = int(buf[1])*256;  
  13.     int c = int(buf[2])*256*256;  
  14.     int d = int(buf[3])*256*256*256;  
  15.     int sum = a+b+c+d;  
  16.     fseek(fp, sum+4, 0);  
  17.   
  18.     BYTE bufMachine[2];  
  19.     fread(bufMachine, sizeof(char), 2, fp);  
  20.   
  21.     int machine = (int)bufMachine[0] + (int)(bufMachine[1])*256;  
  22.   
  23.     if(machine == 0x14C)//332  
  24.     {  
  25.         printf("32 bit\r\n");  
  26.     }  
  27.     else if(machine == 0x8664)//34404  
  28.     {  
  29.         printf("64 bit\r\n");  
  30.     }  
  31.     else  
  32.     {  
  33.         printf("Unknow bit\r\n");  
  34.     }  
  35.   
  36.     //system("pause");  
  37.     getchar();  
  38.     return 0;  
  39. }  

 

https://blog.csdn.net/hellokandy/article/details/73863510

检测dll是32/64位?(直接读dll文件包含的某几个字节进行判断)

标签:har   etc   comm   blog   cli   view   windows   getc   包含   

原文地址:https://www.cnblogs.com/findumars/p/8734176.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!