10/19/2008

efs加密解密问题

如果某个用户把自己的登录帐户删除,那么其他用户将无法访问其EFS加密文件。更可恶的是,一旦公司里的某个用户心怀怨气,恶意加密了本属于别的用 户的重要文件,将会导致严重问题。一般情况下,这些EFS加密文件已经被判了死刑,但是实际上只要满足以下条件的话,我们还是可以在末日来临之前打开逃生 的天窗:

(1) 必须知道该被删帐户的密码。

(2) 该被删帐户的配置文件必须存在。如果使用“本地用户和组”管理单元删除帐户,则配置文件保留的机会很大,如果使用“用户帐户”控制面板删除帐户,则有一半 机会保留配置文件。如果配置文件不幸被删,则只能祈祷可以借助Easy Recovery之类的数据恢复工具进行恢复。

可能有些朋友会觉得这两个条件比较苛刻,此处卖个关子先……

EFS加密原理

大家知道,EFS加密实际上综合了对称加密和不对称加密:

(1) 随机生成一个文件加密密钥(叫做FEK),用来加密和解密文件。

(2) 这个FEK会被当前帐户的公钥进行加密,加密后的FEK副本保存在文件$EFS属性的DDF字段里。

(3) 要想解密文件,首先必须用当前用户的私钥去解密FEK,然后用FEK去解密文件。

看到这里,似乎EFS的脉络已经很清晰,其实不然,这样还不足于确保EFS的安全性。系统还会对EFS添加两层保护措施:

(1) Windows会用64字节的主密钥(Master Key)对私钥进行加密,加密后的私钥保存在以下文件夹:

%UserProfile%\Application Data\Microsoft\Crypto\RSA\SID

提示 Windows系统里的各种私有密钥,都用相应的主密钥进行加密。Windows Vista的BitLocker加密,也用其主密钥对FVEK(全卷加密密钥)进行加密。

(2) 为了保护主密钥,系统会对主密钥本身进行加密(使用的密钥由帐户密码派生而来),加密后的主密钥保存在以下文件夹:

%UserProfile%\Application Data\Microsoft\Protect\SID

提示 EFS密钥的结构部分,参考自《Windows Internals 4th》的第12章。

回到“任务描述”部分所述的两个条件,现在我们应该明白原因了:

(1) 必须知道该被删帐户的密码:没有帐户密码,就无法解密主密钥。因为其加密密钥是由帐户密码派生而来的。

提示 难怪Windows XP和2000不同,管理员重设帐户密码,也不能解密EFS文件。

(2) 该被删帐户的配置文件必须存在:加密后的私钥和主密钥(还包括证书和公钥),都保存在配置文件里,所以配置文件万万不可丢失,否则就会彻底“鬼子不能进村”。重装系统后,原来的配置文件肯定被删,这时候当然不可能恢复EFS文件。

可能有用户会想,只需新建一个同名的用户帐户,然后把原来配置文件复制给新帐户,不就可以解密EFS文件了?原因在于帐户的SID,因为新建用户的SID不可能和老帐户一样,所以常规方法是不可能奏效的。我们必须另辟蹊径,让系统再造一个完全一样的SID!

恢复步骤

为了方便描述,这里假设被删帐户的用户名为Admin,Windows安装在C盘。


1.再造SID

注意 本方法取自“声明”部分提到的那篇文章。

首先确认被删帐户的SID,这里可以进入以下文件夹:

C:\Documents and Settings\Admin\Application Data\Microsoft\Crypto\RSA

在其下应该有一个以该被删帐户的SID为名的文件夹,例如是S-1-5-21-4662660629-873921405-788003330-1004(RID为1004)

现在我们要设法让新建帐户同样具有1004的RID,这样就能达到目的。

在 Windows中,下一个新建帐户所分配的RID是由HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account注册表项的 F键值所确定的。F键值是二进制类型的数据,在偏移量0048处的四个字节,定义下一个帐户的RID。那么也就是说,只需要修改0048处的四个字节,就 能达到目的(让新建帐户获得1004的RID)!

确认好以后,别忘记把Admin帐户的配置文件转移到别的地方!

(1) 默认情况下,只有system帐户才有权限访问HKEY_LOCAL_MACHINE\SAM,这里在CMD命令提示符窗口,运行以下命令,以system帐户身份打开注册表编辑器:

psexec -i -d -s %windir%\regedit.exe

