|
本帖最后由 2010p212937 于 2016-11-30 09:12 编辑
写这贴子主要是想折腾win10的 IO RAMOS,想把自己对这种方式的理解写出来,看大家有没有更方便的做法,这个方案的原作者是本论坛的2012wuzhong。
大概的思路是这样的,
1,安装一个以X盘为系统盘的系统,装好P驱软件
1,用X盘上的系统文件制作一个本机驱动的PE(主要是用到本机的注册表和本机的硬件的驱动文件和P驱的驱动)
2,此PE用到的SDI(SDI其实是一个IMG文件),此SDI文件里有system32,Program Files (x86),Program Files的文件夹软连接到你的IO盘生成的R盘上的相对应的system32,Program Files (x86),Program Files文件夹(这个R盘就是你原系统C盘上的系统全部文件)
3,PE引导驱动时,会依次顺序用到,ramdisk.sysy fbwf.sys wimfsf.sys,但我们的做的PE故意去掉wimfsf.sys驱动,当PE引导到fbwf.sys驱动时,他完成的操作是释放到sdi的所有文件到X盘上,但是因为没有wimfsf.sys驱动,所以PE运行到这里就结束了,但windows系统引导到启动到用户桌面的过程包括各种进程,驱动已经完成,因为X盘上的所有操作都是软连接到IO模式R盘上的对应system32,Program Files (x86),Program Files等文件夹,所以此时系统的所有读写都是在IO盘上的。
现在聊聊系统引导过程和用户登录过程,主要是和smss文件和win32.sys有关,这两个文件在系统启动过程中会去调用system32里的相关文件,所以要用winhex 去修改他们的调用路径,因为只有当P驱的驱动加载时,R盘才会出现,当PE用ramdisk驱动,生成X盘时。他就可以去软连接R盘上的system32和原系统根目录的相关文件夹,当X盘和R盘都出现时,系统启动到SMSS,注册表初始化,加载win32子系统时,就不会出现找不到文件的错误,也就是蓝屏。
有不对的地方或者你有更好的方法请跟贴,谢谢
1,从系统引导过程和用户登录过程说起,大概是下面几方面(这部分是从看雪摘录过来的)
1. CPU 初始化
2. 驱动加载(BOOT、START、AUTO)
3. 系统线程创建
4. 各类进程创建顺序
之前部分内核部分已经初始化完成,下面进入创建第一个会话创建过程*(从这里开始相关--------------------------------------------)
*NewProcess:
+0x084 UniqueProcessId : 0x00000330 Void
+0x174 ImageFileName : [16] "autochk.exe" //磁盘检查进程
**Parent:
+0x084 UniqueProcessId : 0x00000310 Void
+0x174 ImageFileName : [16] "smss.exe"
//磁盘检查进程会加载驱动
*LoadDriver:
"\SystemRoot\System32\Drivers\Cdfs.SYS"
+0x000 Length : 0x4a
+0x002 MaximumLength : 0x4c
+0x004 Buffer : 0xe15a0980 "\SystemRoot\System32\Drivers\Cdfs.SYS"
*LoadDriver:
"\SystemRoot\System32\Drivers\diskdump.sys"
+0x000 Length : 0x52
+0x002 MaximumLength : 0x54
+0x004 Buffer : 0x805790ea "\SystemRoot\System32\Drivers\diskdump.sys"
*LoadDriver:
"\SystemRoot\System32\Drivers\vmscsi.sys"
+0x000 Length : 0x4e
+0x002 MaximumLength : 0x50
+0x004 Buffer : 0xe1695000 "\SystemRoot\System32\Drivers\vmscsi.sys"
//*加载并初始化注册表*
//*加载win32子系统*
*LoadDriver:
"\SystemRoot\System32\win32k.sys"
+0x000 Length : 0x3e
+0x002 MaximumLength : 0x3e
+0x004 Buffer : 0xe15c68b0 "\SystemRoot\System32\win32k.sys" //win32子系统内核模块
|
评分
-
查看全部评分
|