精华内容
下载资源
问答
  • 无盘工作站原理分析

    千次阅读 2017-02-26 16:32:04
    无盘系统就是用户使用的客户端机器没有硬盘 客户端向硬盘读写的内容均是通过网路从服务器获取 从而减少人力维护成本。而服务器更改配置和更新客户端的配置与硬盘中的内容,也只需要更改服务器上的镜像文件,提升维护...

    无盘系统就是用户使用的客户端机器没有硬盘 客户端向硬盘读写的内容均是通过网路从服务器获取 从而减少人力维护成本。而服务器更改配置和更新客户端的配置与硬盘中的内容,也只需要更改服务器上的镜像文件,提升维护效率。

    由于我没接触过无盘的具体底层开发 以下只是我对无盘的猜测理解

    1 无盘的启动

    有硬盘的客户机 从机器上电后,启动BIOS,开始BIOS自检。通过自检后,bios找到硬盘上的主引导记录MBR.

    MBR开始读取硬盘分区表DPT,找到活动分区,找到活动分区中的分区引导记录PBR,并且把控制权交给PBR.

    无盘的情况下,bios会启动PXE(Pre-boot eXecution Environmrnt 引导前执行环境),PXE会通过DHCP和TFTP下载NBP(Net Boot Programm网络引导程序)

    NBPhui HOOK INT13h将磁盘的读写重定向到网络上的磁盘服务器

    比如说客户端要求读取本地磁盘上的多少扇区上的某某内容,实际会被转化为网络请求,请求读取网络服务器上的某某磁盘文件上的某某扇区上的某某内容

     

    2 验证过程

    hook INT 13H后,客户端会通过UDP与服务器确认身份以及配置信息和磁盘镜像。根据不同客户端身份,服务器会提供不同的MBR和磁盘镜像

    客户机将服务器远端上的MBR下载到本地,开始执行,读取远端服务器上的硬盘镜像,读取硬盘分区表DPT,找到活动分区,找到活动分区中的分区引导记录PBR,并且把控制权交给PBR......和本机启动电脑流程基本一致。

    以上过程可以参考 winaoe 开源代码

     

    3 windows运行流程

    进入到windows运行流程时候,由于windows对磁盘的读写不再依靠INT 13H。而我们需要将对硬盘的读写转化成网络服务器上的硬盘镜像读写。所以我们至少需要hook 两个驱动网络和硬盘驱动。 而不同的客户机实际上网卡和硬盘是各种各样的,所以我们还需要hook注册表,以便针对不同的客户机加载不同的网卡驱动.

     

    展开全文
  • 特别是比如有的时候新安装的系统,一不小心插个U盘,努力全部白费了,真是让人欲哭泪啊。 U盘病毒,顾名思义,是通过U盘传播的病毒,是一种手段而不是目的。很多“著名“的病毒,比如熊猫烧香,都拥有通过U盘传播...
    由于现在U盘相当普及,导致了U盘病毒的泛滥。很多人对U盘病毒非常痛恨,但是却找不到一种较好的解决方案。特别是比如有的时候新安装的系统,一不小心插个U盘,努力全部白费了,真是让人欲哭无泪啊。
    U盘病毒,顾名思义,是通过U盘传播的病毒,是一种手段而不是目的。很多“著名“的病毒,比如熊猫烧香,都拥有通过U盘传播的能力。目前U盘病毒大致可以分为两类,一种是Autorun.inf型的,这也是大部分U盘病毒的类型。另外一种则是Autorun.inf+EXE全盘感染。这种类型的相当恶毒,因为它会感染U盘上的所有EXE可执行文件,只要执行这些EXE就会立即感染。
    不论是哪种,U盘病毒的核心机制就是AutoRun,相信很多人都知道从Win95开始,Windows系统就拥有一个自动播放的功能,可以为用户提供方便的自动安装的功能。但是Autorun还有一些鲜为人知的功能。Autorun可以将指定的项挂载到右边键菜单中,这样一旦用户双击打开设备,即激活病毒。
    下面是一个典型Autorun.inf的文件结构:
    [AutoRun]
    Open= Test.exe
    Shell\Open=打开(&O)
    Shell\Open\Command=Test.exe
    Shell\Open\Default=1
    Shell\Explore=资源管理器(&X)
    Shell\Explore\Command= Test.exe
     
     
    将此文件命名为Autorun.inf,然后置于任意一个盘(不论是硬盘还是U盘)根目录,一旦用户双击盘符,或者右键选择了“打开”或者“资源管理器”,则会执行Test.exe。这个过程是由 Windows Explorer完成的,Explorer会自动搜寻每个盘的根目录是否存在名为“Autorun.inf“的文件,一旦找到则加载进行相应处理。
    从程序角度来看,“Autorun.inf“这个字符串是被硬编码在Shell32.Dll中的,现在网上有种U盘病毒永久免疫器,就是通过修改Shell32.Dll里面的“Autorun.inf“字符串,使得Autorun失效。这种方法可能会影响系统稳定性,故不推荐。
    知道了原理,就可以很快知道应对策略了。即防止病毒建立Autorun.inf。特别是对于硬盘的NTFS分区,我们可以采用权限机制来禁止Autorun.inf,即建立一个同名的文件夹,然后将其权限设为禁止更改删除即可。
    对于非NTFS的盘,则也可以建立同名文件夹,然后再在此文件夹中建立一个不可删除的目录,方法如下,打开cmd,切换到建立的Autorun.inf文件夹下,然后 输入md xxxx..\ 即可建立一个特殊的文件夹,这个文件夹不可通过一般方式删除。这样病毒由于无法建立Autorun.inf而失效了。目前有的新型病毒可以自动识别这种方式,故此方法也不是总是有效地。
    最有效的方法是修改注册表,禁止Autorun.info的挂载。打开注册表编辑器,切换到HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\CurrentVersion\\Explorer\\MountPoints2,右键双击此项,然后点击权限,在弹出的对话框中点击高级,选中包含父权限的复选框,确定后即可更改权限了,将相应用户的权限设为只读即可。一旦操作完成,则Autorun.inf彻底无法起作用了。
    U盘病毒只能在Windows XPWindows Server 2003上有效,因而大家可以尽快升级到Windows 7,永远避免U盘病毒的骚扰了。
    为了方便清除感染了U盘病毒的盘,我写了一个小程序,程序使用VC9.0开发。它可以自动识别并清除此类病毒。每次插上u盘之后运行一下即可。操作非常方便。源代码公开,需要的人可以自行更改。

    附件:http://down.51cto.com/data/2355591










    本文转自 kevx 51CTO博客,原文链接:http://blog.51cto.com/spinlock/300801,如需转载请自行联系原作者
    展开全文
  • 无盘工作站启动原理

    2015-04-10 12:52:51
    无盘启动的工作原理 说起原理,许多人不齿的,但为了照顾刚进门的兄弟姐妹,或者说:满足想仿效***那样分析网络问题的计算机爱好者,还是讲一点,因为对于想成为***的人讲,这一步是必须走的。 一部机器通过网络...
    无盘启动的工作原理 
      
    说起原理,许多人不齿的,但为了照顾刚进门的兄弟姐妹,或者说:满足想仿效***那样分析网络问题的计算机爱好者,还是讲一点,因为对于想成为***的人讲,这一步是必须走的。
    
    一部机器通过网络启动,它必须得到这些信息:
    
    一个identity;(有许多client同时启动,每台都有唯一识别号,不然,这台机器在网络中就没有身份。)
    
    某个操作系统的映像文件;(把操作系统引导(boot)下来。)
    
    可以操作的文件系统。
    
    下面,按工作站引导过程说明它的原理:
    
    当客户机启动后,其网卡上的BootRom 会广播一个FIND帧,说白了,那是一个引导请求帧,该帧中包含有客户机的网卡号,就是MAC地址:00E09C410021这样的东西。
    
    server端远程启动服务收到客户机广播的FIND帧后,根据帧中所带的网卡ID号,检查远程启动数据库中是否有该卡号的配置记录:如果不存在这个记录,引导过程不能继续;如果此工作站的记录已经存在,远程启动服务发送一个FOUND帧,同样,这个帧中包含了服务器的网卡ID,也就是server端的MAC地址,然后就调用BOOTP(bootprotocol)或者DHCP(Dynamic Host Configuration Protocol ),这个DHCP其实是BOOTP的进化,所以,假如不考虑其他的规定,我认为能适用于BOOTP的一定能适用于DHCP,它们都是处理以太网的地址。
    
    工作站收到第一个响应后(这样说,是假如网络上有不止一台的sever在运行远程启动服务,工作站只对收到的第一个FOUND帧有响应,并且,这个响应包括:分配给工作站端的机器名字、IP地址、服务器端的IP地址、以及启动时的映像文件等。),则发送一个SEND.FILE.REQUESTFrame给第一个响应的远程启动服务器,以请求传送启动所需的文件。
    
    当远程启动服务器收到SEND.FILE.REQUESTFrame的要求后,会根据其远程启动数据库中的工作站记录查找对应的启动块,就是bootblock,将工作站所需的启动文件传送给工作站(就是启动所要的那个映像文件),(说白了,给工作站一个FILE.DAT.RESPONSE帧,这个帧包含了工作站启动所需的启动块)。
    
    工作站接收到完整的启动文件后,就开始执行文件中的启动程序,将执行点转向启动块的入口,启动工作站,这时,又要用到另外一个internet协议:TFTP( Trivial File Transfer Protocol )。接着是不同的OS有不同的引导方式了,接下来,该是我向你讨教的了。
    
    有必要补充解释一下TFTP协议。你用过FTP协议的话,很好理解它:FTP不是有mget、mput吗?可以上传下传文件,OK,TFTP协议是可以理解为FTP的下传部分,是FTP的cut-down版本,它使用了UDP(User Datagram Protocol )代替TCP(TransmissionControl Protocol),这是因为client端的bootrom很小,32k或16k,由于UDP是块导向的,而TCP是流导向的,所以我们无盘启动用了TFTP,一块一块地传,直到文件传完。其间,它们要握手的,怕包的丢失。整个启动映像文件传输完毕后,在入口处,bootrom的控制权就交给操作系统的启动映像文件了。


    转载于:https://blog.51cto.com/panruiyan/1630843

    展开全文
  • 无盘系统启动的工作原理 发表时间:2010-04-19 12:25:31 来源:湖南网吧联盟 浏览:62次 评论:0条 说起原理,许多人不齿的,但为了照顾刚进门的兄弟姐妹,或者说:满足想仿效***那样分析网络问题的计算机爱好者,...

    无盘系统启动的工作原理
    发表时间:2010-04-19 12:25:31 来源:湖南网吧联盟 浏览:62次 评论:0条

    说起原理,许多人不齿的,但为了照顾刚进门的兄弟姐妹,或者说:满足想仿效***那样分析网络问题的计算机爱好者,还是讲一点,因为对于想成为***的人讲,这一步是必须走的。

    一部机器通过网络启动,它必须得到这些信息:

    一个identity;(有许多client同时启动,每台都有唯一识别号,不然,这台机器在网络中就没有身份。)

    某个操作系统的映像文件;(把操作系统引导(boot)下来。)

    可以操作的文件系统。

    下面,按工作站引导过程说明它的原理:

    当客户机启动后,其网卡上的BootRom 会广播一个FIND帧,说白了,那是一个引导请求帧,该帧中包含有客户机的网卡号,就是MAC地址:00E09C410021这样的东西。

    server端远程启动服务收到客户机广播的FIND帧后,根据帧中所带的网卡ID号,检查远程启动数据库中是否有该卡号的配置记录:如果不存在这个记录,引导过程不能继续;如果此工作站的记录已经存在,远程启动服务发送一个FOUND帧,同样,这个帧中包含了服务器的网卡ID,也就是server 端的MAC地址,然后就调用BOOTP(bootprotocol)或者DHCP(Dynamic Host Configuration Protocol ),这个DHCP其实是BOOTP的进化,所以,假如不考虑其他的规定,我认为能适用于BOOTP的一定能适用于DHCP,它们都是处理以太网的地址。

    工作站收到第一个响应后(这样说,是假如网络上有不止一台的sever在运行远程启动服务,工作站只对收到的第一个FOUND帧有响应,并且,这个响应包括:分配给工作站端的机器名字、IP地址、服务器端的IP地址、以及启动时的映像文件等。),则发送一个 SEND.FILE.REQUESTFrame给第一个响应的远程启动服务器,以请求传送启动所需的文件。

    当远程启动服务器收到SEND.FILE.REQUESTFrame的要求后,会根据其远程启动数据库中的工作站记录查找对应的启动块,就是 bootblock,将工作站所需的启动文件传送给工作站(就是启动所要的那个映像文件),(说白了,给工作站一个FILE.DAT.RESPONSE 帧,这个帧包含了工作站启动所需的启动块)。

    工作站接收到完整的启动文件后,就开始执行文件中的启动程序,将执行点转向启动块的入口,启动工作站,这时,又要用到另外一个internet协议:TFTP( Trivial File Transfer Protocol )。接着是不同的OS有不同的引导方式了,接下来,该是我向你讨教的了。

    有必要补充解释一下TFTP协议。你用过FTP协议的话,很好理解它:FTP不是有mget、mput吗?可以上传下传文件,OK,TFTP协议是可以理解为FTP的下传部分,是FTP的cut-down版本,它使用了UDP(User Datagram Protocol )代替TCP(TransmissionControl Protocol),这是因为client端的bootrom很小,32k或16k,由于UDP是块导向的,而TCP是流导向的,所以我们无盘启动用了 TFTP,一块一块地传,直到文件传完。其间,它们要握手的,怕包的丢失。整个启动映像文件传输完毕后,在入口处,bootrom的控制权就交给操作系统的启动映像文件了。

    转载于:https://blog.51cto.com/1827495/469077

    展开全文
  • 说起原理,许多人不齿的,但为了照顾刚进门的兄弟姐妹,或者说:满足想仿效黑客那样分析网络问题的计算机爱好者,还是讲一点,因为对于想成为黑客的人讲,这一步是必须走的。一部机器通过网络启动,它必须得到这些...
  • 符号数的词法分析程序 要求: 从键盘上输入一串字符(包括字母、数字等),最后以“;”结束,编写程 序识别出其中的符号数。 符号数文法规则可定义如下: <符号数>→<符号实数>│<符号...
  • ANR全称:Application Not Responding,也就是应用程序响应。 1.2 原因 Android系统中,ActivityManagerService(简称AMS)和WindowManagerService(简称WMS)会检测App的响应时间,如果App在特定时间无法响应屏幕...
  • ANR全称:Application Not Responding,也就是应用程序响应。 1.2 原因 Android系统中,ActivityManagerService(简称AMS)和WindowManagerService(简称WMS)会检测App的响应时间,如果App在特定时间无法相应屏幕触摸...
  • ANR全称:Application Not Responding,也就是应用程序响应。 1.2 原因 Android系统中,ActivityManagerService(简称AMS)和WindowManagerService(简称WMS)会检测App的响应时间,如果App在特定时间无法相应屏幕触摸...
  • 设计并实现一个包含预处理功能的词法分析程序,加深对编译中词法分析过程的理解。 二、 实验要求 1、实现预处理功能 源程序中可能包含有对程序执行意义的符号,要求将其剔除。 首先编制一个源程序的输入过程,从...
  • 源程序中可能包含有对程序执行意义的符号,要求将其剔除。 首先编制一个源程序的输入过程,从键盘、文件或文本框输入若干行语句,依次存入输入缓冲区(字符型数据);然后编制一个预处理子程序,去掉输入串中的...
  • 源程序中可能包含有对程序执行意义的符号,要求将其剔除。 首先编制一个源程序的输入过程,从键盘、文件或文本框输入若干行语句,依次存入输入缓冲区(字符型数据);然后编制一个预处理子程序,去掉输入串中的...
  • 免杀原理

    2016-12-29 22:40:00
    1.基于文件扫描 字符串扫描,正则表达式匹配扫描 智能扫描:忽略nop意义指令,脚本病毒和宏病毒通过替换多余格式字符如空格,换行 多套特征码和校验和, hash函数计算 骨架扫描:对脚本和宏病毒,去掉多余字符后分析代码...
  • OTN原理、发展白皮书

    2012-05-09 13:24:34
    电层面的交叉调度相当于将传统波分的OUT单元拆成三个单元,业务侧为业务处理单元,波分侧为线路单元,中间为交叉单元。 华为OptiX OSN 8800和OptiX OSN 6800系统按功能单元细分为14 种单 光波长转换类...
  • 数据库原理(第5版)

    千次下载 热门讨论 2011-11-08 13:41:53
    这种方法不仅简化了规范化任务,而且使规范化原理更易于理解,因此当前版本仍沿用了这一方法。教师如需更多了解范式,可参考第5章中介绍的大多数范式的简短定义。 本书概要 本书包括8章和5个附录(附录内容包含在本书...
  • 事务处理原理 第2版

    热门讨论 2012-12-30 10:49:38
     ·设计要部署在事务处理系统上的应用程序的应用程序分析员。  ·相关领域(例如,数据库系统、操作系统和通信领域)的产品开发人员。  ·负责系统和应用程序产品的市场营销和技术支持工程师。  ·要了解该主题...
  • 洗衣机控制模拟系统设计1 设计题目及要求1.1 设计题目1.2设计要求2 方案分析与设计2.1 需求分析2.1.1 角色分析2.1.2 用例分析2.1.2.1 开机用例2.1.2.2 关机用例2.1.2.3 注水用例2.1.2.4 洗涤用例2.1.2.5 甩干用例2.1...
  • Android 上百实例源码分析以及开源分析 集合打包4

    千次下载 热门讨论 2012-07-10 21:54:03
    下面来进行分析吧,分析只是针对源码,其它的不涉及。 本项目共25个目标文件。 ContactListActivity 程序的启动页,内部含有控制地图以及Jade连接等操作,方法onConnected 是JadeGateWay里面的回调方法。 ...
  • 原理篇以分析源码为特色,深入浅出地介绍RTOS的基本概念以及Small RTOS51的工作原理。 应用篇以DP-51单片综合仿真实验仪为硬件平台,通过对单片机常用和热门外围器件实用驱动程序的分析,详细介绍基于Small RTOS51的...
  • 运用新奥法原理提出了顶板采用预应力锚杆+钢拱架、两帮及底板采用左旋纵肋螺纹钢等强锚杆+木(金属)托盘及顶底角采用注浆锚杆的支护方法 ,从巷道支护后塑性区及关键部位位移沉降曲线和现场顶板离层数据分析了支护...
  • 基础篇 1、 算法有哪些特点?它有哪些特征?它和程序的主要区别是什么? 2、 算法的时间复杂度指的...请编一个程序,为骑士求解巡游“路线图”(或告诉骑士,从某位置出发时,无法遍访整个棋盘 — 问题解骑士巡游)。
  • 本书以仿真应用为中心,系统、详细地讲述了过程控制系统的仿真,并结合MATLAB/Simulink仿真工具的应用,通过大量经典的仿真实例,全面讲述过程控制系统的结构、原理、设计和参数整定等知识。 全书分为基础篇、实战...
  • 一、目的和要求(需求分析): 1、掌握邻接表的存储结构以及邻接表的建立和操作。 2、 构造一个向图的邻接表,要求从键盘输入图的顶点数和图的边数,并显示所构造的邻接表) 基本要求:1. 构造一个向图的邻接表 ...
  • 一、目的和要求(需求分析): 1、掌握邻接表的存储结构以及邻接表的建立和操作。 2、 构造一个向图的邻接表,要求从键盘输入图的顶点数和图的边数,并显示所构造的邻接表) 实验拓展:1. 构建有向图的邻接表 2. ...
  • 代码语法错误分析工具pclint8.0

    热门讨论 2010-06-29 07:00:09
    基本原理是一样的: 1)选取 menu | tools | customize..... 2)选取 Tools Tab: 3)点按主对话框上方的虚线小方框 New a tool item 4)输入 name: PC-LINT 5)输入 Command: c:\lint\lint-nt.exe 6)...
  • 第1章 J2ME概论.............................................................................................................................3 1.1 本章目的..................................................

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 126
精华内容 50
关键字:

无盘原理分析