提示 可以在以下网站下载psexec:

http://www.sysinternals.com/Utilities/PsExec.html

(2) 定位到HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account注册表项,双击打开右侧的F键值。

(3) 这里要说明一下,Windows是以十六进制、而且以反转形式保存下一个帐户的RID。什么意思呢?也就是说,如果是1004的RID,对应十六进制就是03EC,但是我们必须把它反转过来变成EC03,再扩展为4个字节,就是EC 03 00 00。

所以,我们应该把F键值的0048偏移量处,把其中四个字节改为“EC 03 00 00”,

(4) 重要:别忘了重启计算机!

(5) 重启以后,新建一个同名帐户Admin,它的SID应该和以前是完全一样。如果不相信的话,可以借助GetSID或者PsGetSID等工具测试一下。


2.“破解”EFS

接下来的方法就非常简单了,用新建的Admin帐户身份登录系统,随便加密一个文件,然后注销,用管理员帐户登录系统,把原来保留的配置文件复制到C:\Documents and Settings\Admin文件夹下。

再用Admin帐户登录系统,现在可以解密原来的EFS文件了。

疑难解答

1.如果已经重装系统,那怎么办?

“ 声明”部分提到的那篇文章里提到,如果还记得原来帐户的密码,并且配置文件没有被删除的话,还有希望。这时候可以借助sysinternals的 NEWSID工具把系统的计算机SID重设为原来的值,再用前面描述的方法构造所需的RID,这样就可以获得所需的帐户SID。剩余步骤完全一样。

http://www.sysinternals.com/Utilities/NewSid.html

2.有用户曾经遇到这样的问题:登录系统时收到提示说密码过期,需要重设,重设密码登录后发现打开EFS文件。

KB890951提到这个问题。其解释是因为在修改密码时,系统还没有加载配置文件(有点语焉不详),原文如下:

This problem occurs because the user profile for the current user is not loaded correctly after you change the password.

配置文件和EFS有何相干?看完本文,大家应该知道,EFS的私钥和主密钥都是保存在配置文件里的。由于配置文件没有加载,所以主密钥的加密版本没有得到更新(没有跟上帐户密码的变化),导致主密钥无法正确解密,从而无法解密私钥和FEK。这就是问题的真正原因。

该KB提供了一个内部补丁,可以解决这个问题。KB890951的链接如下:

http://support.microsoft.com/kb/890951

3.有关公钥的问题

为了容易理解,笔者故意忽略了公钥。公钥保存也保存在帐户的配置文件里:

%UserProfile%\Application Data\Microsoft\SystemCertificates\My\Certificates

在EFS恢复的操作中,必须确保公钥也要复制到新帐户的配置文件里。尽管看起来公钥与EFS解密无关(它负责加密)。

原来,加密文件$EFS属性的DDF字段里除了有帐户SID和加密的FEK副本外,还有公钥的指纹信息(Public Key Thumbprint)和私钥GUID信息(私钥的某种散列值)。

系统在扫描加密文件$EFS属性中的DDF字段时,根据用户配置文件里的公钥中所包含的公钥指纹和私钥GUID信息,当然还有帐户的SID,来判断该帐户是否具有对应的DDF字段,从而判断该用户是否属于合法的EFS文件拥有者。

所以公钥也很重要。

当然公钥是可以“伪造”的(可以伪造出所需的公钥指纹和私钥GUID),以欺骗EFS系统,具体方法可以参考国外的那篇原稿,此处不再赘述。

加强EFS的安全

由 于EFS把所有的相关密钥都保存在Windows分区,所以这可能给EFS带来一定的安全隐患。目前有一些第三方工具号称可以破解EFS,这些工具首先攻 击SAM配置单元文件,尝试破解帐户密码,从而破解帐户密码→主密钥的加密密钥→主密钥→EFS私钥→FEK的“密钥链”。

为了防止攻击者窥视我们的EFS文件,可以借助以下三种方法:

1.导出删除私钥

可以用证书向导导出EFS加密证书和私钥,并且在“证书导出向导”对话框里选择删除私钥,

删除私钥以后,攻击者就没有办法访问EFS加密文件了,而我们需要访问时,只需导入先前备份的证书和私钥即可。

2.System Key提供额外的保护

System Key可以对SAM配置单元文件和EFS私钥提供额外保护。Windows XP的System Key默认保存在本地,我们可以运行syskey命令,强制系统将System Key保存在软盘里,或者用启动密码(startup password)来生成System Key。

