Flawfinder在Python2和Python3环境下对代码进行扫描方法
1. Flawfinder
Flawfinder是一款开源的关于C/C++静态扫描分析工具,其根据内部字典数据库进行静态搜索,匹配简单的缺陷与漏洞。
官网:https://dwheeler.com/flawfinder/#downloading
2. Flawfinder的安装
由于历史原因,Python有两个大的版本分支,Python2和Python3,又由于一些库只支持某个版本分支,所以需要在电脑上同时安装Python2和Python3。对于Flawfinder而言,其是基于 Python2 实现的一款工具,因此其安装及执行均需要在Python2环境下进行,但目前开发中更多地是在使用Python3进行软件开发,所以需要对两个版本的Python进行兼容。
在Windows系统下,不论python2还是python3,python可执行文件都叫python.exe。在cmd下输入python得到的版本号取决于环境变量里哪个版本的python路径更靠前,其在windows中是按照顺序查找的。比如环境变量里的顺序是:

如果想用python2运行一个脚本,又想用python3运行另一个脚本,需要怎么做?来回改环境变量显然很麻烦。
有两种方法可以对其进行区分。
1) 把两个python.exe进行改名,一个改成python2.exe,一个改成python3.exe。


2)借用py的一个参数来调用不同版本的Python。即,
- py -2 调用Python2
- py -3 调用的是Python3
在这种方式下,对于Python扩展包的安装也可以进行区分开来,在各自的环境下进行安装。
当需要python2的pip时:
`py -2 -m pip install xxx`
当需要python3的pip时:
` py -3 -m pip install xxx`
即,安装Flawfinder时,需要在Python2环境下,运行:
`py -2 -m pip install flawfinder-2.0.15-py2.py3-none-any.whl`
“flawfinder-2.0.15-py2.py3-none-any.whl”镜像文件可通过附件进行下载,也可以自行在官网下载最新版本。
3. Flawfinder的使用
1)将flawfinder文件放在被扫描文件的同级目录下。
2)在Python2的环境下执行:
`py -2 flawfinder -m 1 > ****`
即可对相应代码进行扫描检测。
Flawfinder在Python2和Python3环境下对代码进行扫描方法的更多相关文章
- urllib库在python2和python3环境下的使用区别
好东西啊!!! Python 2 name Python 3 name urllib.urlretrieve() urllib.request.urlretrieve() urllib.urlclea ...
- RabbitMQ学习系列三:.net 环境下 C#代码订阅 RabbitMQ 消息并处理
上一篇已经讲了Rabbitmq如何在Windows平台安装 不懂请移步: RabbitMQ学习系列二:.net 环境下 C#代码使用 RabbitMQ 消息队列 一.理论 .net环境下,C#代码订阅 ...
- Anaconda3+python3环境下如何创建python2环境(win+Linux下适用,同一个anaconda下py2/3共存)
本人之前已经在anaconda环境下已经安装了python3的环境,现在因为一些需求,要安装python2环境 1.打开anaconda的anaconda prompt查看当前环境: conda in ...
- Anaconda快捷搭建Python2和Python3环境
我们在使用Pycharm编辑Python程序经常会因为不熟悉Python2和Python3的一些代码区别而导致错误,我们知道他们之间很多代码是必须运行在对应版本中的,否则是会报错的.因此,本文介绍一个 ...
- Python: 下载底层由Python2转Python3环境更新手记
谨记录运行环境改变过程中所碰到的坑. 下载底层运行环境由Python2移至Python3所遇到的问题及处理方法: 1.所引的第三方组件,基本都有替代支持:msvcr90.dll不再需要,有则报错2.引 ...
- python2 和python3共存下问题
一.使用python2 or python3 1. 使用python2 $ python xxx.py 2. 使用python3 $ python3 xxx.py 二.脚本调用 /usr/bin/en ...
- 在新建的python3环境下运行jupyter失败的原因
在deeplearning中再运行jupyter notebook就出现了错误: (deeplearning) userdeMBP:~ user$ jupyter notebook -bash: ju ...
- Mac python3 环境下 完善pdf转jpg脚本
由于样本图片数据都是保存在pdf里,想拿到样本必须先把图片从pdf中提取出来,算是数据清洗中的一点小小的积累吧. 这里不得不吐槽一下公司存储图片的机制,业务员把jpg格式的照片放到word里,然后用工 ...
- VS2017环境下安装AO10.2的方法
软件版本 Visual Studio的全称.简称及版本号对应关系为: Microsoft Visual Studio 2002 VS2002 VC7.0 Microsoft Visual Studio ...
随机推荐
- QPointer的使用以及场景
QPointer的使用以及场景 在我们项目开发中,经常会遇到这种情况,在A中引用了B的对象,但是你却不知道B什么时候会析构,所以使用它会出现异常:所以今天的主角要登场了QPointer可以完美的解决这 ...
- AAC简介
AAC共有9种规格,以适应不同的场合的需要: MPEG-2 AAC LC 低复杂度规格(Low Complexity)--比较简单,没有增益控制,但提高了编码效率,在中等码率的编码效率以及音质方面,都 ...
- [SWMM]模型子汇水区划分的几种方法
子汇水区的划分是SWMM模型建模的主要步骤之一,划分的好坏对结果精度有比较大的影响.概括来讲,子汇水区的划分有以下几种思路: (1)根据管网走向.建筑物和街道分布,直接人工划分子汇水区.这个方法适用于 ...
- 一、web请求
BS架构(Browser/Server) 客户端使用统一的浏览器(Browser) 服务端(Server)基于统一的HTTP协议 流程:用户浏览器输入URL地址–>DNS域名解析出IP地址–&g ...
- 关于MYSQL5.7:Access denied for user 'root'@'localhost' (using password:YES)解决
这一类解决要提供远程服务,需要进入mysql的my.ini文件中进行修改,但是在win10系统中,my.ini不再放在MYSQL安装目录的根目录中了,需要到一类应用缓存目录中寻找MYSQL的详细配置文 ...
- 剑指offer 计划1(栈与队列)---java
1.1.题目1 剑指 Offer 09. 用两个栈实现队列 1.2.解法 解法如题目所说.定义两个栈.这里假设第一个栈为a,第二个栈为b. 实现两个函数增加尾和删除头. 增加即直接push入第一个栈. ...
- MySQL binlog 自动清理脚本
# vim /data/scripts/delete_mysql_binlog.sh 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 ...
- WAMP 2.5 无法访问局域网的解决方法
打开Apache配置文件 httpd.conf (该文件在wamp\bin\apache\apache2.4.9\conf) DocumentRoot "d:/wamp/www/" ...
- Linux系统下的软件管理(rpm)、搭建第三方软件库、yum的黑名单
对wps-office进行模糊匹配照样可以查找出该软件yum clean all ? ? ? ?##清空yum缓存识别新配置 测验安装wps软件: 安装成功即可使用办公软件 1.yum install ...
- WHY IS A BYTE 8 BITS? OR IS IT?
WHY IS A BYTE 8 BITS? OR IS IT? 原文链接:http://www.bobbemer.com/BYTE.HTM I recently received an e-mail ...