推荐一款免费开源的代码质量分析工具

news/2025/1/15 21:56:16/

文章目录

  • 一、简介
  • 二、环境安装
  • 三、使用说明
  • 四、其他报错
    • UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xe6 in position 29: ordinal not in range(128)
      • **linux:**
      • **windos:**
  • 五、安全编程规范

一、简介

Flawfinder是一款开源的关于C/C++静态扫描分析工具,其根据内部字典数据库进行静态搜索,匹配简单的缺陷与漏洞,flawfinder工具不需要编译C/C++代码,可以直接进行扫描分析。
简单快速,最大的有点就是免费,不需要编译。flawfinder工具可以在官网进行下载。

二、环境安装

flawfinder安装比较简单,由于其是基于Python实现的一款工具,所以需要首先安装Python环境,并配置环境变量。

  1. 如果没有安装ptyhon,可以去官方下载:地址
  2. 终端输入:pip install flawfinder
  3. 修改flawfinder代码
    ① 使用Everything工具,搜索flawfinder,py。
    ② 在flawfinder,py中搜索“my_input = open(”
    在这里插入图片描述
    修改后如下:
    在这里插入图片描述

三、使用说明

  1. 生产csv表格
    ①到指定文件路径,终端输入:flawfinder --csv > test-result.csv app_main.c
    ②生成表格如图
    在这里插入图片描述

  2. 生产html网页
    ①到指定文件路径,终端输入:flawfinder --html > test-result.html app_main.c
    ②生成网页如图
    在这里插入图片描述

  3. 步骤
    在这里插入图片描述
    在这里插入图片描述

  4. 扫描当前工程目录,并显示问题代码。
    flawfinder --html > test-result.html --context .

–context 显示问题代码

四、其他报错

UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xe6 in position 29: ordinal not in range(128)

  1. 错误原因
    提示中的“ordinal not in range(128)”,意思是,字符不在128范围内,即说明不是普通的ASCII字符,超出处理能力了。

  2. 解决方法
    找到flawfinder程序文件,用文本编辑器打开,在文件抬头加入以下代码。

linux:

import sys
reload(sys)
sys.setdefaultencoding("utf-8")

在这里插入图片描述

windos:

import importlib,sys
importlib.reload(sys)

五、安全编程规范

  1. 安全编程操作方法

  2. 大佬的网站 干货满满


http://www.ppmy.cn/news/192780.html

相关文章

SAP-MM-批次删除归档操作

对于物料主数据的批次管理,一旦一个物料设置了批次管理,并已经产生了业务数据,但是发现当初业务主数据搞错了,此物料不需要在SAP系统进行批次管理,是否就无法取消其批次管理了呢,因为如果要取消此批次管理&…

SpringCloud:分布式缓存之Redis哨兵

Redis提供了哨兵(Sentinel)机制来实现主从集群的自动故障恢复。 1.哨兵原理 1.1.集群结构和作用 哨兵的结构如图: 哨兵的作用如下: 监控:Sentinel会不断检查您的master和slave是否按预期工作自动故障恢复&#xff…

剑指 Offer 40. 最小的k个数

题目: 输入整数数组 arr ,找出其中最小的 k 个数。例如,输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。 示例 1: 输入:arr [3,2,1], k 2 输出:[1,2] 或者 [2,1] 示例 2…

2021年双十一有哪些运动蓝牙耳机值得买?运动蓝牙耳机推荐

无论是你想跑步或是健身、想要快乐的运动,选择一款合适的运动蓝牙耳机绝对的少不了,马上临近双十一,在所有品牌都在疯狂推销的时候,我们要怎么在这么多的商品中,找到适合自己且价格能接受的运动蓝牙耳机呢?…

Java版本UCWEB-7.2安装时出现授权失败的问题

刚才用UCWEB,发现有最新版本,用UCWEB本身升级,提示无法下载Jar文件,于是在UC官网去下载。我手机是索尼爱立信M600i,找到相应版本的UCWEB,其实就是JAVA通用版本,下载了Jar文件,传到手机记忆卡,安装位置选择记忆卡,提示:授权失败。在UC论坛里找了找相关的帖子,没多大…

常用图像数据集:标注、检索

http://www.csdn123.com/html/blogs/20131023/87499.htm 常用图像数据集:标注、检索 返回脚本百事通 1.搜狗实验室数据集: http://www.sogou.com/labs/dl/p.html 互联网图片库来自sogou图片搜索所索引的部分数据。其中收集了包括人物、动物、建筑、机械、…

五种蓝牙耳机,到底谁才是你的菜

市面上的蓝牙耳机也越来越多了。在选择具体的产品之前,你应该了解。目前的蓝牙耳机大致分为五类:头戴式、传统入耳式、最近兴起的颈挂式和双耳独立式,还有被各种运动达人反复安利的骨传导耳机,不知道选哪个好?看这篇文…

降噪蓝牙耳机哪个好?2021主流蓝牙耳机当选降噪耳机

降噪蓝牙耳机哪个好?这是很多人都在寻找的答案。耳机在我们的生活中应用广泛,而随着科技的飞速发展,小小的耳机展现出了更多智能化、人性化设计,从使用的方方面面出发,全面提升用户体验,将其价值不断放大延伸。降噪也…