【发布时间】:2013-06-28 15:36:00
【问题描述】:
我正在 python 中创建一些模糊测试,对于我来说,给定一个二进制字符串,随机翻转一些位并确保正确引发异常,或者正确显示结果以进行轻微更改,这对我来说是非常宝贵的给定有效的二进制文件。有谁知道我如何在 Python 中解决这个问题?我意识到这在低级语言中是非常微不足道的,但出于工作原因,我被告知要在 Python 中执行此操作,但我不确定如何开始,或者在 python 中获取某些东西的二进制表示。关于如何在 Python 中执行这些模糊测试的任何想法?
【问题讨论】:
-
这在 python 中可能也很简单。你的二进制字符串是什么格式的?
-
@recursive 大多数二进制字符串会是 pdf、jpg 或 png,偶尔也会加入一些其他字符串。我认为它在 Python 中很简单,因为一切都是如此,我只是还没有看到它完成。
-
你的位串是什么类型的对象?
-
@recursive 一个字符串-_-
-
字符串是一系列字符,因此要获得该字符串的二进制编码,您还需要指定字符编码。除非您的意思是包含字符“0”和“1”的字符串?
标签: python bit-manipulation fuzz-testing