欧洲法院裁定编程语言不受版权法保护

欧洲法院(European Court of Justice)当地时间周三裁定,计算机软件的功能以及实现它所用的编程语言不受到版权法保护。欧洲法院是在SAS Institute(以下简称“SAS”)起诉World Programming Limited(以下简称“WPL”)的诉讼中作出这一裁定的。SAS开发数据处理和统计分析软件。

SAS系统的核心组件允许用户编写和运行利用SAS编程语言编写的软件。通过访问SAS系统学习版,WPL开发了一款模拟SAS组件大多数功能的产品,因此,客户的应用软件能像在SAS系统上那样在WPL的平台上运行。WPL获得了SAS系统学习版的授权。

欧洲法院表示,尽管WPL以了解其功能为目的使用和研究了SAS的软件,但“没有证据表明WPL曾接触或复制SAS产品的源代码”。欧洲法院裁定,“根据相关法律,获得软件授权的客户有权观察、研究或测试软件的功能,以确定软件的原理等”。

欧洲法院裁定,如果计算机软件的功能受到版权法保护,将使垄断创意成为可能,不利于技术进步和产业发展。欧洲法院认为,计算机软件的创意和原理不受版权法保护,只有创意和原理的表达受版权法保护。

这一裁定将使其他软件公司大胆“逆向工程”计算机软件,而无需担心会侵犯版权。

文/腾讯科技

初窥 BlackBerry 10 【视频】

BlackBerry 10 Launch

RIM 昨夜在黑莓世界大会上发布了自己的下一代操作系统 BlackBerry 10。鉴于 RIM 近年的艰难处境,BlackBerry 10 大概是这家老牌全键盘手机厂商最后的机会。

演讲时,新任 CEO Thorsten Heins 把“提升到新阶段”挂在嘴边,但发布会的基调是防守而非进攻。RIM 高管在会上不断列数字强调“黑莓用户比其它智能手机用户更常用社交网络”、“黑莓用户比其它智能手机用户下载更多应用”,并拉思科、 Salesforce.com、Citrix、Occipital(RedLaser)等大小软件公司上台背书以求留住日渐稀少的黑莓开发者。

开发者看重未来,只有新系统才能证明黑莓平台有未来、值得投入。所以尽管 BlackBerry 10 产品在今年晚些时候才会上市,RIM 还是提前将 BlackBerry 10 开发者测试机“Dev Alpha”大量发放出去。而且门槛很低,每位 BlackBerry Jam 与会者都能领到一部。

 

BlackBerry-10-Dev-Alpha-T3

BlackBerry 10 Dev Alpha 开发机,图片来自 T3

开发机不同于原型机,Dev Alpha 的外形细节与最终产品没有必然联系。不过开发机采用 4.2 英寸显示屏说明 BlackBerry 10 主要将针对全触屏设备优化,并且首选分辨率将是 1280 x 768,宽高比位于 iOS 和 主流 Android 之间。

软件是 Dev Alpha 的展示重点,可惜现在能看到的东西很有限。具体地说,《纽约时报》Cnet 和 IntoMobile 的记者均发现手中 Dev Alpha 内置的系统是改版的 PlayBook OS 2.0。不过 RIM 工作人员向 IntoMobile 担保说 BlackBerry 10 的内核与 PlayBook OS 2.0 相同,不会对开发造成影响。Dev Alpha 隐藏了包括应用列表在内的大部分界面,现在能体现的特性基本只有“流动”界面和虚拟键盘。

黑莓般的虚拟键盘

键盘手感是不少用户留恋黑莓的主要原因。扫一眼 BlackBerry 10 相关的 Twitter 评论,你会发现不少人抱怨说没有实体全键盘的黑莓毫无价值。这也是黑莓转向全触屏设计的阻力。黑莓 9500 就曾试图以屏幕下陷设计弥补触屏的手感缺憾,但市场反馈非常糟糕。

BlackBerry 10 虚拟键盘的优化集中在软件层面,当你在输入文字时系统会根据学习你的用词习惯,并给出补完提示。和 Windows Phone 不同,BlackBerry 10 没有将候选词显示在键盘区上方,而是直接在首字母上显示文字。

BlackBerry10-_keyboard HTC Sense 4 Input Blackwater

联想输入对比,BlackBerry 10 VS Sense 4 默认键盘

比如打完 Black 以后,W 键上方会浮现 Blackwater 字样。此时按住 W 再向上滑动就能直接输入“Blackwater”。这设计创新且合乎逻辑,因为输入 Blackwater 的时候,手指再离开 k 以后会下意识地移至 w 键上方,比候选词条更方便。

