Tuesday, June 9

关键字:并不确定

对于“绿坝”软件是否可以卸载的问题,狄宇(北京大正语言知识处理科技有限公司负责该项目客户服务及技术支持的狄宇)对记者表示,现在从网上下载的是可以缷载的,但7月1日之后预装的是否可以卸载,他并不确定,“这个由工信部确定”。

( 东方早报报道)

其实,7月1日起销售的机器都应该有这个软件,现在已经在装机了。这个“并不确定”只有两种解释:
1,其实那些装机的软件是不能卸载的。但是狄宇现在不想公布出来,以后让工信部做恶人。
2,这个软件有后门,以后工信部可以远程决定让你卸载或者不让你卸载。

不管是哪个解释,有一点是明确的:这个软件有不被卸载的技术。

我简单尝试安装/卸载了一下绿霸(绿坝-花季护航),感觉如下:
1,一般的软件都安装在Program Files目录下面。这个软件不是。它有许多dll文件,都安装在windows, windows/system32目录下面。安装完毕之后的快捷方式就是在windows目录的一个可执行文件。

2,安装之后,增加了HNC Engine Service 和MsPowerSvc两个服务,开机自动运行。我想察看着两个服务的属性,得到“Access is Denied”的提示。而且,Remote Access Connection Manager 和Telephony原是手动运行,开机并不自动运行的,安装之后这两个服务就跑起来了。

3,该软件提供卸载功能。卸载之后,第2点所提到的服务都恢复原来的状态。看起来很美。程序文件都还存在硬盘中。我还担心有些系统dll被更改了。没有验证。

如果你没有听说过tom-skype事件,请复习。我们对中土政府已经熟悉到它一掀屁股就知道它要做什么了。tom-skype事件证明政府在商业软件中安装监控、过滤软件。那么它怎么可能放过这样一个预装在所有电脑上的公益软件?

================
网上流传的一个破解绿霸管理密码的方法,我已经证实:
直接翻看C:\WINDOWS\system32目录下的文件:kwpwf.dll  
  用记事本打开。不管里面内容是什么,一律替换成  
  D0970714757783E6CF17B26FB8E2298F  
  然后再开绿霸的时候密码自然就是112233了
替换成 C4CA4238A0B923820DCC509A6F75849B
密码就是1

这个文本就是密码进行MD5转换后的密文。必须是大写字母。

访问了一个成人小说,居然没有任何反应。访问washingtonpost.com, bbc.co.uk,也没有反应。终于在访问 minghui.org的时候跳出一个窗口“此信息不良,将被过滤掉”,然后我所打开的5个IE窗口都同时关闭了。
===========
这个程序很笨。默认设置是3分钟考屏存下来,它就真的每3分钟存一次。即使没有改变,我什么都没动,它也已连存下几个图下来,把屏幕保护程序都一样存。我怀疑它所抓的图也作为dll文件放在system32目录下面了。真不知道硬盘能存多少东西?

An MVC Bug: Unable to load the specified metadata resource

After I deleted the existing model and create a new one, the page shows:

Source File: C:\Data\src\Report.Web\Models\Model.Designer.cs Line: 26

Stack Trace:

