{"id":15115935,"url":"https://github.com/vanhauser-thc/afl-patches","last_synced_at":"2025-09-27T21:31:22.683Z","repository":{"id":80304232,"uuid":"128515959","full_name":"vanhauser-thc/afl-patches","owner":"vanhauser-thc","description":"Patches to afl to fix bugs or add enhancements","archived":true,"fork":false,"pushed_at":"2019-09-10T18:56:26.000Z","size":81,"stargazers_count":81,"open_issues_count":0,"forks_count":19,"subscribers_count":13,"default_branch":"master","last_synced_at":"2024-09-26T01:50:00.668Z","etag":null,"topics":["afl","afl-fuzz","afl-fuzzer","fuzzer","fuzzing"],"latest_commit_sha":null,"homepage":"https://github.com/vanhauser-thc/AFLplusplus","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vanhauser-thc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-04-07T09:57:13.000Z","updated_at":"2024-08-23T05:28:00.000Z","dependencies_parsed_at":null,"dependency_job_id":"97b657db-212d-4e17-aaed-0ee1e3ab4a44","html_url":"https://github.com/vanhauser-thc/afl-patches","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vanhauser-thc%2Fafl-patches","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vanhauser-thc%2Fafl-patches/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vanhauser-thc%2Fafl-patches/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vanhauser-thc%2Fafl-patches/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vanhauser-thc","download_url":"https://codeload.github.com/vanhauser-thc/afl-patches/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234460505,"owners_count":18836837,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["afl","afl-fuzz","afl-fuzzer","fuzzer","fuzzing"],"created_at":"2024-09-26T01:44:05.172Z","updated_at":"2025-09-27T21:31:17.429Z","avatar_url":"https://github.com/vanhauser-thc.png","language":null,"funding_links":[],"categories":["Others"],"sub_categories":[],"readme":"# afl-patches\nPatches to afl to fix bugs or add enhancements\n\n\n## ARCHIVE\n\nThis github repository is archived as it serves no real purpose anymore as we have now afl+ü\nwhich has all these patches plus many more great features:\n\n**https://github.com/vanhauser-thc/AFLplusplus**\n\n\n\n\n## Introduction\n\nAll patches are for the current version afl-2.52b and can be applied in the extracted afl directory (patch -p0 \u003c patch.diff).\n\nNOTE: all patches are stand-alone. Hence several conflict with each other.\nTo ease the pain, there is now AFLplusplus which is afl-2.52b with most of the patches here incorporated:\n\n**https://github.com/vanhauser-thc/AFLplusplus**\n\nAdditionally it has been upgraded to use qemu 3.1 and supports llvm 3.8 to 8. Enjoy!\n\n\n## Patches\n\n### Fixes\n\n**afl-llvm-fix.diff**\t\t- afl-clang: fix to afl llvm for SIGCHLD in the forkserver (by kcwu(at)csie(dot)org)\n\n**afl-llvm-fix2.diff**\t\t- afl-clang: fix to afl llvm to remove target binary optimisation and use g++ for compiling (needed for LLVM 5.0+) (by mh(at)mh-sec(dot)de)\n\n**afl-sort-all_uniq-fix.diff**\t- afl-cmin: fix sort (by legarrec(dot)vincent(at)gmail(dot)com)\n\n**llvm_versions_gt_4.diff**\t- llvm_mode: fix crash when clang (with llvm version \u003e 4.x) loads compiler pass (by heiko(dot)eissfeldt(at)hexco(dot).de)\n\n\n### Enhancements / Features\n\n**afl-fuzz-context_sensitive.diff**\t\t- afl-fuzz: patch that reimplements Angora Fuzzer's context sensitive branch coverage extension. (by heiko(dot)eissfeldt(at)hexco(dot)de)\n\n**laf-intel.diff**\t\t\t\t- afl-clang-fast/afl-clang-fast++: implements laf-intel (rewriting memcmp/strcmp for easier solving) (by heiko(dot)eissfeldt(at)hexco(dot)de)\n\n**afl-llvm-optimize.diff**\t\t\t- afl-clang-fast/afl-clang-fast++: only instrument blocks that are relevant, ~5-10%% less blocks to instrument equals more speed and less map pollution. (by mh(at)mh-sec(dot)de)\n\n**afl-fuzz-tmpdir.diff**\t\t\t- afl-fuzz: patch that adds AFL_TMPDIR where the .cur_input file will be written to. If you do not want your -o folder on a ramdisk this is what you want. (by mh(at)mh-sec(dot)de)\n\n**afl-tmpfs.diff**\t\t\t\t- afl-fuzz: patch that uses tmpfs for the .cur_input file, basically the same idea that my patch uses, but maybe easier. (by jjudin(at)iki(dot)fi)\n\n**afl-fuzz-79x24.diff**                         - afl-fuzz: lower the terminal requirements to 79x24 to display the status screen. (by heiko(dot)eissfeldt(at)hexco(dot)de)\n\n**afl-fuzz-fileextensionopt.diff**\t\t- afl-fuzz: cmdline option to force the input file to have a specific extension\n\n**afl-qemu-optimize-entrypoint.diff**\t\t- afl-qemu: fixes entrypoint detection for ARM thumb (by markh(dot)sj(at)gmail(dot)com plus adds AFL_ENTRYPOINT that lets you specify any point you want for the forkserver (gives more speed) (by mh(at)mh-sec(dot)de)\n\n**afl-qemu-optimize-logconditional.diff**\t- afl-qemu: only log destinations of calls and conditional jumps. patch is only for INTEL and ARM. makes it a bit slower but helpful for large targets that fill up the map otherwise (by mh(at)mh-sec(dot)de)\n\n**afl-qemu-optimize-map.diff**\t\t\t- afl-qemu: removes 2 instructions from afl_log at a cost of 64kb.  (by mh(at)mh-sec(dot)de)\n\n**afl-qemu-speed.diff**\t\t\t\t- afl-qemu: fixes afl/qemu to allow caching, x3 speed improvement. (by abiondo on github)\n\n**afl-qemu-ppc64.diff**\t\t\t\t- afl-qemu: afl's patch is broken for PPC, william(dot)barsse(at)airbus(dot)com fixed it.\n\n**afl-as-AFL_INST_RATIO.diff**\t\t\t- afl-as: do not divide by 3 with sanitizer if AFL_INST_RATIO is manually set.  (by legarrec(dot)vincent(at)gmail(dot)com)\n\n**afl-cmin-reduce-dataset.diff**\t\t- afl-cmin: rather small dataset of testcase instead of small testcase.  (by legarrec(dot)vincent(at)gmail(dot)com)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvanhauser-thc%2Fafl-patches","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvanhauser-thc%2Fafl-patches","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvanhauser-thc%2Fafl-patches/lists"}