更多滑动手势也被融入 BlackBerry 10 的键盘。在键盘上长距离向左滑动直接删除刚刚输入的单词;从下向上滑过键盘则是在字母和数字符号之间切换。

TechCrunch 有幸在黑莓大会前尝试了十分钟,作者对输入体验的评价很高:

“即便是现在(Alpha 版),一切都非常舒适而流畅,少许滑动手势的加入也绝对是加分。”

“这听起来不过是个小改进,但它对用户的影响可能会很大——他们不关心原因,只关心实际打字体验。”

CrackBerry 的 Levin Michaluk 自称是全球头号黑莓粉丝,他对虚拟键盘的评价是:

“边按边滑的感觉非常不错。我真心相信这会成为一种令人上瘾的键盘体验。”

Cnet 作者在输入几句话之后被震住

“真是一种神奇的体验,就好像这手机会读心术一样。”

“流动”界面

BlackBerry 10 Tiles

BlackBerry 10 的主界面是四个类似 Windows Phone 的窗格,窗格内的信息会自动更新。系统的整个界面和 PlayBook 平板很接近,但现在加入了更多手势。例如从屏幕右沿向内滑动少许将揭开通知栏;彻底从右向左滑过屏幕拉出整合短信、邮件、BBM 以及各种 IM 的通信应用(Messaging);从左向右滑过屏幕也会拉出多任务界面(目前和 PlayBook、WebOS 没什么区别)。

bb10_Slides BlackBerry10 Swipe

通信应用的“卡片”逻辑

BlackBerry 10 应用内的逻辑类似 WebOS 3.0 的 Enyo 框架,后者也被很多 iOS 和 OSX 应用所效仿。

BB10 Phone Call

BlackBerry 10 来电界面

来电界面也利用了滑动手势,上下拖动来电人姓名接听或拒接。其它基本也没什么能说的,不是被隐去就是和 PlayBook 差不多。更多界面、应用照片可以看 Technobuffalo 的图库

BB10 Camera VS ScaladoRIM 现场着重演示的合影拍照功能看似不错,能够在短时间内连续拍摄一组照片,然后让用户手工选择在场每个人最美的笑容再拼成一张照片。

不过从现场演示来看,BlackBerry 10 所用的技术很可能来自 Scalado,后者早就与高通、英特尔展开合作。高通过去几个月的展会里几乎每次都用 Snapdragon S3、S4 开发机上演示该功能。

右图即为 BlackBerry 10(上)和 Scalado(下)功能展示对比,工作原理和操作模式完全相同。图片来自 9to5google

 

由于目前能看到的内容实在不多,到场媒体基本都没有为 BlackBerry 10 下定论,大多是“谨慎地乐观”、“信息较少,将持续关注”、“反响喜忧参半”。不知道 RIM 这次展示的内容如此之少是因为东西确实没做完,还是为了把惊喜留给消费市场。

不管哪种,留给 RIM 的时间已经不多。今年下半年我们就会见到 iOS 6、Android 5.0 和 Windows Phone 8 阿波罗。RIM 既没有微软稳定的资金来源,也没有诺基亚的低端产品线,BlackBerry 10 的功能和体验至少得大幅超越阿波罗才有可能实现大家喜闻乐见的绝地反攻。你觉得有戏么?

 

最后是 RIM 现场播放的一段的演示视频,着重展示输入法和流动界面:

如何黑一个黑客

最近,在搜检垃圾信息时,我偶然看到了这样一个很普通的邮件。它使用了一个很简单的编造八卦的伎俩,推测奥巴马的性取向,并提供了一个指向一个证明图片的链接。

邮件内容

这条垃圾信息没有什么特别的,但链接指向的这个具有双重后缀的,叫做“you.jpg.exe”的文件却有点研究价值。出于好奇,我把这个文件下载下来,检查它会干些什么事。

我首先做的是看看这个文件真正的文件类型。很显然,它不是一个关于奥巴马的图片,而是一个可以自解压的RAR文件。

RAR文件

通过RAR提取工具,我打开了这个自解压文件,看到了里面的内容。

RAR文件内容

解压了“you.jpg.exe”,检查里面的每一个文件,但发现它们都是经过加密的。于是,我在测试机上直接运行了“you.jpg.exe”,看看会有什么事情发生。双击它后,下面的这个图片跳了出来。嘿嘿,果然不是奥巴马。

考拉

在后台,下列文件被自动安装到了Windows System32目录下:

  • bpk.dat
  • bpk.exe
  • bpkhk.dll
  • bpkr.exe
  • inst.dat
  • pk.bin

