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

相关内容

热门资讯

三亚:全市涉山涉海涉空景区暂停... 7月3日,三亚市旅游和文化广电体育局发布关于涉山涉海涉空景区暂停营业的通知:根据市三防指挥部研判部署...
走,哪凉快哪待着去! 走去最凉... 本文转自:人民网四季如春的云南藏着一座“秋城”位于乌蒙山间滇川黔三省交界处的云南昭通这里夏有凉风、冬...
苏州·甪直,我愿意N刷的古镇!... 来过甪直,就不舍得离开在这里,时间变得很慢很慢徜徉其中,仿佛真的能做一回生于古镇、长于古镇的“画中人...
体荟四季|暑假去哪玩?长三角溯... 暑假如期而至想好怎么带娃出门清凉一“夏”了吗?为你精选了5处长三角溯溪好去处竹林溪涧、峡谷飞瀑、鱼鳞...
2026“夏凉菌香游云南”禄丰... 6月30日,云南省2026年“夏凉菌香游云南”暨暑期旅游禄丰专场推介活动在禄丰世界恐龙谷启幕。作为国...
深山溶洞惊现千年工事,灶台古井... 走进曲靖麒麟区连绵不绝的深山之中,藏着一处极少被大范围宣传的天然溶洞,依靠山体岩石人工开凿扩建而成,...
山间砂岩刻下盟约,曾经驿道地标... 站在云南寻甸与马龙交界的关索岭山顶,不少本地年长居民都听家中长辈讲过一件流传几百年的旧事。这座扼守滇...
逛花街、看演出、品美食 南川首... 00:376月29日,随着南川区委书记马奇柯一声“开园”,该区首个“文化+剧场+餐秀+游乐”一体化沉...
“两江游”只能一家独有?重庆一... 封面新闻记者 宋潇“两江游”是重庆的特色城市文旅名片之一,有公司瞅准了其中的商机,先是抢注商标,然后...
一碗羊肉汤的“接二连三”:看布... 本文转自:人民网-四川频道吉拉布拖黑绵羊餐厅正式开门迎客。杨飞供图近日,国家4A级旅游景区西昌建昌古...
赣州添动漫文旅新地标,功夫动漫... 6月27日,功夫动漫世界乐园开园仪式暨第四届城市超级IP产业发展大会在赣州南康隆重举行。来自全国48...
渝见好“村”光|万盛经开区北门... 万盛黑山镇的北门村,农业农村部官方认证的“2024年全国美丽休闲乡村”。距重庆中心城区85公里,平均...
晨读   曹伟明:古老水村 晨... 徐程 摄五月的风,带着江南青绿的温润与轻柔,我随上海文史馆“沪派江南·海上名家”乡村行,来到上海淀山...
老昆明人的滇池乡愁全在这,逛完... 周末想找一处既能看湖、赏古建,又能静下心读一段本地历史的近郊去处,多数昆明人第一反应会想到捞渔河、海...
不止网红水上森林!捞渔河的十年... 在昆明人的短途出行清单里,捞渔河湿地公园永远占据着一个特殊的位置。它没有翠湖的人声鼎沸,没有西山的险...
架起远东滨海度假桥梁!烟台正式... 齐鲁晚报·齐鲁壹点 秦雪丽 通讯员 旅宣6月27日,烟台蓬莱国际机场迎来两架自俄罗斯远东城市飞来的旅...
一元门票畅玩整夏!老界岭云尚空... 大象新闻记者 赵勇生时光逐光而行,初心不负韶华 。为感恩广大游客长久以来的支持与厚爱,老界岭景区宠粉...
行进中国|河南信阳田铺大塆:古... 本文转自:人民网-河南频道人民网“行进中国”河南调研采访团田铺大塆山水民俗两相宜。人民网记者 戴泽鑫...
APEC旅游部长会议嘉宾点赞中...   这是3月3日在澳门大三巴牌坊前拍摄的“乐韵悠扬大三巴”元宵节音乐会现场。新华社发(张金加摄)  ...
中国游,游世界——APEC旅游...   新华社澳门6月28日电 题:中国游,游世界——APEC旅游部长会议嘉宾点赞中国旅游“双向引力” ...