TaintDroid

2016-01-05  本文已影响473人  sakuradream
前期资料

源码下载与编译使用
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抓取日志查看结果


    日志纪录
上一篇 下一篇

猜你喜欢

热点阅读