New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Initial implementation of DRCOV-compatible code coverage collection. #311
Conversation
assafcarlsbad
commented
May 29, 2020
- The output file can be loaded by an IDA plugin such as Lighthouse in order to visualize the collected code coverage.
- For this revision, only the UEFI loader was modified to keep a list of loaded images. I believe this amendment can be ported to the other loaders with relative ease.
Hi, Add your name into credits.txt too. |
Already did 😄 |
yo, I just woke up and on my mobile. So i did not realize it, Btw, qiling/coverage.py need to be somewhere. It should not be in qiling. This is a feature not widely use in the core engine. |
Please put more docs in coverage.py and qltool that this is DRCOV format, from DynamoRio Also, making it easy to extend for other coverage formats in the future will be nice. |
Hi, I made some changes in accordance with your comments. Can you please re-review? |
Nice work! Does qltool report error if i pass in an invalid coverage name? |
Please update README with a new example. |
Done :) |
README.md
Outdated
With code coverage collection (UEFI only for now): | ||
|
||
``` | ||
$ ./qltool run -f TcgDxe.efi --rootfs . --coverage-format drcov --coverage-file TcgDxe.cov |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is should be ,./qltool run -f examples/rootfs/xxxx
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed.
Great work, I was thinking of implementing the same thing, but you've done a much better job. This should also work with something like Dragon Dance: https://github.com/0ffffffffh/dragondance |
A final request from me: please have a README in coverage/ about this coverage framework, with some intructions on how to extend it for a new coverage. |
the readme should goes to docs, maybe a differents pr in https://github.com/qilingframework/rtfd.io |
it is good to have that in source code, too.
|
Done. Please let me know if I'm missing something or if you want me to elaborate more on some aspects. |
perfect ! thanks ! |