Busybox for android

前几天有个朋友问我怎么搞Android Forensics,说了半天我也不明白Forensics是干什么,然后他拿出作业,其实很简单,就是从Android的文件系统里面拷贝出通话记录/联系人记录 etc,ssh进去不就得了,我马上说,iPhone思维惯式很严重……不知道Android能不能越狱,在adb shell进去的那个shell里找不到ssh相关的东西,毕竟是个极精简的Linux,据说现在还跟Linux分道扬镳了

然后找到了Busybox,这个东西以前登录路由器的时候常见到,总以为是个嵌入式Linux发行版,其实是一坨打包的GNU工具集,比如想用tar:

/bin/busybox tar cjvf archive.tar.bz2 folder

参数可能少一点,但少的那些也很少用到。

有了这个东西就好办了,找到一个预编译的Busybox for Android,就不用自己交叉编译了,然后用adb push到模拟器里,打开adb shell,假设Busybox装到了/data/busybox,就可以用/data/busybox tar把/system和/data打包,存到/sdcard,这样隐私文件都保存到一个img镜像文件里了,在Linux上用mount -o loop加载,Android的文件系统就一览无遗啦。

简单看了以下,Android的用户数据都是存成了SQLite文件,比如联系人是存在/data/data/com.google.android.providers.contacts/databases/contacts.db,Firefox用SQLite Manager就能打开,用户信息一览无余。

XMPP客户端

平日工作是用Jabber跟同事联系,有人笑说,xmpp其实就是开发了一个复杂难懂的IRC协议,功能貌似多了,但我们就是用它当聊天室,Jabber最大的好处就是开放所以在各种平台上都能找到相当不错的客户端软件。

Miranda IM
Windows上最好的客户端,没有之一,很喜欢GTalk的界面,可惜它不是标准XMPP客户端,不能进聊天室。

Pidgin
各种平台通吃,没什么缺点,就是群聊的时候不能设置昵称显示格式,某些的昵称很长很长,影响阅读。胜在有大量有用的扩展,比如自动纠错,关键字高亮提醒,别的软件不是缺这就是缺那,Pidgin是唯一集大成的。

Gajim
PyGTK写的,很简洁,问题是它的用户列表设计的比较失败,用户组缩进感觉乱七八糟的。

Psi
Qt写的,跨平台,非常非常简单,连个群聊书签功能都没有,但也不是说干不了,得打开xmpp console自己输指令,它的显示界面是我最喜欢的,简单清晰,没有多余的东西,缺点是无法用tab组织聊天窗口。

iChat
我最喜欢的,不过只能在苹果上用,装上个chax可以锦上添花。

Empathy
因为Pidgin开发太慢等等问题,Gnome自己弄了一个Empathy,第一次用是在Ubuntu 10.4上,优化的很漂亮,就是没Pidgin那么多功能。

PHP成员函数中竟然也能用static声明变量

又发现一个PHP Feature,PHP成员函数中竟然也能用static声明变量。怎么想怎么奇怪,你都创建新实例了,怎么static还是有效?不过有时候还蛮有用的。

class static_var {
    function __construct($name) {
        $this->name = $name;
    }
    function output() {
        static $counter;
        $counter++;
        echo $counter.'|'.$this->name.'|';
    }
}
$t1 = new static_var('take 1');
$t1->output();
$t2 = new static_var('take 2');
$t2->output();