Commit 6a7d6f45 by 文周繁

feat:将asan、valgrind验证脚本修改为python3版本

parent 834bfd08
# 环境 # 环境
```sh ```sh
python2.7 python3
``` ```
# valgrind.py用法 # valgrind.py用法
```sh ```sh
# 在python2.7环境下执行valgrind.py,脚本共接收四个参数 # 在python3环境下执行valgrind.py,脚本共接收四个参数
# 第一个参数为可执行程序,也就是被测目标程序 # 第一个参数为可执行程序,也就是被测目标程序
# 第二个参数为产生crashs的种子目录 # 第二个参数为产生crashs的种子目录
# 第三个参数用于存储vargrind检测后疑似漏洞的seeds文件夹目录 # 第三个参数用于存储vargrind检测后疑似漏洞的seeds文件夹目录
# 第四个参数为标准输出文件路径,用于存储标准输入信息 # 第四个参数为标准输出文件路径,用于存储标准输入信息
# 第五个参数为错误信息文件路径,用于存储错误信息 # 第五个参数为错误信息文件路径,用于存储错误信息
# 第六个参数为程序模糊测试参数,例如:@@ # 第六个参数为程序模糊测试参数,例如:@@
# 例:python valgrind.py /path/to/jhead /path/to/crash-seeds /path/to/bug-seeds /path/to/stdout /path/to/stderr @@ # 例:python3 valgrind.py /path/to/jhead /path/to/crash-seeds /path/to/bug-seeds /path/to/stdout /path/to/stderr @@
``` ```
# asan.py用法 # asan.py用法
```sh ```sh
# 在python2.7环境下执行asan.py,脚本共接收四个参数 # 在python3环境下执行asan.py,脚本共接收四个参数
# 第一个参数为可执行程序,也就是被测目标程序 # 第一个参数为可执行程序,也就是被测目标程序
# 第二个参数为种子目录 # 第二个参数为种子目录
# 第三个参数用于存储asan检测后疑似漏洞的seeds文件夹目录 # 第三个参数用于存储asan检测后疑似漏洞的seeds文件夹目录
# 第四个参数为标准输出文件路径,用于存储标准输入信息 # 第四个参数为标准输出文件路径,用于存储标准输入信息
# 第五个参数为错误信息文件路径,用于存储错误信息 # 第五个参数为错误信息文件路径,用于存储错误信息
# 第六个参数为程序模糊测试参数,例如:@@ # 第六个参数为程序模糊测试参数,例如:@@
# 例:python asan.py /path/to/jhead /path/to/crash-seeds /path/to/bug-seeds /path/to/stdout /path/to/stderr @@ # 例:python3 asan.py /path/to/jhead /path/to/crash-seeds /path/to/bug-seeds /path/to/stdout /path/to/stderr @@
``` ```
...@@ -29,6 +29,7 @@ def TIMEOUT_COMMAND(command, path, output_seeds_dirname, stdout, stderr): ...@@ -29,6 +29,7 @@ def TIMEOUT_COMMAND(command, path, output_seeds_dirname, stdout, stderr):
if it doesn't normally exit within timeout seconds and return None""" if it doesn't normally exit within timeout seconds and return None"""
process = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True) process = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
outs, errs = process.communicate() outs, errs = process.communicate()
errs = str(errs, "utf-8", errors='ignore')
stdout.write(outs) stdout.write(outs)
is_search_0 = False is_search_0 = False
search_by_count = 0 search_by_count = 0
......
...@@ -30,6 +30,7 @@ def TIMEOUT_COMMAND(command, path, output_seeds_dirname, stdout, stderr): ...@@ -30,6 +30,7 @@ def TIMEOUT_COMMAND(command, path, output_seeds_dirname, stdout, stderr):
if it doesn't normally exit within timeout seconds and return None""" if it doesn't normally exit within timeout seconds and return None"""
process = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True) process = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
outs, errs = process.communicate() outs, errs = process.communicate()
errs = str(errs, "utf-8", errors='ignore')
stdout.write(outs) stdout.write(outs)
err_data = '' err_data = ''
search_at_count = 0 search_at_count = 0
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment