-
-
[求助]关于windows8数字签名修改
-
发表于:
2013-7-9 12:48
13753
-
大家好
前段时间我购买了一台surface rt,安装的是windows 8 arm版本系统windows rt.这个系统只能运行商店里的程序,无法运行传统的win32程序,后来经过研究,一个叫clrokr的人指出,在windows 8上,系统会检查所有可执行镜像的数字签名:Unsigned(0), Authenticode(4), Microsoft(8), Windows(12)。在windows rt上面默认是8,也就是说只能运行微软签名的程序,而在x86上是0,就是可以运行全部程序。这个数字是硬编码在ci.dll里面,后来clrokr通过在内存中修改g_ciOptions这个值,成功在windows rt上运行第三方程序。这个方法其实跟在内存中修改64位驱动签名加载类似。
现在我有这么一个想法,以前在64位win7上出过一个内核patch,通过patch过的内核启动就可以加载64位的驱动,而不必设置bcd启动测试模式。现在有没有高手能帮忙修改一下内核,使x86的windows8只能运行微软签名的程序,即把g_ciOptions这个值改成8,这样就可以启动到一个只能运行微软程序的特殊“安全模式”用来杀毒或者日常使用而不必担心恶意程序破坏。事实上,windows8内置的applocker可以达到类似效果,但没有以上方法可靠。更进一步,可以改造这个内置的功能,使其只能运行可信赖签名的程序,变成一个可靠的程序防火墙
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)