Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android “发行运行”;afl模糊-Q“;使用二进制库_Android_Fuzzer_Android Native Library - Fatal编程技术网

Android “发行运行”;afl模糊-Q“;使用二进制库

Android “发行运行”;afl模糊-Q“;使用二进制库,android,fuzzer,android-native-library,Android,Fuzzer,Android Native Library,我试图使用afl fuzz查找Android本机库中的安全漏洞(例如libssl.so,libhttp.so,等等) 我的理解是,我应该使用QEMU,因为如果没有源代码,afl本身不足以发现bug 尝试运行以下操作时: #> afl-fuzz -Q -i input -o output -- ./libssl.so 我遇到了以下问题: [-] The current memory limit (200 MB) is too restrictive, causing an OOM faul

我试图使用
afl fuzz
查找Android本机库中的安全漏洞(例如
libssl.so
libhttp.so
,等等)

我的理解是,我应该使用QEMU,因为如果没有源代码,
afl
本身不足以发现bug

尝试运行以下操作时:

#> afl-fuzz -Q -i input -o output -- ./libssl.so
我遇到了以下问题:

[-] The current memory limit (200 MB) is too restrictive, causing an OOM fault
    in the dynamic linker.
通过将内存限制设置为“无”,我成功地解决了这个问题。然后,我遇到了这个错误:

[-] Hmm, looks like the target binary terminated before we could complete
    a handshake with the injected code. Perhaps there is a horrible bug in
    the fuzzer.

我最近才开始使用
afl
,所以我不太熟悉如何使用它,尤其是二进制库。在此方面的任何帮助都将不胜感激

首先,我不确定您是否真的需要在模糊化开源库的
-Q
模式下运行AFL。您最好使用
afl gcc
重新编译它,以便在二进制文件中安装仪器。然后,模糊化整个应用程序将更容易(更快)

事实上,只有当您有一个只用于fuzz的二进制程序时(我的意思是,您没有它的源代码),您才能在
-Q
模式下运行

然后,
afl
基本上是通过为模糊程序创建部分随机输入来工作的。我不完全理解您对库的期望,因为它绝对没有输入(它插入到另一个程序,但仅此而已)

<>所以,你可以考虑阅读更多关于模糊和SoFTFi/IO的东西,这可能是在尝试做更复杂的事情之前最好的方法。