编程达人海哥c语言,编程达人 我在写海哥初级班39课作业的时候遇到了问题,希望有兄弟帮忙解答一下...
是FileBuffer复制到ImageBuff的函数出错了,就图中的那一句Memcpy出了问题,应该是指针哪里写错了,但是自己排查不出来,真是崩溃了。。
函数代码如下:
DWORD CopyFileBufferToImageBuffer()
{
//参数 IN LPVOID pFileBuffer, OUT LPVOID* pImageBuffer
void* FileBuffer = ReadPEFile(FILEPATH);
LPVOID ImageBuffer = NULL;
pDosHeader = (PIMAGE_DOS_HEADER)FileBuffer;
pNTHeader = (PIMAGE_NT_HEADERS)((DWORD)FileBuffer + pDosHeader->e_lfanew);
pPEHeader = (PIMAGE_FILE_HEADER)((((char*)FileBuffer)+pDosHeader->e_lfanew )+ 4);
pOptionHeader = (PIMAGE_OPTIONAL_HEADER32)((DWORD)pPEHeader + 20);
pSectionHeader = (PIMAGE_SECTION_HEADER)((char*)pOptionHeader +
pNTHeader->FileHeader.SizeOfOptionalHeader);
//分配ImageBuffer大小的空间
ImageBuffer = malloc(pOptionHeader->SizeOfImage);
if (!ImageBuffer)
{
printf("分配内存空间失败:\n");
return 0;
}
//先Copy头的数据
memcpy(ImageBuffer, FileBuffer, pOptionHeader->SizeOfHeaders);
//Copy的头的大小
DWORD CopySize = pOptionHeader->SizeOfHeaders;
if (!ImageBuffer)
{
printf("复制SizeOfHeaders错误:\n");
return 0;
}
for (int i = 0; i < pPEHeader->NumberOfSections; i++)
{
memcpy(((char*)ImageBuffer + pSectionHeader->VirtualAddress),
((char*)pSectionHeader->PointerToRawData),
pSectionHeader->SizeOfRawData);
//GetLastError();
pSectionHeader += 40;
CopySize += pSectionHeader->SizeOfRawData;
}
return CopySize;
}
自学不易,还望不吝赐教
编程达人海哥c语言,编程达人 我在写海哥初级班39课作业的时候遇到了问题,希望有兄弟帮忙解答一下...相关推荐
- 轻松学c语言编程.pdf等,轻松学编程 轻松学C语言编程pdf
轻松学编程 轻松学C语言编程 内容简介 <轻松学编程:轻松学C语言编程>从初学者的角度出发,以通俗易懂的语言.丰富多彩的实例,详细介绍了使用C语言进行程序开发应该掌握的各方面知识.全书共1 ...
- c语言对编程对作用,c语言编程心得体会
c语言编程心得体会 c语言是在国内外广泛使用的一种计算机语言.以下是小编整理的c语言编程心得体会,欢迎大家阅读! c语言编程心得体会1 说到我学习c语言时,真是用千言万语呀!记得刚开始学的时候,我的c ...
- c语言编程模拟选举,C语言编程题精选
C语言编程题精选 C语言编程题精选 1. 编程实现对键盘输入的英文名句子进行加密.用加密方法为,当内容为英文字母时其在26字母中的其后三个字母代替该字母,若为其它字符时不变. 2. 编程实现将任意的十 ...
- 成都c语言编程培训机构,成都学c语言编程,成都学c语言编程去哪里,成都学c语言编程需要报培训班吗...
成都学c语言编程,成都学c语言编程去哪里,成都学c语言编程需要报培训班吗 首页 > 软件 > 成都学c语言编程 作者:镀金池 发布时间:2018-09-28 14:20 近似带有序布局 ...
- 罗定c语言,罗定学c语言编程,罗定学c语言编程培训,罗定学c语言编程一般怎么收费...
罗定学c语言编程,罗定学c语言编程培训,罗定学c语言编程一般怎么收费 首页 > 软件 > 罗定学c语言编程 作者:镀金池 发布时间:2018-10-04 23:40 依照c语言的法则, ...
- 单片机c语言编程下载,单片机C语言编程.doc
单片机C语言编程.doc 单片机C语言编程指令格式 功能简述 字节数 周期 一.数据传送类指令 MOV A, Rn 寄存器送累加器 1 1 MOV Rn,A 累加器送寄存器 1 1 MOV A ,Ri ...
- c语言编程所得票数,C语言编程求1X2X3····Xn所得的数末尾有多少个零
C语言编程求1X2X3····Xn所得的数末尾有多少个零 发布时间:2020-08-10 02:23:57 来源:51CTO 阅读:312 作者:sonissa 参见大数的阶乘 https://blo ...
- c语言编程课程心得,c语言编程课程设计心得.docx
C语言编程课程设计心得 C语言编程课程设计心得 河南城建学院 <C语言程序设计>课程设计报告 适用专业工程管理专业课程名称C语言程序设计指导教师赵军民.魏新红.张芳芳 设计人:051409 ...
- 方程组c语言编程,最小二乘解方程组C语言编程.doc
最小二乘解方程组C语言编程 #include #include"math.h" using namespace std; int main() { double **a,*x,*y ...
最新文章
- 2022-2028年中国塑料编织品的制造行业市场竞争态势及投资方向分析报告
- mysql 关键字 status_Mysql show status命令详解
- JAVA进阶教学之(String类的构造方法)
- oracle change schema,使用pt-online-schema-change修改主键时注意
- Use YSlow to know why your web Slow
- python编程狮_python编程狮app
- 动态贝叶斯网络推断函数的调用
- android 电视安装apk文件损坏,安装电视软件时提示解析包出现问题怎么破?
- 快速下载各类网页视频插件~COCOCUT
- 【npm】伙计,给我来一杯package.json!不加糖
- web16(ColorBox插件编写)
- 使用xcelsius创建令人惊叹的幻灯片 --xcelsius入门
- 计算机一级excel试题百度云,excel计算机一级试题.doc
- 苹果的名字测试软件,教你iOS12人脸识别测颜值捷径安装使用教程及iPhone XR修改AppleID姓名教程...
- 原来普洱茶还有预防头痛,减轻体重,缓解压力和失眠的作用,而且是年份久的普洱茶效果好
- http url特殊字符转义
- APP内如何打开某个应用的App Store下载页面
- 怎么输出链表最后一个元素_听说AI将是人类最后一个发明?听听他怎么说!
- Lua判断一个对象是否为空,包含userdata
- SpringSecurity详细介绍RememberMe源码流程
热门文章
- logstash问题记录:Attempted to resurrect connection to dead ES instance, but got an error
- python手机自动化测试脚本语言_python脚本语言? Appium移动自动化测试
- iText操作word
- 【万字解读】数据可视化图表使用场景大全 !
- 单片机开发无线控制系列-单片机端代码实现
- debussy下载及安装
- 之前的账号不见了,@21cn.com的。哪里可以找的回来?
- win7 凭据管理无法保存
- Windows Server执行定时任务
- FEC【筷云早报】 2020年7月29日星期三