| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 361 人关注过本帖
标题:判断是否PE文件的程序 借个地方放下
只看楼主 加入收藏
zhu224039
Rank: 8Rank: 8
等 级:贵宾
威 望:17
帖 子:862
专家分:792
注 册:2012-7-29
结帖率:59.52%
收藏
已结贴  问题点数:20 回复次数:5 
判断是否PE文件的程序 借个地方放下
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
void main(int argc,char *argv[])
{
    FILE *fp;
    int i,count=0;
    char p[3];
    char a[3]="PE";
    void qutou(FILE *fp,char *p);
    if(argc<2){
        printf("参数过少");
        exit(0);
    }
    for(i=0;*(argv[1]+i)!='\0';i++)
        if(*(argv[1]+i)=='.')  break;
    if(*(argv[1]+i)=='\0'){
        printf("请输入文件扩展名");
        exit(0);
    }
   
    if((fp=fopen(argv[1],"rb"))==NULL){
        printf("erroe");
        exit(0);
    }
     qutou(fp,p);
    if(!strcmp(p,a))
    printf("这是个PE文件");
    fclose(fp);
}

void qutou(FILE *fp,char *p)
{
  unsigned int n;
  if(fseek(fp,0x3c,SEEK_SET)){
      printf("这不是个PE文件1111");
      exit(0);
  }  
  fread(&n,sizeof(int),1,fp);
  if(fseek(fp,n,SEEK_SET)){
      printf("这不是个PE文件");
      exit(0);
  }
  fread(p,sizeof(char),2,fp);
  *(p+2)='\0';
}


[ 本帖最后由 zhu224039 于 2012-11-30 15:49 编辑 ]
搜索更多相关主题的帖子: void include 扩展名 count 
2012-11-30 15:27
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
收藏
得分:7 
专顶没人回的帖子

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2012-12-07 23:07
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6814
专家分:42393
注 册:2010-12-16
收藏
得分:7 
太弱了吧,
一般是先判断 MZ标志 在判断 PE标志。
pe文件前两个字节是MZ 这个可以优先判断下

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2012-12-07 23:14
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:7 
以下是引用yaobao在2012-12-7 23:07:39的发言:

专顶没人回的帖子
这样子可不好哦

DO IT YOURSELF !
2012-12-07 23:15
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
以下是引用yaobao在2012-12-7 23:07:39的发言:

专顶没人回的帖子
这样有灌水的嫌疑

DO IT YOURSELF !
2012-12-07 23:15
zhu224039
Rank: 8Rank: 8
等 级:贵宾
威 望:17
帖 子:862
专家分:792
注 册:2012-7-29
收藏
得分:0 
回复 3楼 yuccn
这个主要是MZ 标志不是很重要,别人改了 那就判断上会有问题

MZ 真和假 和PE 不是绝对的真假关系

我要成为嘿嘿的黑客,替天行道
2012-12-10 08:31
快速回复:判断是否PE文件的程序 借个地方放下
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015720 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved