记录开发过程中的问题和功能。毕se代做,小家电开发。 收徒带做企业级项目,帮助毕业生和转行人员顺利找到工作。

LiSun

记录开发过程中的问题和功能。毕se代做,小家电开发。 收徒带做企业级项目,帮助毕业生和转行人员顺利找到工作。

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

一、简介

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. 大佬的网站 干货满满

posted on 2023-06-03 20:50  嵌入式单片机实验室  阅读(223)  评论(0)    收藏  举报  来源
记录开发过程中的问题和功能。毕se代做,小家电开发。 收徒带做企业级项目,帮助毕业生和转行人员顺利找到工作。