由于EFS“密钥链”的根密钥(System Key)没有保存在本地计算机中, 所以攻击者将更加难以破解EFS加密。

提示 BitLocker加密的recovery key,类似于syskey的startup password,都是借助启动时所输入的一串密码来生成所需的密钥。

3.BitLocker提供更彻底的保护

本方法仅适用于Windows Vista(Enterprise和Ultimate Edition)。

最彻底的保护方法,首推Windows Vista新引入的BitLocker加密,这时候Windows分区的所有内容全部被加密(包括SAM配置单元、EFS密钥)。

BitLocker(TPM1.2) 加密可以看成是Windows启动保护器。在系统启动时,TPM芯片会负责分析各个重要的启动组件,以判断自己是否位于原来的计算机环境。如果是的话,就 依次释放BitLocker加密所需的密钥链,我们才能顺利地访问Windows,才能访问EFS文件。

如果攻击者企图把硬盘挂接到别的计算机上,系统就会拒绝释放密钥,整个Windows Vista分区处于加密状态。

如 果攻击者窃取了计算机,并且窃取了BitLocker所需所有条件(TPM芯片自不必说,假设也获得密钥U盘)。这时候系统能够顺利引导,并且成功释放 BitLocker密钥链。但是攻击者还必须想办法知道帐户的密码,否则无法登录系统,Windows分区依然处于加密状态。


4.题外话:为什么释放BitLocker密钥以后,Windows分区依然处于加密状态?

所以尽管BitLocker密钥已经释放,但是Windows分区并没有被立即全部解密。否则每次启动,都要解密整个Windows分区,得花多少时间(笔者的Vista分区完全解密,共花3小时)!

原 来BitLocker加密是以一个FVE Filter Driver来实现加密和解密,该Filter Driver处于文件系统驱动的下层。登录系统以后,用户需要访问文件时,文件系统会自动请求FVE Filter Driver进行解密,猜想应该是一次解密一个Block,每个Block可能是512字节(和EFS一样),不敢确定。对于用户来说,这个过程是完全透 明的,同时对性能的影响很小,几乎可以忽略不计。EFS加密的情况有点类似。


EFS加密解密详解
一 些个人的隐私或是个秘密,不希望他人看到的东西。那么你当然要把它放好喽,光是放好就行了吗?当然不能。还要有安全措施啊。设置个NTFS权限?是个不错 的主意,可如果你的笔记本被盗了怎么办?再如公司里的公共计算机或网吧计算机怎么办?解决数据安全的唯一途径就是加密。可第三方的加密软件不仅贵而且使用 麻烦,真的没有好办法了吗?别担心,微软公司早就帮你想好了,在WIN2000里就开始提供了系统自己的加密文件系统—EFS。在WIN2003里,该功 能更有了长足的发展。下面我们带大家去看看EFS的神秘之处。

简单操作
先来点简单的,如何加密文件。使用加密文件系统要有两个前提条件:
系统应使用NTFS分区,FAT分区不支持EFSl
系统要有DRA(l数据恢复代理)
小 知识:DRA—数据恢复代理,数据恢复代理是一个非常重要的角色,它能帮助你解密由于用户证书丢失不能打开的加密文件。为了安全起见,在没有DRA策略存 在时,EFS系统不会工作。默认情况下,本地的本机管理员是单机模式下的DRA,而域的默认域管理员是域环境下的DRA。
1、 在资源管理器中操作
先来个简单的,我们可以在资源管理器里加密和解密文件,该操作如同设置文件属性一样,非常方便,


选择文件或文件夹属性里的高级,选择其中的加密选项,确定即可。你可以选择加密文件还是文件夹,建议大家加密文件夹。这样会比较安全。


加密完毕的文件WIN2003里显示为绿色,在WIN2000里不变。选中后属性为加密。
注意:加密和压缩属性不可同时选择!
文件的解密与加密一样操作,

2、 命令行方式操作
通过命令行加密和解密文件更加方便快速。适合高级用户使用。
系统使用CIPHER命令来进行加密和解密操作。

