Giter Site home page Giter Site logo

Comments (10)

ifratric avatar ifratric commented on June 27, 2024

Looks like the sample you provided caused a crash in the target so it didn't get added to the corpus (hence the error message you are getting). If the sample isn't genuinely crashing the target, it could also mean your command line flags are incorrect, but it's impossible to tell more with the information provided.

from jackalope.

prksastry avatar prksastry commented on June 27, 2024

Looks like the sample you provided caused a crash in the target so it didn't get added to the corpus (hence the error message you are getting). If the sample isn't genuinely crashing the target, it could also mean your command line flags are incorrect, but it's impossible to tell more with the information provided.

instead of using shared memory, making writing the samples to disk, making the fuzzer to get started with multiple executions, but i am unable to see the fuzzing speed and other metrics, in the command line, i have eliminated -delivery shmem and -m option, and the instrument module is same as the coverage module of WinAFL and the target module is the harness/target application, i want to get clarified from you , is the method followed by me correct? since using shmem option giving me same error as that of @woznez

from jackalope.

ifratric avatar ifratric commented on June 27, 2024

If you post your full command line I might be able to tell you more.

from jackalope.

prksastry avatar prksastry commented on June 27, 2024

If you post your full command line I might be able to tell you more.

fuzzer.exe -in in -out out -t 1000 -instrument_module msxml6.dll -target_module myapp.exe -target_method main -nargs 2 -iterations 10000 -persist -loop -cmp_coverage -- /path/to/myapp.exe @@ i am following https://symeonp.github.io/2017/09/17/fuzzing-winafl.html and want to do the same thing in jackalope, is it correct?

from jackalope.

ifratric avatar ifratric commented on June 27, 2024

Hmm yes, I don't see anything wrong in the command line itself. If you're getting errors, you might try without -cmp_coverage or with -patch_return_addresses, and see if that behaves differently.

from jackalope.

woznez avatar woznez commented on June 27, 2024

Hmm yes, I don't see anything wrong in the command line itself. If you're getting errors, you might try without -cmp_coverage or with -patch_return_addresses, and see if that behaves differently.

thanks, its working fine for me but like WinAfl how can we check map coverage for this?

from jackalope.

ifratric avatar ifratric commented on June 27, 2024

Exec speed, code coverage, no of paths should all be printed to the stdout every second. I guess if your target prints out a lot of stuff it might fly up too fast so you might miss it.

As for coverage map, Jackalope is not AFL-based and does not use AFL-style coverage map. Instead, coverage is represented as a set of "offsets" (e.g. basic block offsets for bb coverage, or edges for edge coverage etc.). The number of offsets should be printed together with other status lines every second.

from jackalope.

woznez avatar woznez commented on June 27, 2024

> Exec speed, code coverage, no of paths should all be printed to the stdout every second. I guess if your target prints out a lot of stuff it might fly up too fast so you might miss it.

As for coverage map, Jackalope is not AFL-based and does not use AFL-style coverage map. Instead, coverage is represented as a set of "offsets" (e.g. basic block offsets for bb coverage, or edges for edge coverage etc.). The number of offsets should be printed together with other status lines every second

Exec speed, code coverage, no of paths should all be printed to the stdout every second. I guess if your target prints out a lot of stuff it might fly up too fast so you might miss it.

As for coverage map, Jackalope is not AFL-based and does not use AFL-style coverage map. Instead, coverage is represented as a set of "offsets" (e.g. basic block offsets for bb coverage, or edges for edge coverage etc.). The number of offsets should be printed together with other status lines every second.

okok i got it thanks..

from jackalope.

prksastry avatar prksastry commented on June 27, 2024

Exec speed, code coverage, no of paths should all be printed to the stdout every second. I guess if your target prints out a lot of stuff it might fly up too fast so you might miss it.

As for coverage map, Jackalope is not AFL-based and does not use AFL-style coverage map. Instead, coverage is represented as a set of "offsets" (e.g. basic block offsets for bb coverage, or edges for edge coverage etc.). The number of offsets should be printed together with other status lines every second.

actually i have one doubt in understanding this, coverage is measured as offsets, no of offsets in each exec is displayed in numbers, but how can one measure in percentage?, what is the denominator to which this offsets can be divided to get % coverage of the module?

from jackalope.

ifratric avatar ifratric commented on June 27, 2024

The percentage is, by design, not known. TinyInst is a dynamic instrumentation and it discovers offsets at runtime, it doesn't know their count in advance. If you want an estimate on the number of basic blocks, you can use another tool like IDA.

But note that AFL also won't tell you the percentage of coverage you're hitting - it will only tell you the percentage of coverage map that is filled, and the map is always the same size (64KB by default), so the percentage it show is relative to that, not the actual number of blocks/edges.

from jackalope.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.