Skip to content

Latest commit

 

History

History
40 lines (25 loc) · 1.21 KB

README.md

File metadata and controls

40 lines (25 loc) · 1.21 KB

symbolicCRC

Symbolically executing CRC checks using FuzzBALL, angr, and Java Ranger. Please refer to the paper "It Doesn’t Have to Be So Hard: Efficient Symbolic Reasoning for CRCs" published at BAR2020 for more details.

The symbolic execution engines are available at:

Directory Contents

  • crc32-pm.c The CRC check that uses branching instead of a table-lookup. This is the same version as was used by Jung et al. in the fuzzification paper.

  • crc32-symarr.c The CRC check that uses table lookup and was taken from the EternalPass DARPA CGC challenge from the cb-multios repository.

  • crc64.c The 64bit CRC check using table lookup taken from liblzma.

  • MyCRC32.java is the Java translation of the fuzzification CRC32 implementation.

  • runJRanger.jpf Driver script to run Java Ranger

  • runFBCRC32.pl Driver script to run FuzzBALL

  • run-angrPM.py Driver script to run angr