[code]
c:\Documents and Settings\Administrator>cipher /?
显示或更改 NTFS 分区上的目录[文件]的加密
CIPHER [/E | /D] [/S:directory] [/A] [/I] [/F] [/Q] [/H] [pathname [...]]
CIPHER /R:filename
CIPHER /K
CIPHER /U [/N]
CIPHER /W:directory
CIPHER /X[:efsfile] [filename]
/A 在文件及目录上操作。如果父目录没有加密,当加密文件被修改后,它
可能被解密。建议您给此文件和父目录加密。
/D 将指定的目录解密。会标记目录,这样随后添加的文件就不会被加密。
/E 将指定的目录加密。会标记目录,这样随后添加的文件就会被加密。
/F 强迫在指定的对象进行加密操作,即使这些对象已经被加密。会按默认
方式跳过已经加密的对象。
/H 用隐藏或系统属性显示文件。在默认方式下,会忽略这些文件。
/I 即使发生错误也继续执行指定的操作。在默认方式下,CIPHER 在遇到
错误时会停止。
/K 为运行 CIPHER 的用户创建新的加密密钥。如果选择了此选项,会忽略
所有其他选项。
/N 此选项只能与 /U 使用。这将阻止更新密钥。此选项用于查找本地磁盘
上所有加密文件。
/Q 只报告最重要的信息。
/R 生成一个 EFS 恢复代理密钥和证书,然后把它们写入一个 .PFX 文件
(包含证书和私钥)和一个 .CER 文件(只包含证书)。管理员可以向 EFS
恢复策略添加 .CER 内容,为用户创建恢复代理并导入 .PFX 来恢复单
独文件。
/S 在已知目录和所有子目录执行指定的操作。


写在最后

这里非常敬佩国外微软技术爱好者的执着,事实上该作者还有一篇经典的文章(描述SAM配置单元文件的二进制结构),非常值得推荐。

很难想象,要编写这样的文章,得花费多少的人力和时间,要做多少的实验才能在SAM数据库逐个字节地找出其对应的含义!

10/18/2008

月光博客遭遇AdSense恐吓敲诈邮件

月光博客遭遇AdSense恐吓敲诈邮件
 昨天晚上收到了一封恐吓敲诈邮件,要求我给这个人支付宝800元钱,否则他将通过"专门的工具"对我的AdSense帐户的广告进行长时间的恶意点击,以期待将我的帐号"封号"。

  稍后此君又发给我一封邮件,告知其支付宝账号是6yesion@gmail.com,并称此帐号是花50元买来的,并再次对我进行恐吓。

  在此我告诉这个人渣,你发给我的敲诈邮件我已经通过在线表单提交给Google的技术支持了,他们认为此信的性质严重,正在开始调查处理,你要是认为自己的技术能力可以与Google一较高低的话,那么现在就可以来试试了。

  附:

  敲诈邮件一:

  发件人: bbsdada@gmail.com
  日期: 2008年10月16日 下午7:24
  主题: 兄弟,我"借"你800元,要不然有你好看的

  兄弟,我"借"你800元,当然是有借无还了,要不然我就用固定IP狂点你的gg广告。

  你应该知道这些:ggads无效点击过多,一律冻结,申诉不保证解开,一旦申诉被拒绝,彻底被封。

  我这里有专门的工具,还可以伪造网址,一天制造几十万点击都没问题,也就是说,看上去的确是从你的网站上点击过去的,而不是无缘无故的点击,不给钱早晚被我点到封号,已经有不少先例了,只要我长时间连续不停的点击,相信google没有时间听你的辩解,麻烦你尽快准备好冲入支付宝账号,然后回复本邮件。

  敲诈邮件二:

  发件人: bbsdada@gmail.com
  日期2008年10月17日 上午3:37
  主题: 兄弟,我"借"你800元,要不然有你好看的

  6yesion@gmail.com这个号是我花50买来的,资料不是本人的。我劝你不要浪费时间去举报什么的,白费工夫告诉你,不要耍我,否则后果很严重,我一个小时能制造几万点击量。你要是耍我,你登录ggads后台就能看到我说的是不是真的了,你痛痛快快的"借"给我了,我自然不会为难你,我说得出就做得到,反正也不是第一次出来混现在挣钱都不容易,要不是我走投无路也不会做这个,希望你能理解一下,谢谢了!

  更新:

  敲诈邮件三:

  发件人: bbsdada@gmail.com
  日期: 2008年10月17日 下午5:30
  主题: 怪不得我说你是傻逼,你还嚷嚷

  无效点击不算钱的,你就这么点智商还不知道?要是算钱,你早就可以去结算了,还用得着我浪费时间给你刷?等哪天你的广告不显示了,你就知道你有多愚蠢了顺便再告诉你,你之前惹到的人花钱收买我点你的广告报复你。看来你也不是个什么东西,结仇都不知道甭给我回信了,这个信箱就此作废了。

  上面最后一封邮件是在其对我帐号进行大量点击后发送的,根据此人邮件的信息判断,是我最近招惹的一个人通过这种方式对我进行报复。我在《网络赚钱靠骗吗?》这篇文章中曾经批评过某人的一些无耻的网络赚钱方法,从其文章即可看出其人品,也只有这样人品的人才能做出这种事情。结论:宁可惹君子,不可犯小人。