而且,在注册表里创建了一个自动运行的autorun命令:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Runbpk = <%windir%\System32\bpk.exe>

我在谷歌上搜索这些文件名称,找到了一些有用的信息,测试机上被安装的这些文件是一种键盘监控程序,特别之处是,这是一款商业版的软件,来自 Blazing Tools公司,叫做Perfect Keylogger (PK)。这款键盘监控软件可以通过正常的渠道购买和合法的使用,公开宣传功用是监控孩子或员工的上网行为,等等。你可以想象,它同样可以拿来做坏事。

我的分析到这儿差不多准备结束了。但几分钟后,有趣的事情出现了。监控软件连接上了一个远程的FTP服务器,这样我就有了机会捕获这个入侵者的FTP帐户信息了。

Screenshot-Follow TCP Stream

通过拦截到的用户名和密码,我登入了这个FTP服务器,发现了大量的存放有监控日志和受害人桌面屏幕截屏的文件夹。从这些数目众多的日志就可以看出,这个垃圾信息制造者的一条八卦信息的伎俩是多么的有效。

FTP-0424E

下面是这个FTP服务器的注册信息:

Whois

我还不想就这么结束,我对这个监控软件的安装程序做了更进一步的研究,我希望能找到这个窃听事件的幕后人物。

从这个软件的网上帮助页面上的信息中得知,这个程序有一个快捷键能把隐藏着的管理员控制界面或系统托盘图标调出来。缺省的快捷键是组合的 CTRL+ALT+L,但我试了一下,不好使。于是我使用暴力方式尝试各种键组合,终于让我找到了正确的按键。但令人沮丧的是,出现的是下面的窗口:

Password

在打算反编译这款软件、破解它的密码前,我在网上搜索了一下,发现了一些提示。我找到了Chris Pogue的个人博客, 他很巧是在Trustwave SpiderLabs的一位同事,之前也碰到过这种软件。在他的博客里,他指出密码和一些其它配置属性都存放在一个叫做PK.BIN的加密文件里,监视数 据存放在一个叫BPK.DAT的加密文件里。他还说,这些文件可以通过简单的对字节进行和0xAA的XOR运算破解。

我猜测Chris分析的是一个老版本的,因为对0xAA进行XOR并不能解码配置文件。然而,从转换的BPK.DAT文件里可以看出,这种XOR操作还是部分的有效的,为了让转码的效果更好看,我使用了双字节0xAA, 0×00进行XOR操作:

BPKdecoded

我更感兴趣的是PK.BIN这个文件,因为里面存放着这款软件的详细配置信息,其中可能包含这个软件入侵者的信息。可这需要更多的工作,因为很显然,简单的与0xAA进行XOR操作是不能解码的。所有我猜测很可能需要另外一个不一样的XOR值。

以文本模式查看这个文件是下面这个样子,注意看那些很多重复的片段!

Pk.bin.enc

在十六进制模式中,我取出这些重复出现的字符,把它们进行XOR运算:

Pk.bin.hexmode

通过一些python脚本,使我破译了这个文件:

if len(sys.argv) > 1:    pkhandle = open(sys.argv[1],'rb')    pkbuffer = pkhandle.read()    pkhandle.close()    key=[0x0D,0x0A,0x08,0x05,0x01,0x02,0x06,0x03,0x03,0x0E,0x01,0x08,0x03,0x0C,0x09,0x07,0x05,0x0D,0x0C,0x0B,0x03]    dec = ''    ctr = 0    for i in range(11,len(pkbuffer)):        a= ord(pkbuffer[i])        b =key[ctr%len(key)]        x = a^b        dec = dec+(chr(x))        ctr+=1    dechandle = open('pk.dec','wb')    dechandle.write(dec)    dechandle.close()

瞧!(提示:我涂掉了一些细节,以保护FTP服务器上的受害人的信息不外泄)

Pk.dec.textmodeE

解码后的PK.BIN文件向我展示了足够的信息让我能进入管理员控制面板,包括这款软件的管理员密码,FTP服务器密码,软件的购买许可证注册姓名和注册号。我输入管理员密码,很好用,里面我看到了入侵者要窃取哪些信息,以及更多的关于软件的配置信息。

PKPanel

在配置文件里,软件许可证的注册姓名是Charles Onuigbo。

现在,我不确定Charles Onuigbo就是这个入侵者,或真有其人。唯一值得一提的是,这是个在尼日利亚——垃圾邮件制造之国——一个非常常见的名称!

