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

相关内容

热门资讯

被一个沙石场和六个码头包围的法... 摩旅经过台州椒江的时候,本来是对这个法济寺不以为意的,只是在地图上看到它左依“关圣帝庙”、右靠“小普...
台风过后 三亚旅游市场逐步恢复... 8月27日,游客在海南省三亚市乘坐游艇出海游玩(无人机照片)。随着台风“剑鱼”影响的逐渐消退,海南三...
第七届中阿博览会中阿旅行商对接... 8月27日,第七届中阿博览会中阿旅行商对接洽谈会在宁夏银川市开幕。大会以“共享发展新机遇 绘制共赢新...
一场跨越六百年的文明对话!“再... 东方网记者曹磊8月27日报道:今天下午,再见青花 海上丝绸之路沉浸式体验展线下发布会在上海举行。此次...
人气爆棚,热度不减!@上海人,... 00:38上海自然博物馆“龙吟九州•中国恐龙大展”在今夏人气爆棚即使假期进入尾声依然热度不减为回馈广...
我与黄河文化地标|中山桥,我初... 文|张华荣 飞机落地,已近正午。来兰州,怎能不品尝一碗正宗的兰州拉面呢?我们挑了一家门脸阔绰的牛肉面...
女团表演被指“擦边”,深圳欢乐... 近日,深圳欢乐谷一场女团表演被指涉嫌“擦边”,引发公众的广泛关注。据网友发布的视频显示,该场表演中,...
深圳欢乐谷被指有擦边表演!暂停... 新京报贝壳财经讯(记者俞金旻)8月26日,有网友发布视频,深圳欢乐谷景区内的一场公开表演存在“擦边”...
济南古城游人如织 济南古城游人... 王中伟 摄济南古城游人如织济南古城游人如织济南古城游人如织济南古城游人如织济南古城游人如织
暑期旅游成绩单发布 重庆跻身全... 伴随全国大中小学陆续开学,为期两个月的暑期旅游季正式收官。8月26日,携程发布2025年暑期出游市场...
广西金秀:圣堂湖秀美如画 金秀...   初秋时节,位于广西来宾市金秀瑶族自治县长垌乡的圣堂湖,湖水清澈,植被苍翠,独特的丹霞地貌与悠然飘...
宜昌一景区通报游客蹦极受伤,游... 8月26日,有网友在社交平台称,宜昌西陵峡景区内蹦极绳子疑似断裂,游客掉进水里后被捞起。 目击此次事...
国庆拼好假!请3休12成流行趋... 暑期还没过完,国庆预订高峰已经来临。去哪儿旅行数据显示,截至目前,国庆热门国家酒店的预订量同比翻番,...
广西文旅赴哈推介 邀您相聚浪漫...   黑龙江网讯(记者 韩俏)8月26日下午,2025年广西精品剧目巡演暨文化旅游宣传推介活动(钦州专...
活力中国调研行丨福建:沿千年文... 在福州,有一条跨越2200多年未曾移位的城市文化中轴线,它串联起古城的历史脉络,承载着闽都的独特气韵...
四川泸州2.7公里茶马古道重见... 封面新闻记者 李雨心 当清晨的第一束阳光,穿透山林中缭绕的晨雾,照耀在泸州叙永县的田野上,这座地处四...
泰山观日出:22点前进山最优,... 齐鲁晚报·齐鲁壹点 徐慧8月26日,泰山景区管委会关于夜爬泰山等重要事项的温馨提示。近期泰山日出时间...
消费时评 | 避暑消费激活夏日... 今年夏天,全国多地持续的高温天气不仅让空调成为“续命神器”,也催生了一股避暑消费热潮。从北国林海到西...
在峡谷激流中为情绪“充电” 在... 来源:中国文化报在贵州的崇山峻岭之间,流水用千万年的耐心切割出深邃的峡谷,雕琢出奇绝的喀斯特地貌,也...
人文齐鲁|巍巍昆嵛,山海间的烽... 文|于春生昆嵛山位于胶东半岛东端,横亘烟台、威海两市。它方圆百里,巍峨壮丽,峰峦叠翠,素有“胶东屋脊...