10/12/2008

谷歌股价跌破329美元 61%员工期权无法执行

谷歌股价跌破329美元 61%员工期权无法执行

 
 

Sent to you by xingxing via Google Reader:

 
 

via G日报 by Hong Xiaowan on 10/11/08

周五早盘,谷歌股价一度上涨,但此后落至329美元以下。

谷歌员工的170万股期权的加权平均执行价为329.78美元;一旦谷歌股价低于这一水平,则这些期权将变得毫无价值。除此之外,另有570万股期权的加权平均执行价为450美元及以上。也就是说,谷歌员工所持期权共有61%目前无法执行期权。

谷歌其他期权的加权平均执行价分别为275美元、177美元和21美元(仅适用于在谷歌上市前融资的员工)。

via 新浪科技


Copyright © 2007-2008 G日报


 
 

Things you can do from here:

 
 

No More Annoying Frames in Google Video



 
 

Sent to you by xingxing via Google Reader:

 
 

via Google Operating System by Alex Chitu on 10/11/08

Google has finally made the right decision and it removed that were created when you clicked on a result from Google Video. Instead of directly linking to the original site, Google used frames to show both the external site and a list of related videos from Google Video. This duplicated the functionality from video sites like YouTube, while making it difficult to navigate and to share a URL.

Here's the first version of the frame, from June 2007:


... and a screenshot from April 2008, when Google Video has been redesigned:


Google Image Search uses a similar frame, but it's more useful as it provides information about search results. If you don't like the frame from Google Image Search, you can use Greasemonkey scripts like Google Image Relinker or Google Image direct links to bypass it.


 
 

Things you can do from here:

 
 

“立法追究"人肉搜索"刑事责任”是个伪命题

"立法追究"人肉搜索"刑事责任"是个伪命题

 
 

Sent to you by xingxing via Google Reader:

 
 

via cnBeta.COM on 10/11/08

"人肉搜索"听上去让人毛骨悚然,而围绕"人肉搜索"所出现的网络词语,诸如"死亡博客"、"网络追杀令"、""扒皮"行动"等等,则更加令人恐惧.
"人肉搜索"这个概念的流行,一定程度上跟这个吸引眼球的名称有关.其实,它更确切地说法应该是"基于网络空间的人工搜索".这种现象基本上以 "BBS"、"论坛"这类网络信息传播方式为主要形式,不断有网民对当事人进行信息披露,直到现实中的这个当事人的信息"大白于天下".

 
 

Things you can do from here:

 
 

IE 8 即将发布,您的网站准备好了吗?

IE 8将会是Internet Explorer历史上最重要的一个版本发布,除了其带有中国传统的吉祥数字“8”以外,最主要的是其对标准的兼容性上得到了极高的增强,这对于网页开发 人员来说,最大的便利就是不用再为每种浏览器(甚至某种浏览器的不同版本)开发不同的CSS来进行适应。以后网页开发人员只需要兼容W3C的标准即可,而 不需要把过度的精力放在不同浏览器标准的相异性上。发布时间在即,那么您的网站是否已经准备好了呢?

1) 兼容性考虑

目 前的网站由于各种历史原因,可能针对不同的浏览器设置了不同的CSS文件。而针对IE 8,可能大部分网站尚没有做好准备。可能很多朋友知道,IE 8带有一个“切换IE 7模仿模式”的按钮,而且在Beta 1以及Beta 2期间,这个按钮是设置在默认选中状态。但是在IE 8正式发布的时候,该按钮默认将会是非选中状态,这就表示着如果一个网站没有做任何准备功课,在IE 8下将会以严格模式来常解析CSS。

