网上对lua进行测试的帖子太少了,然后最近正好要跑对lua进行模糊测试的过程,下面以afl为例,讲解如何对lua进行测试。
安装lua
安装lua的详细过程可以参考此链接:
https://github.com/HexHive/magma/tree/v1.2/targets/lua
首先按照preinstall.sh中的文件执行需要提前安装的依赖,然后执行fetch.sh下载lua,再执行build.sh对lua进行编译即可运行,详细执行过程如下:
安装前准备
在安装lua之前需要先安装编译lua需要的依赖:
apt-get update && \
apt-get install -y git make libreadline-dev
下载lua
讲lua下载并安装到repo目录下,repo可以替换为任何你想安装的目录
git clone https://github.com/lua/lua.git "./repo"
编译lua
在编译lua的时候可以采用gcc来编译,也可以使用afl-clang,lua默认的编译方式是gcc,在进行模糊测试时我采用的是afl-clang,也因此,在执行时报了一个错,在下文中进行讲解。
- 配置环境变量
如果你需要使用gcc来进行编译则跳过这一步,your path是你的afl-