TaintDroid

前期资料

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


    日志纪录
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,790评论 25 709
  • 没有使用静态分析,只是用了数据流分析,没有控制流分析,不能对本地方法进行污点追踪,不能对程序控制流进行污点追踪。 ...
    hus笨笨阅读 601评论 0 0
  • 浮生常窃一时闲, 浊酒无杯莫自嫌。 ...
    五号非特工阅读 203评论 0 0
  • 这本书,在上下班的路上听完很久了,想着记录一下,但是也觉得没有什么好记录的,蒋家的女人似乎因为是蒋家的更显...
    lareinamars阅读 609评论 0 0
  • 这是一所文艺又超有原木艺术感觉的民宿。店长是个斯文又十分讲究,对木艺、竹艺的热爱融于每一个小角落,对茶艺、书法的研...
    冯冯7阅读 344评论 0 1