Rinrin 的个人资料永远的羁绊照片日志列表更多 ![]() | 帮助 |
|
|
2月5日 Dirac 基于小波变换的编码本人当一回白鼠。
1. rawvideo转换
mencoder stream.xxx -of rawvideo -o test.yuv -ovc raw -vf format=i420
2. rawvideo播放
mplayer -demuxer rawvideo -rawvideo w=640:h=480:format=i420 test.yuv
3. dirac编码
EncodeDirac.exe -cformat YUV420P -fr 30 -width 640 -height 480 -mv_prec 1/8 -qf 7 test.yuv test.drc
用它的Decoder播放起来忒耗CPU,明天测试其他参数。 10月19日 已知驱动服务名,修改网络连接名称set DRV_NAME=tap0901 set NET_NAME=tap for /f "tokens=3" %%i in ('reg query HKLM\System\CurrentControlSet\Services\%DRV_NAME%\Enum /v 0 ^| findstr REG_SZ') do set NET_ENUM=%%i for /f "tokens=3" %%i in ('reg query HKLM\System\CurrentControlSet\Enum\%NET_ENUM% /v Driver ^| findstr REG_SZ') do set DRV_CLSID=%%i for /f "tokens=3" %%i in ('reg query HKLM\System\CurrentControlSet\Control\Class\%DRV_CLSID% /v NetCfgInstanceId ^| findstr REG_SZ') do set CFG_CLSID=%%i reg add HKLM\System\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\%CFG_CLSID%\Connection /v Name /d %NET_NAME% /f 5月19日 如何制作Simsun.pcf如何制作Simsun.pcf Requirements: Simsun.ttc是个Fontpack,其中有宋体和新宋体两种字体。 =End Of File= 2月7日 Enable XP style UI in Windows Server 2003第一步:破解msgina.dll
简单讲一下调用流程。Winlogon加载默认gina(即msgina.dll),创建服务进程和一些线程后然后进入MainLoop()。
MainLoop()中调用ShellStatusHostBegin(),接下来
ShellStatusHostBegin->Shell_LogonStatus_Init->CSystemSettings::IsFriendlyUIActive->CSystemSettings::IsWorkStationProduct
只需要修改CSystemSettings::IsWorkStationProduct()返回非负即可。
第二步:添加/修改注册表项
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
LogonType reg_dword:1
UIHost reg_sz:(改成你喜欢的ui)
enjoy it. 10月27日 Windows网络安装简介作者:Rinrin
顾名思义,Windows网络安装表示从局域网内部引导Windows安装,核心技术基于微软的RIS(Remote Installation Services)。RIS有一个缺点,即需要在域环境下才能配置运行RIS。不过这个限制已经被国外的高手破解了,现在可以从任何一台Windows(甚至是Linux)机器上配置网络安装所需要的服务。本文将简单说明实现Windows网络安装的技术要点。
实现Windows网络安装需要四个服务:BOOTP,TFTP,BINL,Windows Share. 其中BOOTP和TFTP是实现PXE启动的基础,关于PXE启动的详细信息,可以参考本文后的引用2。
BINL服务,微软称之为启动信息协商层(Boot Information Negotiation Layer),其作用是网卡查询、身份验证、启动镜像选择等功能。实现Windows网络安装只需要其中一项功能,即网卡查询。Sherpya逆向分析了BINL协议,并写了一个开源的Binl服务程序。要了解详细信息,可以参考本文后的引用1。 Windows共享服务提供了安装文件的来源,并且在文本模式安装阶段作为启动分区(Boot Partition),因此也是必不可少的。 Windows网络安装的大致步骤如下:
1. 目标计算机从网卡PXE Boot ROM启动(当然,你也可以用PXELinux或PXEGrub来实现类似的启动功能)。 2. 目标计算机从DHCP/BOOTP服务器获得网络地址,并获得TFTP服务器的IP地址和启动文件信息。 3. 目标计算机向TFTP服务器获得启动文件startrom.com/startrom.n12 4. startrom.com获取ntldr(由setupldr.exe改名而来),并将控制权传递给它。 5. setupldr.exe获取ntdetect.com和winnt.sif,winnt.sif应该包含启动相关信息。 从这个时候起,有两种启动方法,即ramdisk和网络启动,对于Ramdisk,启动分区为\Device\Ramdisk{xxxx...},你可以参考本文后的引用2。对于网络启动,你需要在winnt.sif中设定SetupSourceDevice参数。 6. setupldr.exe通过ntdetect.com获得网卡的Vendor ID和Device ID, 并将它发送到Binl服务端口(4011)。 7. Binl服务查找“数据库”,获得需要加载的驱动名称和服务名,返回给setupldr.exe 8. Setupldr.exe按照正常顺序加载驱动,不过在最后,它会试着去加载前面给出网卡驱动和网络设备相关驱动,你可以从TFTP服务器的log里看到这些。有意思的是,txtsetup.sif并没有网络设备相关驱动的信息,我想可能是直接写在setupldr.exe里了。 9. 控制权移交给kernel,kernel会试着去mount启动分区,要注意的是,你建好的共享必须提供匿名访问,否则会停住不动。 10. 开始文本模式安装,setupdd复制文件到硬盘。完成后重新启动。 11. 开始GUI阶段安装,要注意的是,之前应该在Winnt.sif中指定OriSrc和OriTyp,至于是不是必须的,我不好说,因为并没有试验过。 12. 安装结束。实际上,你可以在winnt.sif中加入相关信息,以便实现无人值守安装。 接下来,看一个实际的例子:
1. 准备好DHCP/TFTP服务器,可以用tftpd32,也可以用性能较好的haneWin,看你的选择了。 2. 设定好DHCP/TFTP服务器,指定TFTP根目录和启动文件名(startrom.n12或其他)。 3. TFTP目录结构如下: TFTP │ ntdetect.com │ ntldr │ startrom.n12 │ winnt.sif │ └─boot └─I386 其中ntldr由setupldr.exe改名而来,I386目录可以直接从安装光盘中复制。 4. winnt.sif内容如下: [Data] floppyless = "1" msdosinitiated = "1" OriSrc = "\\Angel\TFTP\boot\i386" OriTyp = "4" LocalSourceOnCD = 1 DisableAdminAccountOnDomainJoin = 1 [SetupData] OsLoadOptions = "/fastdetect" SetupSourceDevice = "\Device\LanmanRedirector\Angel\TFTP\boot" [UserData] ComputerName = * Angel为当前计算机主机名,TFTP为共享名。
5. 编译Binl服务程序binlsrv.c,可以在本文后的引用1找到。如果你装了VC,可以用cl binlsrv.c ws2_32.lib来编译。 6. 编写文件nics.txt,和binlsrv.exe放在同一目录下: 1022 2000 vmxnet.sys vmxnet 1186 1300 RTL8139.sys rtl8139 从左到右分别为PCI Vendor ID, Device ID, 驱动名, 服务名 7. 把网卡驱动(如vmxnet.sys,RTL8139.sys)放到TFTP\boot\I386目录下 8. 将TFTP目录共享,注意匿名访问。如何设置就不说了,网络上有很多文章,重点是启用Guest、允许网络访问、允许空会话、NTFS权限等等,完了别忘了重启一下Server服务。 9. 启动目标计算机,开始网络安装! 后记:
Windows网络安装并不复杂,国外的高手几年前就开始研究了。希望大家能多到Boot land, 911CD这样的论坛逛一逛,开阔眼界吧。 引用: 1. Sherpya. RIS for Linux, http://oss.netfarm.it/guides/ 2. Climbing. PXE服务器架设指南及PXE启动WinPE(含PE2.0)解决方案总结, http://www.znpc.net/bbs/viewthread.php?tid=3662&extra=page%3D1 2月24日 在Visual Studio 2005和VC++版本8开发环境中使用yasm大意实际上是这样:
把yasm.exe放到Program Files\Microsoft Visual Studio 8\VC\bin下,把yasm.rules放到Program Files\Microsoft Visual Studio 8\VC\VCProjectDefaults下,然后自定义生成规则即可,这一点玩过VS 2005的都应该知道。。。 文章最后提到了链接器的bug:当链接器产生dll文件时,无法识别指示绝对地址的符号。 本文后附带了一个中文的yasm.rules :) begin-base64 644 yasm.zip UEsDBBQAAgAIAMRzWDYWU/b9sQMAAAgNAAAKAAAAeWFzbS5ydWxlc71XW08T QRR+ron/YbMxREyg+EZkV6MUExIvjSDRIA/T7bSM2UvdnQH65qVa8BKbqCia eA/1SjUmgoL6Z7rb8sRfcGZnd9niLlalPu2Zc86cM993Zs/MbKz+kA7NaKow BU0LGbos7u/tEwWoK0YW6XlZJDjX0y8eOrh7lzSGLALUEUyyyBg1DPUoUuHu XYkTQIOyeBZYmkhHY36c/t6+PqagMxPSKaJCi0kJaZBY2NCOEKRmmZbp/BCH R46L7jiFrIIKipuRnY/lxtq8vfCK2wcNTQN69hjSqb1I7ULPmSlF6MkJe/am VYBzhqmxyd3CeNqEadNQJqgETAuaVEjBDMnT7zFkYYaBebrqHI1nUem0vikP 64pKsjAN8CQbnsych0p4FtILBFsTfF0nCWYjWRzfs8WR29lwaAZDnVFE3fb1 eqwlEkMzUCGYqlPQUkxUwC6JHDdFNczS+NG6+RSXz4RE4RWgiZFHMNWMYJPW ztMXudLj2AMmesoWop3lVfv6U3vpYf3LnO/gB0mDPORe9spKs1ry7YMAw7xh FmVx/XmJT228W7RvLwcZWuDcLFOfTc+HJe68sTZrL17uAgXDGrCKWsZQuezM zoeVgixMAZVArttYC1Y5Mo2wMimLPSlh3PWY2EyvIg1hmJVFbBLoq4f1SWgi DDIqbDEk26AwvCMieVxfKDEeb161K2+byzX7e+kv2Lx6q/FtaTsSQ0mc+XJ9 9TNlszVbwAoSui4QAw943PBBBxkK/p9IehrV1fWFl53cZjxDjGfACvkPe6W1 C0TT8WjJeVrmJbQrtxrVD39OSvP7Hbv8dZvdEp8koMPYfpPkAFHxGDPJIrex poRTyOw+57UntzX1GpnzLXPboSnciSNJsmfvN5+96jBJ8UkCktRtSGoHKD2N vPbB4EZ3D7ptQ391J1pHdIYAZLodkEfoBQACPeaQoQdsJLj612rj7pPmhyvN 2r36j2fOpdrO1vFBza4sxicJIOYFZap/K6QhnWhxVWN3iNhyvSw1KteCy8kO 1Wr94pxz43V95WJ95U04yV5++un05sAlgZ6SAhdNMM2Fbj+khy0hub+uf0Pw wLo6X5Pwfu4+MdAEdJl6cE/5hQBmEgJbso0M+6My0KXHJAhbgvBSsgWQlAwX 7/cFda+CkfVsVl84jyudLGaQgfVPqDZr751P9w5EVvXwaBfQCgOjLT55YHWk yIXfFPmfa1ygK4+JH7b8SY2l5Jbbr5Tc8r5wnx9J//1BQ0Y8YqjhJ1BLAQIU ABQAAgAIAMRzWDYWU/b9sQMAAAgNAAAKAAAAAAAAAAAAIAAAAAAAAAB5YXNt LnJ1bGVzUEsFBgAAAAABAAEAOAAAANkDAAAAAA== ==== 10月2日 BOOT.INI可选参数----====|BOOT.INI可选参数|====----
作者:Rinrin
注意:如要引用此文档请注明作者 2006.10.15 增加了/RDCLIENTPORT
2005.8.15 初始版本
----====|[1]简介|====----
Boot.ini是用于NTLDR的配置文件,系统启动时,NTLDR读取Boot.ini,并进行解释.通常Boot.ini的内容
如下: +-----------------------------------------------------------------------------+ | [boot loader] | | timeout=30 | | default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS | | [operating systems] | | multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows" /fastdetect | +-----------------------------------------------------------------------------+ 位于引号之后的就是可选参数.NTLDR对可选参数有两种处理情况: 1.链式装载进行多重启动时,可选参数直接被丢弃 2.引导NT系列操作系统时,可选参数被复制出来,启动信息块结构中的某个指针将指向可选参数字符串 这个指针将会传给执行体,然后传给会话管理器.最后记录在如下注册表项中: +-------------------------------------------------------------------- ---+ | HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control SystemStartOptions | +------------------------------------------------------------------------+ 由此可见:可选参数实际上可以是任意的,只不过系统可以识别的参数是有限的. ----====|[2]主体|====----
下面就是目前发现的可接受的可选参数,如果有新的参数这里没有列出的话,欢迎给我来信
(Rinrin _at_ tju.edu.cn). /3GB
将用户地址空间从2GB增加到3GB.提高大型数据库及应用程序性能.只适用于NT4 企业版,2000高级服务器版, 2000数据中心服务器版,XP以上版本Windows. /BASEVIDEO
只加载标准显示器驱动(vga.sys) /BAUDRATE=
指定调试模式时的波特率,默认为19200.(例如/BAUDRATE=115200) /BOOTLOG
日志模式.Windows将生成启动日志%SystemRoot%/Ntbtlog.txt /BOOTLOGO
显示背景图片,必须是640x480x4的bmp文件,文件名为Boot.bmp并放置于Windows目录下.这个参数必须与 /NOGUIBOOT联合使用,操作系统必须为XP以上. /BREAK
HAL初始化时停止在断点处.如果不和/DEBUG一起使用,则会发生蓝屏(0x00000078 PHASE0_ EXCEPTION) /BURNMEMORY=
指定不可使用的内存大小,单位为MB.与/MAXMEM=类似. /CHANNEL=
当指定/DEBUGPORT=1394时,此参数选定调试用的通道.取值范围为0-62,默认为0. /CLKLVL
指定此参数后,x86多处理器HAL(Halmps.dll)将会把系统时钟设置为电平触发方式而不是边缘触发. /CMDCONS 当启动恢复控制台时应传递此参数,并且只能有这一个参数. /CRASHDEBUG
进入调试模式,但当出现蓝屏时才激活. /DEBUG
进入调试模式. /DEBUGPORT=
指定调试端口.例如/DEBUGPORT=COM2,/DEBUGPORT=1394. /DEBUGSTOP
启动文本安装模式的调试.只用于setupldr.bin(使用调试版以达到最好的效果).该调试模式被称为 Boot Debug,早于Kernel Debug.可以在WINNT.SIF或TXTSETUP.SIF中指定此参数. /DETECTHAL
用于Windows Vista中,将自动检测HAL的类型. /EXECUTE
禁止数据执行保护功能.适用版本XP SP2,2003SP1. /FASTDETECT
NTDETECT不检测串行口和并行口上的设备.加快启动速度.适用版本2000以上.NT4则使用/NOSERIALMICE 参数. /INTAFFINITY
使用此参数后x86多处理器HAL(Halmps.dll)将只允许编号最大的处理器收到中断请求. /KERNEL=
/HAL= 指定内核镜像(NTOSKRNL.EXE)和HAL(HAL.DLL)的位置.NTLDR将加载你指定的Kernel和Hal而忽略默认的. /LASTKNOWNGOOD
使用最后一次正确配置. /MAXMEM=
可以使用的内存数,单位为MB.可以使用的内存是从头开始的,和 /BURNMEMORY= 不同,/MAXMEM=不考虑 内存空洞问题. /MAXPROCSPERCLUSTER=
x86多处理器HAL(Halmps.dll)将强制APIC使用簇模式寻址. /MININT
适用于Windows PE.使用此参数后,配置管理器(CM)将以只读模式装载注册表分支(Hive)SYSTEM,所有的 改变只保留于内存中. /NODEBUG
不进入调试模式.可以覆盖/DEBUG,/DEBUGPORT,/BAUDRATE和/DEBUGSTOP等参数. /NOEXECUTE=
指定数据执行保护(DEP)的类型.只适用于32位系统,64位系统的DEP总是打开.有以下几种类型: /NOEXECUTE=OPTIN 针对系统核心和指定的映像文件打开DEP功能. /NOEXECUTE=OPTOUT 针对指定的映像文件以外的打开DEP功能. /NOEXECUTE=ALWAYSON 总是打开DEP功能. /NOEXECUTE=ALWAYSOFF 关闭DEP,同/EXECUTE. /NOGUIBOOT
不显示启动背景图片. /NOLOWMEM
不使用开头的4G内存.此参数必须和/PAE一起使用,系统必须有4G以上的物理内存,支持PAE的内核 (Ntkrnlpa.exe)必须被启用.此参数主要用于测试设备驱动程序对大内存系统的兼容性. /NOPAE
不装载支持PAE的内核映像. /NOSERIALMICE=[COMx | COMx,y,z...]
用于NT4的过时参数.可以用/FASTDETECT代替. /NUMPROC=
在多处理器系统中指定可用的处理器个数. /ONECPU
在多处理器系统中只使用一个CPU. /PAE
启用PAE.NTLDR将会加载Ntkrnlpa.exe. /PCILOCK
系统将不自动为PCI设备分配IO和IRQ资源.所有的资源由BIOS分配. /RDCLIENTPORT=
用于自动部署服务(ADS),客户机将使用指定端口来连接到服务器。
/RDEXPORTASCD
当使用ISO文件作为RAMDISK镜像时,必须指定此参数.否则会发生Unmountable_Boot_Volume错误. /RDPATH=
指定SDI映像文件位置.可以使用ARC路径,如果使用PXE技术启动系统的话,SDI文件可以在TFTP服务器上. 对于Windows Server 2003 SP1,还可以使用光盘镜像(ISO文件),不过必须和/RDEXPORTASCD一起使用. /RDIMAGEOFFSET=
SDI文件中磁盘镜像的起始偏移.通常为4096.使用SDI文件启动必须指定此参数. /REDIRECT
将紧急管理服务(EMS)的输入输出重定向至串行口.可以在[boot loader]小节中指定redirect=和 redirectbaudrate=参数. /SAFEBOOT:
以安全模式启动系统.系统将只装载HKLM\SYSTEM\CurrentControlSet\Control\SafeBoot下指定的 驱动和服务.有以下三种类型: /SAFEBOOT:MINIMAL 普通的安全模式 /SAFEBOOT:NETWORK 带网络连接的安全模式 /SAFEBOOT:DSREPAIR 目录恢复模式 一个可选的附加参数为(ALTERNATESHELL),例如/SAFEBOOT:MINIMAL(ALTERNATESHELL) 使用此附加参数后,启动的Shell在如下注册表项中定义: HKLM\SYSTEM\CurrentControlSet\SafeBoot\AlternateShell /SCSIORDINAL:
指定scsi控制器的ID.防止因加入新的SCSI设备导致系统不能正常启动. /SDIBOOT=
适用于Windows XP Embedded中,用来指定加载的SDI文件位置.和/RDPATH=类似. /SOS
在启动时显示装载的驱动程序,系统版本号,物理内存大小和处理器个数. /TIMERES=
x86多处理器HAL(Halmps.dll)将设定系统时钟为指定的间隔数,单位为100ns.HAL支持以下几种: 9766 19532 39063 78125 默认为7.8ms(最后一个) /USENEWLOADER
用于Windows Vista中.Windows将使用新的启动方式即把控制权交给Winload.exe /USERVA=
类似于/3GB,指定用户地址空间大小,范围为2048-3072,单位为MB. /WIN95
链式装载Bootsect.w40并模拟Windows 9x的多重启动操作(如文件改名). /WIN95DOS
链式装载Bootsect.dos并模拟多重启动操作,类似于/WIN95. /YEAR=
使用指定的年份而不使用BIOS实时钟中的.曾被用来测试千年虫问题. ----====|[3]参考|====----
[1]Boot INI Options Reference http://www.sysinternals.com/Information/bootini.html ----====|End Of File|====---- |
|
|