为什么不常写Blog了

博客更新频率越来越低,其实是有原因的:

1. 越来越注重隐私,很多事情不愿分享出来
2. 私人时间越来越少,很难有合适的心境和大把的时间写一篇高质量的文章
3. 零散的随笔和技术摘要主要放在了微博和Wiz里
4. 不喜欢无病呻吟,乱发感慨,大部分时间希望自己单独消化

以前看别人的博客更新越来越慢,总会觉得是因为不够坚持。现在轮到自己,才发现随着年纪的增长,文字产出的降低还确实是个趋势。经过各种筛选和斟酌之后,能写出来的也就剩下技术文章和一些隐私度较低的分享了。

各位看官,还请见谅。

RSA APJ 2014回顾

7月份20号的那一周,我有幸去了趟新加坡,参加RSA ASIA Pacific & Japan 2014安全峰会,并做了两场主题演讲。时隔两年,再一次“走出国门”,并且继AVAR 2012之后,靠着自己的努力在技术上又向前迈了一步,所以整体来讲,我还是挺开心的。

RSA APJ是RSA针对亚太地区举行的安全峰会,今年是第二届。相对RSA USA,名气弱了一些,参会企业中传统安全厂商很少,演讲主题整体技术水平也要差一个层次。不过好歹也算是RSA举办的会议,规模和会议等级也算得上是世界次顶级会议之一了。

这次RSA参会的最大感受是,移动安全在企业安全领域中还没被引起重视,仍然是Windows APT为主。因为最近公司的项目比较忙,这次演讲准备得有点仓促,所以表现只能算一般。英语因为长期没有语境,感觉也退化了不少。

PC端利用masterkey漏洞和jdi接口进行root

最近要实现PC端root的方案,逆了某客户端后发现可以通过masterkey漏洞来完成4.3版本系统(+之前)的大部分root。具体调研之后发现其实是2013年的技术,最先应该是Saurik提出的,他的Cydia Impactor中已经实现了该方案。

该方案主要的原理是:在我前面分析masterkey漏洞的文章里提到,利用masterkey漏洞的主要方法是替换文件,然后在替换后的文件里做一些事情。这样的方法有一些局限性。Saurik提出可以通过替换AndroidManifest.xml提权为sytem用户,然后再通过一些方法提权为root用户,这样就可以只通过替换AndroidManifest.xml完成root。

Android Native So加壳技术

目前市面上针对Apk的保护主要是基于Dex,公开的有DexGuard、梆梆、爱加密、ApkProtect等,私底下相信很多涉及到技术保密的App开发商都在做自己的保护策略。

而针对so的保护就相对滞后了一些,这里有so在app中扮演的角色的原因,也有so自身特点的原因。

我个人理解,elf文件相对Windows的PE来说松散一些,物理磁盘上的文件和内存里的文件镜像差异更大,所以在处理上要解决的问题较多。再加上Arm汇编指令的特点,在处理跳转时考虑的问题较多,所以导致针对Android So的保护成本较高。

Android so加壳主要需要解决两个问题:
1. 对elf文件加壳
2. 对Android So的加载、调用机制做特殊处理

基于编译水印的山寨应用检测

山寨应用是目前国内Android应用的一大问题,山寨应用主要存在于以下三个场景:

1. 类似于GingerMaster的基于服务器端多态的重新打包的病毒
2. 第三方开发者修改其他正版应用添加广告等
3. Appk破解。

这里所说的山寨应用,大体可以分为两类:
1. Apktool重新打包
2. 假冒应用

Android第三个签名漏洞#9950697分析

上周末Google发布了Android 4.4,随着一系列新功能包括安全措施的发布,我们也从AOSP的源码中看到了google悄悄修复了一个bug:

https://android.googlesource.com/platform/libcore/+/2da1bf57a6631f1cbd47cdd7692ba8743c993ad9%5E%21/#F0

LBE“免root主动防御”分析

注:转载请注明出处

LBE在新版本V5.1中增加了"免ROOT"的功能,可以在不root的情况下实现root后才有的功能,比如卸载系统软件、主动防御等。

经过百度安全实验室的分析,LBE的免ROOT功能是利用Android签名验证漏洞(编号9695860)替换了系统应用SettingsProvider,然后在SettingsProvider进程里以System权限加载执行LBE自己的功能模块,达到root后才能实现的功效。下面我们来分析这个"免ROOT"实现的主要步骤。

apktool 2.0+netbeans 7.3调试apk

Apktool 2.0优化了调试的支持,相对1.5.3的版本,主要做了以下改进:
1. 可以配合Netbeans 7.3调试apk
2. 支持显示寄存器的值,这是非常好的改进(1.5.3只可以显示函数参数P的值)
 
目前2.0还没有release,这是我自己编译的版本,下载地址:http://pan.baidu.com/share/link?shareid=1438815794&uk=369410799
netbeans 7.3下载地址:https://netbeans.org/downloads/
 
具体调试方法,以test.apk为例: