![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android Security
文章平均质量分 66
翾昱
这个作者很懒,什么都没留下…
展开
-
Android Reverse Engineering: Basics -- Tools Usage and Proguard
步骤参考http://blog.csdn.net/wawxf2008/article/details/21303907所在平台: Mac OSX 10.9.x所用工具: Android Studio 1.01 , dex2jar用Android Studio 生成一个默认blank activity (带个hello word)的兼容从2.3.3到5.01的apk。大小为934KB。原创 2015-01-29 09:19:07 · 1033 阅读 · 0 评论 -
战略转移, 各位zhihu见
这段时间有不少同学留言和私信我咨讯有关静态分析的问题. 感谢大家的热情, 但一来我这三脚猫实在水平实在有限, 而且这段时间确实很忙(CCS赶不上了::>_空闲时间我喜欢刷刷zhihu, 上面也有很多大神, 所以就把个人zhihu po在这里, 有兴趣的同学可以去zhihu找我.点我以后会开zhihu专栏, 各位敬请期待.鞠躬原创 2016-05-16 07:10:15 · 1061 阅读 · 0 评论 -
编译WALA
刚编译WALA时差点被恶心到。由于贡献者鱼龙混杂,特别是android支持那块,有些dep写的很屎。怎么能犯这么低级的错误。。。提两点,1. 在wala\com.ibm.wala.cast\lib下补commons-io-2.4.jar;2. 在com.ibm.wala.dalvik\lib下补commons-io-2.4.jar和dexlib-1.3.4.jar。目前就这原创 2016-01-18 12:53:47 · 1624 阅读 · 3 评论 -
指针分析/Point-to Analysis/Reference Analysis
目录目录指针分析指针分析的目的基础Anderson 算法例子图示指针分析指针分析紧接数据流分析,是静态分析中的一个难点。遗憾的是能把相关内容讲得通俗易懂的资料非常少,中文的更基本没有。所以我斗胆在这里以例子的形式讲一下静态分析中的指针分析。参考资料主要在此. 如果有讲错的地方还望斧正。指针分析的目的对于任何一个指针/引用,能否在编译阶段就知道它会指向内存那块位置(位置在这里并不是0x原创 2015-11-21 10:44:23 · 7576 阅读 · 3 评论 -
FlowDroid: 精确的上下文,流,字段, 对象敏感和生存周期感知的污染分析
一个Android app可包含多个组件,如activity, service, content-provider 和broadcast receiver。其中activity负责成像,也就是人机交互,是我们分析的主要入口和场所。不像传统的Java程序,Android app里不带main函数,我们无法简单的像之前一样找到程序的入口和出口来画控制流图,但app里每个组件都有函数来反应此组件的生命周原创 2015-02-16 15:25:15 · 10593 阅读 · 15 评论 -
WHYPER: Towards Automating Risk Assessment of Mobile Apps
又到了昊哥读论文时间. 今天搞的是一篇思路比较新颖的CCS 13’ paper. 作者来自于北卡州立(现在在UIUC)的谢涛组, 还算有点远房关系呢.之前一提到软件安全就离不开什么static /dynamic analysis, 不是model checking就是symbolic execution, 虽然每篇paper都用了很多吓人的terminology且都说自己有多么新颖, 站在外面看一看原创 2015-03-14 00:28:18 · 1330 阅读 · 0 评论 -
Operational Semantics in Programing Language (编程语言的操作语义)
之前一直不懂什么是semantics (语言), syntax (句法) 和grammar (语法),也不懂environment (context 上下文)到底指的是什么。 现在先简单讲下在自然语言下这些都代表了个啥。syntax和grammer是语法,即句子或者短语的组成规则,规定了什么样的句子或者短语是合法的句子或短语。一个句子由主谓宾构成即最基本的语法。而语义是指句子符合语法后所表达的意思原创 2015-02-15 13:59:51 · 1762 阅读 · 0 评论 -
Soot I: 基本了解
Static analysis指在不对program进行运行的情况下,对其行为进行分析。搞compiler的人用之于优化,搞安全的用于做taint analysis。对于Java有两大开源的static analysis 框架,Soot和WALA,前者由McGill大学维护,后者是IBM。最新的Soot开始支持对Andoird 代码分析,包括static taint analysis。从这篇开原创 2015-02-13 15:58:47 · 18404 阅读 · 6 评论 -
Soot II: 数据流框架
设计数据流分析包含4步1. 决定分析的本质。是向前还是向后?是否需要对分支特殊考虑?2. 决定近似的目标。是may还是must? 具体来说是在merge时找交集还是并集。3.原创 2015-02-14 06:41:16 · 5088 阅读 · 5 评论 -
androguard安装和使用 (一)
这两天在改好google play的crawler之后正式开始折腾androguard了。花了快一下午才在Mac上配置成功。这里说几点安装心得,for Mac OSX 10.9在brew里是找不到这些的。python-dev python-bzutils libbz2-dev libmuparser-dev libsparsehash-dev python-ptrace python-原创 2015-01-25 09:11:04 · 6225 阅读 · 4 评论 -
用求解图内节点是否可达的算法来解决IFDS问题
IFDS 问题是 Interprocedure, Finite, Distributive, Subset 问题的所写,代表了一类比较典型的静态分析问题。Interprocedure 与Intraprocedure相对,表示分析包含函数间关系;Finite 表data flow fact集合元素有限; Distributive表Join operator(也叫meet或者confluence)是并原创 2015-02-15 15:24:35 · 6447 阅读 · 6 评论 -
Andoird Apps Reverse Engineering III: Dalvik Virtual Machine
继续上篇blog。上次粗略的引入了通过apktool得到的smali code。这次来谈谈详细谈谈Dalvik bytecode。Android 的apps 虽然基于Java, 但并非跑在传统的Java 虚拟机,而是跑在由Android 开发团队自己定制的Dalvik虚拟机上。Dalvik bytecode也即与跑在Java virtual machine 的java bytecode相对应的原创 2015-01-30 16:37:40 · 907 阅读 · 0 评论 -
Andoird Apps Reverse Engineering IV: DEX - Dalvik VM excutes
.dex文件作爲Dalvik VM的可執行文件,是我們分析的核心。我們先來看看對於一個apk它的打包過程是如何的。上節我們說了大致流程,現在我們來看下詳細流程安裝過程是如何的(略)。現在我們來詳細看看一個dex文件的組成。string_ids 到class_def皆爲索引,真實的數據存放在data區,link_data爲靜態鏈接數據區(目前爲空,預留)。其中DexHea原创 2015-02-01 00:37:24 · 1281 阅读 · 0 评论 -
Android Reversing Engineering II
接下来我将按照http://book.douban.com/subject/20556210/此书的内容快速将流程大致走一遍。在这里感谢书作者非虫。首先我按照书内容第二章用Android Studio开发了个简易的注册码验证app(代码见http://www.ituring.com.cn/book/1131)。并使用apktool把新开发的app解包并反编译成smali格式的反汇编代码。目原创 2015-01-29 15:56:27 · 889 阅读 · 0 评论 -
Soot, FlowDroid 代码实例: 生成call graph, control flow graph等
安利一下老夫之前写的一些例子, 包含了些简单的实例. 移除了为我论文服务的核心代码, 等项目结束后会重新开源. 详情见我的github.原创 2016-01-14 10:14:19 · 6823 阅读 · 8 评论