代码增加节失败
本帖最后由 huchen 于 2024-4-7 14:56 编辑在学习PE结构的时候,看PE文件笔记十一 新增节 - 『软件调试区』 - 吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn文章写的代码
能打印出来,但是却写不进文件里面,也显示增加成功了
这里显示并没有添加成功,请大佬解答一下(跪谢!!!)
我的代码:
我是在win10 VS2022环境下编译的
已找到错误问题,原因竟然是少打了一个括号(T_T)
错误:_IMAGE_SECTION_HEADER* newSection = (_IMAGE_SECTION_HEADER*) (UINT)jieadress->Name + sizeof(_IMAGE_SECTION_HEADER);
这是在定义增加节函数中,给新的节地址的命令
分析一下
jieadress[]结构体的Name首先被转换成UINT 接着变成 _IMAGE_SECTION_HEADER* 类型,然后加上了sizeof(),由于最后面的节表与节区的空隙较多,因此并没有报空间不足,而是运行成功
可以看到写的节表就变成了8C8的地址,相差了0x628,有点大,明白的大佬还请指教一下
正确:_IMAGE_SECTION_HEADER* newSection = (_IMAGE_SECTION_HEADER*) ((UINT)jieadress->Name + sizeof(_IMAGE_SECTION_HEADER));
这是正确的,就因为少了个括号,妈耶,这个问题得注意,不然又要浪费很多时间
修改后就可以了
正巧我今天才刚成功写了添加节的代码,只是半成品,还解决不了节表后有数据时整体贴到dos头后的问题,就不贴上来了……去找了提到的教程帖,完全看不懂……c只会皮毛,好多函数不知道是本来就有的还是前面帖子的…… HackYike 发表于 2024-4-6 22:55
正巧我今天才刚成功写了添加节的代码,只是半成品,还解决不了节表后有数据时整体贴到dos头后的问题,就不 ...
那篇文章的大佬是在前面的基础上填的,我提到的这篇文章的代码只有前面一部分,不是全部
页:
[1]