C语言 PE练习题
admin
2023-03-02 20:41:00
0

#include

 

#include "stdafx.h"

 

#include "windows.h"

 

#include

 

DWORD ReadPEFile(IN LPSTR lpszFile,OUT LPVOID* pFileBuffer )

 

{

 

FILE* PF = NULL;

DWORD FileSize = 0;

LPVOID PFileBuffer = NULL;

 

PF = fopen(lpszFile,"rb");

 

if (!PF)

{

 

printf("fail\n");

fclose(PF);

   return 0;

}

 

fseek(PF,0,SEEK_END);

FileSize=ftell(PF);           

fseek(PF,0,SEEK_SET);         

 

    PFileBuffer  = malloc(FileSize);

 

if(!PFileBuffer)

printf("%d\nApplication space failed\n ",PFileBuffer);

free(PFileBuffer);

fclose(PF);

return 0;

 

}

 

 size_t n =fread(PFileBuffer,FileSize,1,PF);

 

 if(!n)

{

 

printf("%d\nApplication space failed\n",n);

free(PFileBuffer);

fclose(PF);

return 0;

 

 }

 

//关闭文件

 

 *pFileBuffer = PFileBuffer;

PFileBuffer = NULL;

fclose(PF);

return FileSize;

 

}

 

int main(int argc, char * argv[])

 

 {

 

   size_t BufferAddress =  ReadPEFile("C:\\Users\\Administrator\\Desktop\\notepad1.exe", 0); //第二个参数是用来返回PE的首地址,怎么创建空间让他存?

 

return 0;

 

}


ReadPEFi360问答le的第二个参数是个二维坏北夫球指针,它不需要创建空间的,它在ReadPEFile中由

   PFileBuffer  = malloc(FileSize);

这个来申请空间,而*pFileBuffer = PFi划班副占leBuffer;就是将空间的地址指向它的

你可以直接定义一个一维字符指针,将它的地址作为参数就可以了:

 char *pbuff;

 size_t BufferAddress = ReadPEFile("t.exe", (LPVOID *)&pbuff); //对某些编译器,要强制转换,不然的警告的

说明的是,你的程序结构不是很合理,你在子函数中今怀慢区团笑圆去础快经申请内存,且要在主函数中释放它,这样结构中较混乱且容易产生内存泄露,微软有很多类似的SDK函数可参考,第一次,以0调用函数,返回文件长度,第二次就可以带一个在主函数申请好内存的指针存放数据内容了(这个要修改你的ReadPEFile函数)。

相关内容

热门资讯

古城安顿身心 五台奔赴山海 古... 忻州古城,历经风雨,不疾不徐,以青砖黛瓦藏岁月,以秀容文脉润风骨。飞檐翘角揽尽玉露清风,斑驳砖墙历经...
烟花延期,广元却给退订游客发景... 投稿+v♥,197169387-------正文------来源:今日头条美妙音符从退订游客的角度来...
初秋打卡好去处 枣庄薛城锦阳河... 齐鲁网·闪电新闻9月6日讯 初秋时节,枣庄市薛城区锦阳河两岸绿意盎然。河道碧波澄澈,两岸林木繁茂葱郁...
历时28年,英国男子即将完成徒... 57岁的英国男子卡尔·布什比已经得到法国方面的允许,可以游过英吉利海峡,回到他在英国东约克郡赫尔市的...
夜游消费需求持续攀升,新玩法新... 封面新闻记者 易弋力今年以来,多地夜游市场火热。夜游已跳出单一观景的传统模式,升级为集观赏、体验、消...
2026中国文化旅游产业博览会... 【2026中国文化旅游产业博览会闭幕 文旅项目集中签约115亿元】财联社9月6日电,为期4天的202...
藏在“每一个”细节里 老家河南... 最近河南文旅频频出圈。如果说山水和文化资源是河南文旅的根与魂,那么藏在点滴细节里的宠客之道,正是这份...
仙游一景区部分设施被冲毁,预计... 关于菜溪岩景区 暂停对外开放的公告尊敬的游客朋友们:受台风“沙德尔”影响,持续的暴雨冲刷,菜溪岩景区...
交通运输部发布新一批水路旅游精... 交通运输部近日发布新一批2025年国内水路旅游客运精品航线典型案例,案例涵盖全国范围内的特色文化游、...
瞰中国|内蒙古:秋赴敕勒川 草...   随着初秋的微凉漫过内蒙古呼和浩特市新城区,敕勒川草原迎来一年中色彩丰富的时节。翠色尚未褪去,草丛...