登录  | 立即注册

游客您好!登录后享受更多精彩

查看: 108|回复: 1

WindowsPE文件格式入门07

[复制链接]

67

主题

-6

回帖

34

积分

网站编辑

积分
34
发表于 2025-2-23 14:34:09 | 显示全部楼层 |阅读模式

提高动手能力的方法,多看别人的代码,自己多写一写,看的多了,见多识广就自然会写了

有导入函数就有导入dll,导入函数是不会被优化的.因为无法确定是否会被用,而且也不清楚代码大小

导入表跟静态链接没有关系,静态链接是直接把代码直接链接到可执行文件中,调了动态链接库,就会有导入表,不调就没有

改变节属性后,相同属性的节会自动合并,合并的顺序是按照节名的 ascii 码顺序排序

C++ 代码后移的方式

#define NOP10  __asm nop   __asm nop  __asm nop  __asm nop  __asm nop  __asm nop  __asm nop  __asm nop  __asm nop  __asm nop
#define NOP100 NOP10  NOP10  NOP10  NOP10  NOP10  NOP10  NOP10  NOP10  NOP10  NOP10  
#define NOP1000  NOP100 NOP100 NOP100 NOP100 NOP100 NOP100 NOP100 NOP100 NOP100 NOP100


int APIENTRY wWinMain(_In_ HINSTANCE hInstance,
                     _In_opt_ HINSTANCE hPrevInstance,
                     _In_ LPWSTR    lpCmdLine,
                     _In_ int       nCmdShow)
{
   NOP10
   MessageBox(NULL, _T("hellow"),_T("hellow"),MB_OK);

}

image.png

image.png

image.png

向带有附加数据的进程中添加数据(例如 CE)

如果附加数据检查不严格就没事

而且不一定非要加在 exe中 ,也可以把数据放入加载的dll 没有附加数据的dll中

如果上面都不满足,那么就先把最后一个节节拓展,把附加数据放入节中,想要加数据可以再去添加节或者拓展节都可以,注意修改 SizeOfImage,不一定适用于所有进程

判断自己的可执行文件是否被修改了看

用MD5值校验,如果不一样就说被修改了

txt是纯文本文件,没有格式

节表注入

添加节

第一步:添加节数据

image.png

第二步:添加节数据

image.png

第三步:文件头中节个数加1

image.png

第四步:修正PE在内存中总大小

image.png

拓展节

第一步添加节数据

image.png

第二步修正最后一个节的文件和内存大小

image.png

第三步修正PE在内存中总大小

image.png

导入表注入

第一步增加节

image.png

第二步拷贝源导入表

image.png

第三步导入表添加一项

image.png

第四步数据目录中导入表地址指向新节的导入表

image.png

本帖被以下淘专辑推荐:

0

主题

120

回帖

58

积分

新手上路

积分
58
发表于 7 天前 | 显示全部楼层
学习一下!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|断点社区 |网站地图

GMT+8, 2025-3-12 23:38 , Processed in 0.100784 second(s), 21 queries , Yac On.

Powered by XiunoBBS

Copyright © 2001-2025, 断点社区.

快速回复 返回顶部 返回列表