推荐几本英文写作的好书

1、The Elements of Style

豆瓣链接:http://book.douban.com/subject/1433835/

这本书是英文写作的bible,是一本必备的、应该每年读两次的书。

它的名气之大,以至于后来出现了无数本The Elements of xxx Style的书,甚至这些“衍生”的书都成了名著,比如The Elements of Programming Style。这一段可以参考徐宥的博文《编程珠玑番外篇-7.比代码大全好的两本书B》。

对这本书的推荐很多,就不需要我赘言了。说一下版本。

如果有可能,最好是买一本原版的,第四版或者50周年纪念版。目前卓越和淘宝上就可以买到。在amazon购买的话,一定要看清楚版本号。因为第一版已经没有版权问题,所以特别便宜,不要错买成这一版。

1992年,国内基于第三版译了一次,书名为《英文写作指南》,翻译质量不错,但已经买不到了。在孔夫子网还偶尔能淘到几本而已。

2009年,国内又出版了一个基于第一版的(又是出版商为了避免版税的不负责任产物),书名《风格的要素》,质量极差,一定不要买。

原版和中文第三版都可以找到电子版,此外,搜索一番的话还能下载到有声读物。

Continue reading

[译]手机病毒发展简史:第一部分

作者:Alexander Gostev, Kaspersky Lab

原文:Mobile Malware Evolution: An Overview, Part 1

发表于:2006年9月29日

2006年6月是具有历史意义的一个月——卡巴斯基实验室获得第一个手机病毒样本已经整整两年了。最初我们还不知道那个病毒是由病毒编写组织29A的成员“Vallez”所写,但现在已经知道了。

第一个样本打开了潘多拉的魔盒。现在,反病毒厂商已经搜集到数百个手机上的木马和蠕虫。Symbian系统的恶意程序最早出现在2004年。这一涓涓细流已经汇集成河,并将成为波涛汹涌的洪流。在今天,我们的反病毒数据库每周都会新增十多个前缀是“SymbOS”的木马。

看起来并没有哪一个手机蠕虫是主流的。最糟糕的是,这些蠕虫正在造成越来越多的危害,而其规模尚无法估计。一年前,我们捕获Cabir(卡波尔)时,唯一知道的是它在另一个国家或城市被检测到。被感染手机的主人随后联系了卡巴斯基实验室,我们与位于莫斯科的卡巴斯基总部的一些员工开始一同分析这些真实的攻击。

Continue reading

Androguard软件安装方法

Androguard是目前最好的开源Android分析工具之一,项目地址是:

http://code.google.com/p/androguard/

Androguard依赖于很多第三方库,各个库又有不同的环境要求。多次尝试后,得到一个能顺利安装所有功能的流程。平台是Linux x86 + Python 2.6。其他系统、体系、Python版本都没有成功。

具体步骤如下:

(下载freemind思维导图文件: androguard_installation.zip)

Continue reading

发布C语言的Android binary XML(AXML)解析代码

源码下载:

axml.tar.gz

AXML是用于Android设备的一种XML文件编码格式。现有的解析代码包括Java的(android4me)和Python的(androguard)。这两份代码是主要参考的对象,但他们都有一些冗余,看起来不舒服。

发布的C语言代码包含两部分:一个格式解析代码AxmlParser,提供易用的pull解析接口;一个从axml转换为明文xml的小工具AxmlPrinter,同时也是前者的使用示例。

目前已经支持Linux/gcc和Windows(Visual Studio)两个平台的编译和使用。

AXML格式的说明,等哪天有空再写吧。其实代码和注释已经包括了足够多的细节。

ADB源码分析(一)

ADB是android debug bridge的缩写,负责计算机与Android设备的几乎所有通信和协作,可以认为是连接两者的桥梁。

在Android开发和恶意代码分析中,经常用到它的install、uninstall、push、pull、logcat、shell等命令。它的用法可以参考SDK的文档:

http://developer.android.com/guide/developing/tools/adb.html

正因为其独特的桥梁作用,有必要详细了解其工作过程。幸运的是,我们可以获得其源码,它位于Android源码树的platform/system/core/adb/目录下,可以通过下面的git命令下载:

git clone git://android.git.kernel.org/platform/system/core.git

如果要编译,还是推荐下载完整的Android源码,并参考上一篇文章所述编译方法。

ADB由两个物理文件组成:
Continue reading