#include "stdafx.h"
#include <malloc.h>
int file_length(FILE *fp);
void fun_02()
{
FILE *fp1 = NULL; //定义一个文件指针
int FpSize = 0; //初始化exe文件长度
fp1 = fopen("C:\\Windows\\System32\\notepad.exe","rb");//打开文件(读和写)
FpSize = file_length(fp1);//获取exe大小
char* FileBuffer = (char *)malloc(FpSize);//开辟一段动态内存,用FileBuffer指向
if(FileBuffer != NUll)
{
fread(FileBuffer,FpSzie,1,fp1);
}//将.exe写入内存中
int addr = (int)FileBuffer;
printf("%x",FileBuffer);//返回内存编号
free(FileBuffer);
fclose(fp1);//释放关闭
}
int file_length(FILE *fp)
{
int num;//初始化一个计算器
fseek(fp,0,SEEK_END);
num = ftell(fp);
fseek(fp,0,SEEK_SET);//使用完毕后,要将文件指针指向文件开始
return num;
}
int main(int argc,char* argv[])
{
fun_02();
getchar();
return 0;
}