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函数)。

相关内容

热门资讯

“冷资源”变“热经济”,冰雪旅... 凌晨,金祖峰峰顶的直播间里,博主王海庭正在等待日出,手机屏幕另一端,是近十万名网友与他的共同守望。一...
湖北竹山:上庸鲜花小镇绽放别样... 来源:新华网上庸鲜花小镇坐落于古庸国故地,位于湖北省十堰市竹山县上庸镇,地处南水北调中线工程核心水源...
缤纷冬日景如画 12月17日,游客在江苏苏州虎丘湿地公园赏景游玩。冬日时节,各地美景缤纷如画,吸引众多游客赏景游玩。...
周年观察·体验感拉满、丝滑感升... 央视网消息:2024年12月17日,中国240小时过境免签政策正式实施,2025年12月17日已满一...
守护散落乡野的中小石窟   新华社北京12月17日电 12月17日,《新华每日电讯》发表题为《守护散落乡野的中小石窟》的报道...
元旦出行 云南多地居自驾热门目... 云南网讯(记者彭锡)2025年12月31日跨年火车票已正式发售,2026年元旦三天假期的出行热潮也提...
赏“枫”正当时!来崇明这里邂逅... 点击关注悠哉崇明,发现更美的崇明秋冬交替,层林尽染。眼下,东平国家森林公园迎来了一年中最美的赏枫季。...
赏星光、游雪境、感受摩登城市魅... 冬季的步伐悄然而至,城市气温渐凉,节日氛围也开始变得温暖浓厚。兴业太古汇以中法文化联动打造城市美学地...
陕西汉中:文旅这碗饭,村民们吃... 站在自家民宿门前,陕西省汉中市留坝县火烧店镇村民罗英笑得自信而灿烂。“山里空气好,欢迎更多游客等天暖...
打造“中国古镇入境游第一站”,... “Look,Look!”傍晚,青浦朱家角古镇西井街的一家非遗内画商铺前,秦师傅拿着自己刚为外国游客T...
张家界“荒野求生”冠军总奖金增... 12月16日晚,张家界七星山景区总经理田健兵在个人社交账号上发布视频称,给张家界七星山荒野求生挑战赛...
吉林冰雪假期:一孩带动一家 学生和家长在滑雪场尽情享受“雪假”乐趣 吉林省文化和旅游厅供图12月3日至7日,吉林省迎来首个中小学...
指南针动态擒龙版多少钱?服务差... 指南针动态擒龙版多少钱?服务差还甩锅!股民真实案例:退款成功有实例! 投资有风险,投资需谨慎!针对网...
顶点财经交了26800怎么样?... 顶点财经交了26800怎么样?忽悠手段大起底,真实退费案例来指路! 投资有风险,投资需谨慎!针对网上...
众赢财富通1980课程靠谱吗?... 众赢财富通1980课程靠谱吗?服务不行退费被拒,实战攻略帮你要回钱! 投资有风险,投资需谨慎!针对网...
中富金石怎么退钱?荐股承诺全落... 中富金石怎么退钱?荐股承诺全落空,股民退款经历扒出真相! 投资有风险,投资需谨慎!针对网上素未谋面的...
高能智投服务费退款流程?纯属割... 高能智投服务费退款流程?纯属割韭菜,荐股压根没作用,赶紧追钱护本金! 投资有风险,投资需谨慎!针对网...
九方智投退款方式?真实经历:荐... 九方智投退款方式?真实经历:荐股全是坑,这样做已成功退费! 投资有风险,投资需谨慎!针对网上素未谋面...
巨丰投顾服务费可靠吗?股民实话... 巨丰投顾服务费可靠吗?股民实话:远不及预期,退款方法这就说! 投资有风险,投资需谨慎!针对网上素未谋...
万隆证券4980一月服务费怎么... 万隆证券4980一月服务费怎么退?股民亲述:别被坑,这笔钱能要回! 投资有风险,投资需谨慎!针对网上...