美文网首页
TaintDroid

TaintDroid

作者: sakuradream | 来源:发表于2016-01-05 17:42 被阅读473次
前期资料

源码下载与编译使用
TaintDroid1-为参数添加污染标签
TaintDroid2-修改虚拟机栈
TaintDroid3-虚拟机解释器的修改
TaintDroid4-组件间污点传播

Taint.java提供的方法

getTaintString(String str) //get tag from a String
getTaintObjectArray(Object[] array) //get tag from an object array
getTaintBooleanArray(Boolean[] array) //get tag from a boolean array
getTaintCharArray(char[] array) //get tag from a char array
getTaintByteArray(byte[] array) //get tag from a byte array
getTaintDirectByteBuffer(ByteBuffer dByteBuffer) //get tag from a direct ByteBuffer
...
总结

TaintDroid是通过在函数执行时添加一个if语句来完成sink点的设置,添加有if语句的都可以认为是sink点。

验证
  1. 修改了android源码点OutputStream.write方法。如下所示。


    修改OutputStream.write方法
  2. 重新编译android源码。


    编译android源码
  3. 编写一个apk,调用OutputStream的write方法。


    MainActivity
  4. 打开TaintDroidNotify。


    TaintDroidNotify
  5. adb logcat抓取日志查看结果


    日志纪录

相关文章

  • TaintDroid

    前期资料 源码下载与编译使用TaintDroid1-为参数添加污染标签TaintDroid2-修改虚拟机栈Tain...

  • TaintDroid论文随笔

    没有使用静态分析,只是用了数据流分析,没有控制流分析,不能对本地方法进行污点追踪,不能对程序控制流进行污点追踪。 ...

  • TaintDroid: An Information-Flow

    背景目的 了解第三方应用程序是如何使用用户的隐私数据的。比如说,一个用户允许了第三方应用程序获取她的地理位置,但是...

网友评论

      本文标题:TaintDroid

      本文链接:https://www.haomeiwen.com/subject/burphttx.html