前段时间,我与合作伙伴见面时,曾经特意使用IE 8 Beta 2的严格模式浏览过大部分合作伙伴的网页,都会出现或多或少的显示变形的问题,使得网站无法进行正确浏览。如果您的网站尚未做过IE 8的兼容性测试,建议您尽快下载IE 8的Beta 1,并且将其切换到IE 8严格模式,对您的网站进行浏览。

如果您发现问题,并且感觉在短期内无法修复,您也可以通过在页面当中添加Meta标签,在服务器端强制IE 8使用“IE 7模仿模式”,做法很简单:

a. 针对全站页面: 您可以修改Web服务器(如Apache/IIS/Resin等)的HTTP头信息,在其中增加以下指令: X-UA-Compatible: IE=EmulateIE7。这个是我个人强烈推荐的做法,在您无法进行全站测试的情况下,可以先使用此方式使IE 8的严格模式暂时失效。

b. 针对单独页面:如果您的网站大部分页面在IE 8严格模式下显示正常,只有个别页面出现问题,建议在出现问题的页面的页首,即Head标签内添加以下Meta标签:

< m e t a equiv="X-UA-Compatible" content="IE=EmulateIE7" >
。

更多信息,请参考: http://support.microsoft.com/kb/952030/

2) 制作Activity以及WebSlice

IE 8在Beta 1期间曝光了两个新特性,即Activity(活动)以及WebSlice(源剪辑),目前国内很多网站已经基于Activity以及WebSlice制 作了相关的内容,在IE 8 Beta 2期间,您会发现更多的网站会发布这些实用的小工具。以下是目前已经对外发布的一些网站:

a. 淘宝:http://ie8.taobao.com

b. 网易:http://ie8.163.com

c. 百度:http://stock.baidu.com/ie8/ie8.html

d. 腾讯:http://labs.qq.com/e/49/

甚至包括.NET开发人员常去的博客园也已经发布了其最新文章的Web Slice,有兴趣的话可以使用IE 8 Beta 1来访问博客园的首页。另外,如果您也使用Firefox 3,您可以发现已经有人开发了面向Firefox 3的Activity以及WebSlice插件。

Activity的使用场景: 您的网站提供一系列的服务,允许贵网站的用户通过在其它网站的主动操作来调用此服务。比如假设您是一个财经网站,提供查询股票/基金信息的服务,通过 Activity,您可以让您的用户在其它网站上浏览股评信息时,不需要跳转到贵网站,即可以通过右键菜单调用贵网站的相应服务。如果感兴趣,可以下载Activity开发白皮书。

WebSlice的使用场景: 您的网站提供一些实时性信息,比如新闻、股票信息等,而希望用户可以在不返回相应页面的时候,当内容发生改动时,即可以推送给最终用户,您可以选择 WebSlice。而开发代价仅仅只是将页面当中的某一个标签内的“Class”元素设置为“hslice”这个特殊名称即可,详细信息请阅读WebSlice开发白皮书。

另 外,在IE 8 Beta 2发布时,微软将会发布一个面向IE 8全新的Gallery网站,用以搜索各个网站开发的WebSlice/Activity等面向IE 8新特性的组件,并且提供最终用户评估/下载,如果您希望您开发的WebSlices/Activity能够得到用户的青睐,那么就从现在开始吧:早起的 鸟儿有虫吃。 :)

3) 其它

IE 8 发布时,还将会带来一系列的新特性,在前段时期,已经面向国内一些领先的网站进行过交流,很多合作伙伴都非常感兴趣,并且正在开发此上的服务,相信在奥 运会期间大家会看到此类的成果(依据NDA协议,此类网站也已经从微软拿到了IE 8 Beta 2的早期内部版本)。微软也将会举办一系列的市场活动,用以推广我们的合作伙伴所开发的各种面向IE 8的新的服务。

IE 8 即将发布,无论您是企业网站的网页设计人员,还是个人网站的站长,都需要尽快为IE 8做好准备。 希望本文对您有帮助。

有一个神经病,不知从哪里弄到了一把手枪

"有一个神经病,不知从哪里弄到了一把手枪,他走在一条小黑色胡同里。突然遇上一个年轻人,神经病二话不说将其安在地上用枪支着他的头!问道:1+1= 几?年轻人吓坏了!沉思了许久~战战兢兢的回答:等于2```?神经病毫不犹豫的开枪杀了他!然后把枪拽在怀里~冰冷的说了一句:你知道得太多了"