https://github.com/zehmatt/drcodecov
Code Coverage client for DynamoRIO
https://github.com/zehmatt/drcodecov
code-coverage dynamorio-client
Last synced: 3 months ago
JSON representation
Code Coverage client for DynamoRIO
- Host: GitHub
- URL: https://github.com/zehmatt/drcodecov
- Owner: ZehMatt
- License: mit
- Created: 2018-11-04T16:39:16.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2019-01-20T21:17:14.000Z (over 6 years ago)
- Last Synced: 2025-03-21T09:07:00.782Z (3 months ago)
- Topics: code-coverage, dynamorio-client
- Language: C++
- Size: 18.6 KB
- Stars: 12
- Watchers: 1
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# DrCodeCov
Code Coverage client for DynamoRIO# About
Its slightly different from DynamoRIO's drcov in terms of data. DrCodeCov will create for each loaded module a bitmap that is the size of the entire image, it will mark each byte individually which can tell us following things:
- Is instruction start.
- Is instruction part.
- Is branch.
- Unreached.DrCodeCov will not count hits, this is something I did not need. You can identify which code is executed or if code jumps into parts of instruction operands, this is common in obfuscated code.
# DrCov format.
DrCodeCov can output the same format as drcov, specify this via the client option "-format drcov". We however suggest using the binary format for extended details. You will be also able to feed the drcov format directly to Lighthouse, see https://github.com/gaasedelen/lighthouse for more details.# Building
The project currently comes with a Visual Studio 2017 project. Make sure you have set environment variable DYNAMORIO_HOME to your DynamoRIO directory. Open the project in Visual Studio and choose your desired configuration to build.