Category Archives: 信息安全

发布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

编译Windows平台Android SDK

这是一件很吐血的事,折腾了半天的时间,最后发现版本不一致害死人。

Android SDK中有不少小工具,如果要自己改造一下,就需要重新编译。Android原生自然是Linux,但毕竟用户绝大部分是Windows的,所以还是要给Win下编一份。

根据platform/development/docs/howto_build_SDK.txt文档,主要步骤如下:

  1. 在Linux下编一份for linux的;
  2. 在Windows下装cygwin和一堆包;
  3. 把源码和SDK for Linux拷贝到Windows下;
  4. 用development/build/tools/make_windows_sdk.sh脚本编译Windows平台相关文件,并且自动替换掉SDK for Linux中的相应文件,于是一个SDK for Windows就诞生鸟……

可是……最新的源码里找不到这个脚本。倒是有一个patch_windows_sdk.sh,看起来和上面的很像,嗯。也懒得git log翻修订记录了,直接用——失败。

最后翻到同目录下的windows_sdk.mk,发现目前版本的真正编译方法了:

  1. 在Linux下编一份for linux的:make PRODUCT-sdk-sdk
  2. 安装mingw32
  3. 在Linux下编译for Windows的:make PRODUCT-sdk-win_sdk

大功告成……方便了很多,但是各种被老资料耽误的兄弟们,请尽情地吐血吧。

最后——狠揍自己:不论是来一次git log还是来一次vim windows_sdk.mk,都可以不用绕这么多弯的。

病毒分析书籍(译)

作者:mhl

翻译:Claud Xiao

原文地址:http://www.malwarecookbook.com/?p=49

今天Sunbelt Software发表了一篇博客介绍病毒分析的书籍,我也一直打算做同样的事。某些出版商出于竞争的考虑,不准作者引用其他出版商的书籍。因此,尽管我很想在Malware Analyst’s Cookbook中引用我喜欢的一些书,但不被允许这样做。所以,我选择了在这篇博文中将它们列举出来。以下就是我认为在病毒分析方面很值得一读的书籍:

Continue reading