VirtualBox

Changeset 72436 in vbox for trunk


Ignore:
Timestamp:
Jun 4, 2018 7:59:26 PM (7 years ago)
Author:
vboxsync
Message:

Runtime: bugref:9006 and bugref:9188: Initial code drop for a small and simple fuzzing framework which will be used for fuzzing our various parsers which handle untrusted user input

(filesystem, disk images, archives, certificates, etc.). Supports fuzzing any binary as long as it accepts input through a file or stdin so far. Very much work in
progress...

Location:
trunk
Files:
3 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/iprt/mangling.h

    r72309 r72436  
    10081008# define RTFsIsoMakerCmdEx                              RT_MANGLER(RTFsIsoMakerCmdEx)
    10091009# define RTFsNtfsVolOpen                                RT_MANGLER(RTFsNtfsVolOpen)
     1010# define RTFuzzCmdMaster                                RT_MANGLER(RTFuzzCmdMaster)
     1011# define RTFuzzCtxCfgGetBehavioralFlags                 RT_MANGLER(RTFuzzCtxCfgGetBehavioralFlags)
     1012# define RTFuzzCtxCfgGetInputSeedMaximum                RT_MANGLER(RTFuzzCtxCfgGetInputSeedMaximum)
     1013# define RTFuzzCtxCfgGetTmpDirectory                    RT_MANGLER(RTFuzzCtxCfgGetTmpDirectory)
     1014# define RTFuzzCtxCfgSetBehavioralFlags                 RT_MANGLER(RTFuzzCtxCfgSetBehavioralFlags)
     1015# define RTFuzzCtxCfgSetInputSeedMaximum                RT_MANGLER(RTFuzzCtxCfgSetInputSeedMaximum)
     1016# define RTFuzzCtxCfgSetTmpDirectory                    RT_MANGLER(RTFuzzCtxCfgSetTmpDirectory)
     1017# define RTFuzzCtxCorpusInputAdd                        RT_MANGLER(RTFuzzCtxCorpusInputAdd)
     1018# define RTFuzzCtxCorpusInputAddFromDirPath             RT_MANGLER(RTFuzzCtxCorpusInputAddFromDirPath)
     1019# define RTFuzzCtxCorpusInputAddFromFile                RT_MANGLER(RTFuzzCtxCorpusInputAddFromFile)
     1020# define RTFuzzCtxCreate                                RT_MANGLER(RTFuzzCtxCreate)
     1021# define RTFuzzCtxCreateFromState                       RT_MANGLER(RTFuzzCtxCreateFromState)
     1022# define RTFuzzCtxCreateFromStateFile                   RT_MANGLER(RTFuzzCtxCreateFromStateFile)
     1023# define RTFuzzCtxInputGenerate                         RT_MANGLER(RTFuzzCtxInputGenerate)
     1024# define RTFuzzCtxRelease                               RT_MANGLER(RTFuzzCtxRelease)
     1025# define RTFuzzCtxRetain                                RT_MANGLER(RTFuzzCtxRetain)
     1026# define RTFuzzCtxStateExport                           RT_MANGLER(RTFuzzCtxStateExport)
     1027# define RTFuzzCtxStateExportToFile                     RT_MANGLER(RTFuzzCtxStateExportToFile)
     1028# define RTFuzzInputAddToCtxCorpus                      RT_MANGLER(RTFuzzInputAddToCtxCorpus)
     1029# define RTFuzzInputQueryData                           RT_MANGLER(RTFuzzInputQueryData)
     1030# define RTFuzzInputQueryDigestString                   RT_MANGLER(RTFuzzInputQueryDigestString)
     1031# define RTFuzzInputRelease                             RT_MANGLER(RTFuzzInputRelease)
     1032# define RTFuzzInputRemoveFromCtxCorpus                 RT_MANGLER(RTFuzzInputRemoveFromCtxCorpus)
     1033# define RTFuzzInputRetain                              RT_MANGLER(RTFuzzInputRetain)
     1034# define RTFuzzInputWriteToFile                         RT_MANGLER(RTFuzzInputWriteToFile)
     1035# define RTFuzzObsCreate                                RT_MANGLER(RTFuzzObsCreate)
     1036# define RTFuzzObsDestroy                               RT_MANGLER(RTFuzzObsDestroy)
     1037# define RTFuzzObsExecStart                             RT_MANGLER(RTFuzzObsExecStart)
     1038# define RTFuzzObsExecStop                              RT_MANGLER(RTFuzzObsExecStop)
     1039# define RTFuzzObsQueryCtx                              RT_MANGLER(RTFuzzObsQueryCtx)
     1040# define RTFuzzObsSetTestBinary                         RT_MANGLER(RTFuzzObsSetTestBinary)
     1041# define RTFuzzObsSetTestBinaryArgs                     RT_MANGLER(RTFuzzObsSetTestBinaryArgs)
     1042# define RTFuzzObsSetTmpDirectory                       RT_MANGLER(RTFuzzObsSetTmpDirectory)
    10101043# define RTGetOpt                                       RT_MANGLER(RTGetOpt)
    10111044# define RTGetOptArgvFree                               RT_MANGLER(RTGetOptArgvFree)
  • trunk/src/VBox/Runtime/Makefile.kmk

    r71916 r72436  
    16291629                $(patsubst common/checksum/alt-%,common/checksum/openssl-%,$(RuntimeR3_SOURCES)) ) ) \
    16301630        common/checksum/crc32-zlib.cpp \
     1631        common/fuzz/fuzz.cpp \
     1632        common/fuzz/fuzz-observer.cpp \
     1633        common/fuzz/fuzzmastercmd.cpp \
    16311634        common/misc/aiomgr.cpp
    16321635ifneq ($(KBUILD_TARGET),win)
  • trunk/src/VBox/Runtime/tools/Makefile.kmk

    r71492 r72436  
    184184 RTTraceLogTool_SOURCES = RTTraceLogTool.cpp
    185185
     186 # RTFuzzMaster - Fuzzing master tool.
     187 PROGRAMS += RTFuzzMaster
     188 RTFuzzMaster_TEMPLATE = VBoxR3Tool
     189 RTFuzzMaster_SOURCES = RTFuzzMaster.cpp
     190
    186191 if1of ($(KBUILD_TARGET), darwin linux solaris win)
    187192  # RTKrnlModInfo - our lsmod/kextstat clone (for testing the RTKrnlMod code).
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette