首页
社区
课程
招聘
[求助]重载内核,HAL模块未加载
发表于: 2021-8-8 14:10 5995

[求助]重载内核,HAL模块未加载

2021-8-8 14:10
5995
1
最近在研究内核重载,看了sidyhe大大的文章受益匪浅。 不过在修复IAT表的过程中遇到一个问题,一直没有解决

1、
老内核中的代码

1
2
3
4
nt!ExDeferredFreePool+0x351:
84f719c1 8d4c242c        lea     ecx,[esp+2Ch]
84f719c5 ff154031e484    call    dword ptr [nt!_imp_KeReleaseInStackQueuedSpinLock (84e43140)]
84f719cb eb60            jmp     nt!ExDeferredFreePool+0x3bd (84f71a2d)

重载后的内核中

1
2
3
4
nt_a3200000!ExDeferredFreePool+0x351:
a332f9c1 8d4c242c        lea     ecx,[esp+2Ch]
a332f9c5 ff1540114000    call    dword ptr ds:[401140h]
a332f9cb eb60            jmp     nt_a3200000!ExDeferredFreePool+0x3bd (a332fa2d)

IAT表没有修复

 

2、开始着手修复IAT表,
由于IAT表在INT节中,初始化后就删除了,只能通过ZwQuerySystemInformation 的11号功能枚举系统内核,竟然没有找到hal.dll模块,ARK中也没有看到HAL模块加载

 

这。。。。。。在坛子里请教下各位老大


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 2153
活跃值: (740)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
2
PsLoadedModuleList里有吗? 最不济的话从原模块里取吧!
至于为什么没有还得仔细研究
加油
2021-8-8 14:46
0
雪    币: 14
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
3
应该是重定位问题,额,还在排查。谢谢您
2021-8-9 09:46
0
雪    币: 14
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
4
sidyhe PsLoadedModuleList里有吗? 最不济的话从原模块里取吧! 至于为什么没有还得仔细研究 加油

这个问题解决了,是我代码的问题,排查了很久


在计算 IMAGE_BASE_RELOCATION 结构的 TypeOffset[]  数组时出现错误


因为

typedef struct _IMAGE_BASE_RELOCATION {

    ULONG   VirtualAddress;

    ULONG   SizeOfBlock;

    USHORT  TypeOffset[1];

} IMAGE_BASE_RELOCATION;


故在计算TypeOffset成员的时候会造成漏项

u_offset_array_size = (pimage_base_relocation->SizeOfBlock - sizeof(IMAGE_BASE_RELOCATION) + 

                                    sizeof(pimage_base_relocation->TypeOffset)) / sizeof(USHORT);



所以要么在结构定义的时候注释掉TypeOffset成员,即

typedef struct _IMAGE_BASE_RELOCATION {

    ULONG   VirtualAddress;

    ULONG   SizeOfBlock;

    //USHORT  TypeOffset[1];

} IMAGE_BASE_RELOCATION;

或者干脆在计算的时候直接用

u_offset_array_size = (pimage_base_relocation->SizeOfBlock - 0x8)/0x2;


在此做个总结,记录下

2021-8-9 23:20
0
雪    币: 68
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
5
我就卡在了修复iat表,后面竟然想把相关dll在自己三环程序中,全部重载一份,发现文件被系统占用打不开,不然就没问题了
2021-10-4 21:11
0
雪    币: 68
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
6
你这貌似只是拉伸和修复重定位表,但没有修复iat表啊,我也是苦恼咋去找到几个dll,bootvid.dll,hal.dll
2021-10-4 22:40
0
游客
登录 | 注册 方可回帖
返回
//