我用邮件向ISP举报了这个FTP站点,希望这个站点能够尽快的被关闭。

更新:我收到了管理这台服务器的公司的一份邮件,里面写到:

"你好-不知道我的同事是否就此事给你回复过。我们已经禁止了你所说的这个帐号对这个服务器的访问权限... "

我再次尝试登录这个FTP服务器,确认这个恶意的FTP帐号已经被封掉了。感谢Liquid Web公司的Alex Kwiecinski和你们团队行动的这么迅速。

[本文英文原文链接:Pwning a Spammer’s Keylogger ]

六款优秀的 Linux 基准测试工具

基准测试是指运行计算机程序去评估硬件和软件性能的行为。硬件基本测试包括评估处理器,内存,显卡,硬盘,网络等不同组件的性能。基准测试有两类: 复合和应用。复合基准对一个硬件执行压力测试,如连续写入和读取数据。应用基准则是衡量真实世界应用程序如数据库和服务器的性能。基准测试软件可以让系统 测试者和用户客观独立的评估硬件性能。Linux下有许多优秀的开源Linux基准测试工具,如Phoronix Test Suite,IOzone,netperf等。

Phoronix Test Suite

phoronix.com 是业内一个知名的网站,其经常发布硬件性能测评以及 Linux 系统相关的性能测评, Phoronix Test Suite 为该网站旗下的 linux 平台测试套件 , Phoronix 测试套件遵循GNU GPLv3协议。Phoronix Test Suite 默认是通过命令行来的进行测试的,但也可以调用GUI,Phoronix Test Suite 还提供了上传测试结果的服务,也就说你可以把你的测试结果上传在网上,从而可以和别的 Linux 用户测出来的结果进行对比。

IOzone

iozone 是一款Linux文件系统性能测试工具 。它可以测Reiser4, ext3, ext4

Netperf

Netperf是一种网络性能的测量工具,主要针对基于TCP 或UDP的传输。Netperf根据应用的不同,可以进行不同模式的网络性能测试,即批量数据传输(bulk data transfer)模式和请求/应答(request/reponse)模式。Netperf测试结果所反映的是两个系统之间发送和接受数据的速度和效 率。

Netperf工具是基于C/S模式的。server端是netserver,用来侦听来自client端的连接,client 端是netperf,用来向server发起网络测试。在client与server之间,首先建立一个控制连接,传递有关测试配置的信息,以及测试的结 果;在控制连接建立并传递了测试配置信息以后,client与server之间会再建立一个测试连接,用来来回传递着特殊的流量模式,以测试网络的性能。

LLCbench

LLCbench (底层表征基准测试 Low-Level Characterization Benchmarks) 是一个基准测试工具,集成了 MPBench, CacheBench, 和 BLASBench 测试方法。

HardInfo

HardInfo是一个Linux系统信息查看软件。它可以显示有关的硬件,软件,并进行简单的性能基准测试。

GtkPerf

GtkPerf是一种应用程序设计,测试基于GTK +的性能。

屏幕截图:

via linuxlinks

几秒快速注册?那接下来呢?

我们经常会在各个网站的注册页面看到“xx秒注册”的提示,此处摒除垃圾站点或游戏的广告不提,但有谁想过为什么要有这样一个提示呢?

大家印象中熟悉的注册过程,都需要填写一大堆信息,甚至还得进入邮箱点击链接进行验证或激活。因此我们对这种提示的理解是:设计者想告诉用户,自己的网站注册过程没有那么繁琐,所以你也不用为此感到恐惧或焦虑。

事实上,很多时候你网站的注册过程可能并不会让用户感觉恐惧或焦虑,这种提示反而在无形中给用户一种心理暗示般的压力。如果站在普通用户的角度来看,我们在打开或注册一个新网站时,这种不安可能更多来自对接下来需要进行一系列操作的不确定性。

可能我们确实花5秒钟就在你的网站注册好了,但接下来呢?

设计者可以主动将这种不确定的步骤呈现出来,让用户清楚地知道从注册到获得有价值内容之间的操作步骤。这样可以有效减少用户面对未知因素的不安,相比“xx秒注册”这样的提示可能效果更好。

以Google Analytics这样的流量统计服务为例,如下图示。直接在页面说明,注册后只需再将相应的JavaScript代码复制并粘贴到自己的站点页面代码中,就可以获得该服务为你提供的便利。简单明了,很容易是不是?

当然,此处所说的只是解决类似问题的一种方式,一些网站也可能会采用像逐步引导这样的方法。或许你还有更多、更好的方法,欢迎与大家分享。