04-07-2017, 02:00 AM
(This post was last modified: 05-03-2017, 11:20 PM by Seadragon91.)
APIFuzzing - a lua plugin for fuzzing and checking the API
Github
https://github.com/cuberite/APIFuzzing
Commands
fuzzing
checkapi
Fuzzing
The runme file has to be copied to the root folder of Cuberite.
Under linux run the file runme.sh and it will startup Cuberite.
The server will be started and runs the console command fuzzing. If an crash occurs:
If an crash occurs:
CheckAPI
Start the server and run the console command checkapi. The plugin will be finished if the message CheckAPI completed! appears. The results, if any, are in the console output and in cuberite log files.
Features
It can catch:
TODOs
Github
https://github.com/cuberite/APIFuzzing
Commands
fuzzing
checkapi
Fuzzing
The runme file has to be copied to the root folder of Cuberite.
Running
Under windows run the file runme.bat and it will startup Cuberite.Under linux run the file runme.sh and it will startup Cuberite.
The server will be started and runs the console command fuzzing. If an crash occurs:
If an crash occurs:
- Under linux the script will automatically restart cuberite and run the command again
- Under windows, you need to close the debugger message box that will appear, then cuberite will start and run the command again
CheckAPI
Start the server and run the console command checkapi. The plugin will be finished if the message CheckAPI completed! appears. The results, if any, are in the console output and in cuberite log files.
Features
It can catch:
- Syntax errors, indicates a problem in code generation of plugin
- Runtime errors, function doesn't exists, is not exported or flag IsStatic is missing in APIDoc
TODOs
- The function CreateSharedIgnoreTable in file tables.lua contains a list of classes and functions that are currently ignored
- Find a way to run the command fuzzing on startup again, for travis use Works now, but currently not much use as there are open issues for crashes already
- The table g_FalsePositives contains functions that are false positives, the generated code needs to be improved for them