这两天研究在PE下加回双核 发现一个有趣问题
对于[hal]段,有:
[hal]
486c_up=hal.dll,2,hal.dll
acpipic_up=halacpi.dll,2,hal.dll
e_isa_up=hal.dll,2,hal.dll
mps_up=hal.dll,2,hal.dll
mps_mp=hal.dll,2,hal.dll
syspro_mp=hal.dll,2,hal.dll
acpiapic_up=halaacpi.dll,2,hal.dll
acpiapic_mp=hal.dll,2,hal.dll
理所当然的 系统会自动选择合适的hal.dll
但对于[SpecialFiles],有:
[SpecialFiles]
Multiprocessor=ntkrnlmp.exe,2,ntoskrnl.exe
Uniprocessor=ntoskrnl.exe,2
MPKrnlPa=ntkrpamp.exe,2,ntkrnlpa.exe
UPKrnlPa=ntkrnlpa.exe,2
很TNND的系统不会自动选择合适的ntoskrnl.exe 而是直接指向ntoskrnl.exe(ex_)
而诡异的是 靠修改setupldr.bin实现双sif
不行 还是老样子 始终指向ntoskrnl.ex_
好吧 在setupldr.bin中把ntoskrnl.exe也替换成ntkrnlmp.exe
这下牛B了 在双核机器上正常(认单核)
单核机器上死在please wait...那里
大家讨论下 有没办法自动识别ntoskrnl.exe |