[MetadataException: Unable to load the specified metadata resource.]
System.Data.Metadata.Edm.MetadataArtifactLoaderCompositeResource.LoadResources(String assemblyName, String resourceName, ICollection`1 uriRegistry, MetadataArtifactAssemblyResolver resolver) +3542846
System.Data.Metadata.Edm.MetadataArtifactLoaderCompositeResource.CreateResourceLoader(String path, ExtensionCheck extensionCheck, String validExtension, ICollection`1 uriRegistry, MetadataArtifactAssemblyResolver resolver) +185
System.Data.Metadata.Edm.MetadataArtifactLoader.Create(String path, ExtensionCheck extensionCheck, String validExtension, ICollection`1 uriRegistry, MetadataArtifactAssemblyResolver resolver) +63
System.Data.EntityClient.EntityConnection.SplitPaths(String paths) +659
System.Data.EntityClient.EntityConnection.GetMetadataWorkspace(Boolean initializeAllCollections) +148
System.Data.Objects.ObjectContext.RetrieveMetadataWorkspaceFromConnection() +26
System.Data.Objects.ObjectContext..ctor(EntityConnection connection, Boolean isConnectionConstructor) +172
System.Data.Objects.ObjectContext..ctor(String connectionString, String defaultContainerName) +27
Report.Web.Models.DataEntities1..ctor() in C:\Data\src\Report.Web\Models\Model.Designer.cs:26
Report.Web.Controllers.HomeController..ctor() in C:\Data\src\Report.Web\Controllers\HomeController.cs:20


and the error message is ambiguous, as always.

Thank god, gerrylowry helped me to identify the problem:

The web.config has a key
< name="DataEntities" connectionstring="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string=" source="192.168.1.1;Initial" catalog="Data;Persist" info="True;User" id="id;Password="password;MultipleActiveResultSets="True" providername="System.Data.EntityClient">< /add>

and it should be:
< name="DataEntities" connectionstring="metadata=res://*/Models.Model1.csdl|res://*/Models.Model1.ssdl|res://*/Models.Model1.msl;provider=System.Data.SqlClient;provider connection string="Data Source=192.168.1.1;Initial Catalog=Data;Persist Security Info=True;User ID=id;Password=password;MultipleActiveResultSets=True"" providername="System.Data.EntityClient">< /add>

Saturday, June 6

64超级雨伞

刚看到BBCCNN的中国64超级雨伞的报道。

愤青看来,这是中国小丑般的表演。

我看来,这是中国温和的、文明的警告:不要搞关于64的报道。这已经是中国很大的进步了。

Friday, May 22

支付宝的键盘记录器

今天收到转来的 支付宝涉嫌耍流氓 监控用户键盘

从技术上我能理解这个软件为什么要这样做。

中国的流氓软件很多,病毒很多。许多电脑都是带病毒运行。有些病毒就监控了用户键盘,盗取用户的输入密码。所以支付宝为了安全,就必须重新抢过键盘的监控权,才放心让用户输入。否则,用户的密码被盗了,还抱怨支付宝不够安全。

为什么中国的流氓软件多,病毒多?因为许多人都是用盗版windows,都不执行Windows的自动更新。这个自动更新干什么用的?是安装补丁的。微软做出windows之后,大家到处找漏洞;没有漏洞的软件是不存在的,你也知道。因此,发现漏洞了,微软就发布补丁来堵漏洞。如果你不执行自动更新,那么漏洞就一直开着,等着病毒的攻击。这就是中国Windows的现状。有些政府单位全部用盗版软件,所以在黑屏事件时,上级单位还发通知如何应对。而且,国内用户的安全意识不强,许多人认为:我电脑里没什么秘密,所以有病毒也无所谓。

所以我说,从技术上我能理解支付宝为什么要这样做。但是从公关的角度上,它可以作更好的。比如说,它可以给那些杀毒软件送一个样本,告诉他们这些文件是我的正常软件,杀毒软件就不会因它而报警了。或者,把这个“与病毒抢制空权”的原理告诉大家,大家也就没有什么埋怨了。

其实,用软件是要讲缘分的。你用一个软件,就表示你信任这个软件和后面的公司不会对你不利。我在《一段黑客经历》里就提到:
软件的使用本身就是建立在相互信任的基础上的 ,如果如此滥用别人的信任,这个世界已经完蛋了。例如,我们为了聊天,从网上下载,或者用软盘拷了oicq并执行,但是你怎么知道这个软件里没有一个代码准备格式化你的硬盘呢?甚至,微软的windows除了将你的注册信息发给微软公司之外,是否还把你硬盘里的秘密发送出去了呢?如果对网络的东西毫无防范,你死了都不知道怎么回事;但是如果完全基于不信任主义,我们就只能使用自己编制的软件。我们只能在这中间找一个平衡。

Sunday, May 10

Release: PhorumUpload: File-Uploading function of Phorum

This code can help uploading files in the Phorum. The original file-uploading function is retarded because the file is saved in database!

Download

Readme.txt:

// Copyright: This work is licensed under a Creative Commons License: Attribution-Noncommercial 2.0 Generic,

// the same as posts in my blog http://benincampus.blogspot.com

// You can retrieve the copyright detail from http://creativecommons.org/licenses/by-nc/2.0/

// This work was first deployed in http://www.starlakeporch.net/bbs/ by ivyfoxlab.



// Ben@fadshop.net. April 1, 2009

// version 1.1: levitate to root folder. Add PHORUM[user][user_id]. By Ben. April 6, 2009

// version 1.2: Add filetype='other' for extension compatibility. By Ben. April 16, 2009

// version 1.21: Bug fixed for OtherExts. By Mantou. April 18, 2009

// version 1.3: Create an empty index.htm in the newly create folder to prevent folder browsing. By Ben. April 22, 2009

// version 1.32: Show warning message before uploading. By Ben. May 8, 2009



安装文档:

1,把upload.php放到论坛根目录。然后成立upload目录并给777权限。后面这一步也许不需要,我的程序会自动创建这个目录;也许在别的系统会创建失败。所以为了保证质量,还是手工创建最保险。

2,在 templates/所用的模版/posting_buttons.tpl ,其他按钮前面, 加上



< input type="button" name="upload" class="PhorumSubmit" value="Upload" onclick="window.open('upload.php','上传文件','toolbar=no,menubar=no,width=500,height=350') ;" / >





3, 检查php.ini中文件大小限制:upload_max_filesize


INSTALLATION:

1, upload upload.php into phorum's root folder and create /upload/ folder with permission 777.

2, Add upload button in the template/the template you choose/posting_buttons.tpl, along with other buttons:



< input type="button" name="upload" class="PhorumSubmit" value="Upload" onclick="window.open('upload.php','Upload File','toolbar=no,menubar=no,width=500,height=350') ;" / >



3, Check upload_max_filesize in your php.ini


TODO:
Make it as a mod of Phorum. User can delete files of his own.

Thursday, April 30

电脑乾坤大挪移

现在家里的地下室储藏室放着一台Win2003电脑,共享着一台打印机和文档目录、旧的音乐目录。但是硬盘只有80G,所以我手上的Ubuntu电脑也共享着许多音乐和下载的电影,因为这台电脑的硬盘是300G的。因为需要随时共享,这两台电脑都是24小时开机。

我盘算了一下,打算把Win2003的共享都移到Ubuntu上面来,然后把Ubuntu搬到储藏室,以后用Win2003这台电脑登录上Ubuntu玩就是了。这样的好处是:只用一台电脑24小时开机,数据也都在这台电脑上。

第一步,我要做的是从Win2003登录上Ubuntu的GNome上面。以后我还是尽量多地用Ubuntu,而不是Windows。可能用vnc吧。
然后,把现在Win2003上面的文件都拷贝到Ubuntu上面,并共享。弄得好的话,别的机器根本就感觉不到变化。共享打印机应该怎么玩?

FREE TIBET!
 
这么无聊啊,给我留了6次相同的comment。
 

Tuesday, April 21

Ghostnet Investigation

This post is triggered by this article.

FREE TIBET!
 

Sunday, March 29

Mass Sequential Rename

This program can do the same thing as krename of KDE, for Nautilus in Gnome. It modifies selected files with sequential number.

#!/bin/bash
# Nautilus script for mass file renaming.
# Created by Ben(AT)Fadshop.net. http://benincampus.blogspot.com .Mar 29, 2009
# Based on http://jrfonseca.blogspot.com/2006/05/mass-renaming-in-nautilus.html

set -e

TITLE=`basename "$0"`

EXPR=""

EXPR=`zenity --title "$TITLE - expression" --entry --text "Specify the Prefix for modifying the filenames." --entry-text "$EXPR"` || exit

NUM=0


IFS=$'\n'
for FILE in $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS
do
cd "`dirname "$FILE"`"
filename=""`basename "$FILE"`""
EXT="${filename/*./}"

mv ""`basename "$FILE"`"" "$EXPR$NUM.$EXT"
NUM=$((NUM+1))

done


Create a new file ~/.gnome2/nautilus-scripts/Mass Sequential Rename with the content above and change it as executable. Then in Nautilus you can select several files and right click. In the context menu there is a Script->Mass Sequential Rename selection to run the script and rename the files.

FREE TIBET!
 
Nice script, it has been very useful to me, but I'm having a problem and would like your help.

Using the script as nautilus script (menu context) it works fine, but I don't know how to use it in terminal. I run "./script filename1 filename2 filename3", enter the prefix, but nothing happens.
 
I already realize what happened. ^_^

To run the script as I wanted is needed to replace $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS with $*, and use "./script /path/filename1 /path/filename2 /path/filename3".
 
Good job, Cristiano.
 

Shell 编程

在KDE里,可以很方便地选中一堆文件,点右键“rename”,输入一个名字比如"winter",就可以把这些文件都换名为 winter1.pdf, winter2.pdf, winter3.pdf...

在Gnome的Nautilus里就没有这个功能。只要你选中多于1个文件,rename的菜单项就变成灰色了。因此昨天我找了找,发现了一个类似的功能“Mass Rename”,能够输入一个regular express来换名字,糟糕的是在我机器上它根本不能运行。

起码,我有了一个起点。我就以它为范本,做出了自己的Mass Sequential Rename:

#!/bin/bash
# Nautilus script for mass file renaming.
# Modified by Ben(AT)Fadshop.net. http://benincampus.blogspot.com .Mar 29, 2009
# Based on http://jrfonseca.blogspot.com/2006/05/mass-renaming-in-nautilus.html


set -e

TITLE=`basename "$0"`


EXPR=""

EXPR=`zenity --title "$TITLE - expression" --entry --text "Specify the Prefix for modifying the filenames." --entry-text "$EXPR"` || exit

NUM=0


IFS=$'\n'
for FILE in $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS
do
cd "`dirname "$FILE"`"
filename=""`basename "$FILE"`""
EXT="${filename/*./}"

mv ""`basename "$FILE"`"" "$EXPR$NUM.$EXT"
NUM=$((NUM+1))

done


使用方式:把上面这段代码写成文件 ~/.gnome2/nautilus-scripts/Mass Sequential Rename ,然后把它变成可执行。从此在nautilus的右键菜单里就有个Scripts->Mass Sequential Rename的选项,可以作上面我所说的批量命名。

做这段程序最头疼的是没有什么文档。到底是bash,还是sh?
也没办法调试,一出错就直接停止运行,不知道出错信息放到哪里。
第三,单引号、双引号、两个双引号,到底怎么个用法,我只能一个一个地试。有一个问题就是我用mv "`basename "$FILE"`" $newname的时候,原文件名中有空格,就弄死程序了。用了许久才发现问题,又google了许多才知道要用两个双引号。什么时候在变量前用$,什么时候不用,也很乱。
第四,最生气的,是EXT="${filename/*./}"这句,我为了版式好看,在等于号左右各加了个空格,程序就死了。我还以为是这句话的关系,用1小时来查找错误,偶尔把空格删除掉,才惊奇地发现成功了。

总之,虽然shell编程也是很有前途的一件事情,但是缺少文档、缺少调试环境、缺少现代语法,甚至对空格都不能容忍,这样的语言是没法用的。只能是一些遗老遗少们自我陶醉的一种语言。

参考连接:
Mass Renaming in Nautilus
Extending Nautilus with Scripts and Extensions

Friday, March 20

Johnson & Johnson 强生产品的忧虑?

一个组织公布了一个检测报告,声称包括强生在内的许多(几乎所有)婴儿洗护用品含有微量的致癌物。

有些中文报道翻译华盛顿时报的文章没有翻译准确,特别是这句:“《华盛顿邮报》报道,欧盟已禁止在护理产品中使用对二恶烷,但美国食品和药物管理局尚未出台针对洗发香波、护肤乳液等护理品中对二恶烷含量的安全标准。”原文中关于欧盟的话是:“欧盟禁止在护理产品中作为成分(ingredient)加入对二恶烷“。同样原文还写有:“强生等产品中的对二恶烷并不是作为成分加入的,而是在生产过程中产生的副产品“。所以这些产品在欧盟也能销售。作为一个独立知识分子,我总是找到资料原文来研究,拒绝接受经过二手翻译的东西。
所以,可以说,没有任何一个国家、政府机构认为强生等产品不安全。只有这一个哗众取宠的民间组织在嚷嚷。
至于说这些产品中含有这些微量致癌物,我觉得不必要大惊小怪。比这个厉害得多的东西我们都吃了多少年。比如说家里腌的咸菜,含有强烈的致癌物;油条、扣肉,在油炸时产生许多致癌物,大家也一样吃。况且现在我们所讨论的强生产品并不是吃的。

细看那份检测报告,越看问题越多。空格表示没有检测,ND表示没有发现,但是可能还有其它有害成分。意思就是说,所有东西都“可能”含有有害成分,建议你喝水吃空气维生。

你肯定这个报告不是愚人节出现的?

按其中最主要的1,4二恶烷含量排序:
1, American Girl Real Beauty Inside and Out Shower Gel – Sunny Orange (Bath & Body Works) 35ppm
2, American Girl Real Beauty Inside and Out Shower Gel – Apple Blossom (Bath & Body Works) 18ppm
3, American Girl Hopes and Dreams Glistening Shower and Bath Wash (Bath & Body Works) 14ppm
4, Tinker Bell Scented Bubble Bath (Goldei LLC) 11ppm
5, Gentle Naturals Enzema Baby Wash (Del Pharmaceuticals, Inc.) 6.4ppm
6, American Girl Real Beauty Inside and Out Shower Gel – Apple Blossom (Bath & Body Works) 6.3ppm
7, American Girl Real Beauty Inside and Out Shower Gel – Apple Blossom (Bath & Body Works) 5.7ppm
其它,包括著名的强生的产品,都在5ppm以下。
(上面7个的其中3个产品是同一公司同一产品,却有3个不同的检测量,不知何故?)

ppm就是parts permillion,百万分率。那么,5ppm是什么概念呢?根据"人用注册化学品技术规范协调国际会议ICH"所指定的标准,工业生产过程中使用的溶剂分为三类:第一类剧毒,禁止使用;第二类有毒,限制使用;第三类,随便用。1,4二恶烷就包含在第二类中,并规定不能超过380ppm。[连接:日本官方网站

所以说,官方认为,接触380ppm以下的1,4二恶烷是可以接受的
然后,你再分析上面那个表。那7中产品都是洗浴的,也就是说,在冲澡的时候涂上shower gel,那些二恶烷就会被稀释得更稀了!

再回去看那份检测报告,除去Liquid Shower Soap,Bath Wash,Bubble Bath这三大类,因为这几类都是马上被洗澡水稀释的。剩下来的产品中含二恶烷最高的是
L’Oreal Kids Extra Gentle 2-in-1 Fast Dry Shampoo – Burst of Cool Melon (L’Oreal USA) 0.95ppm
都在1百万分之1以下了,还用担心么?

FREE TIBET!