rizinorg / cutterdrcov Goto Github PK
View Code? Open in Web Editor NEWDynamoRIO coverage visualization for cutter
License: MIT License
DynamoRIO coverage visualization for cutter
License: MIT License
See details at https://github.com/nccgroup/Cartographer/blob/main/EZCOV.md:
The EZCOV ("Easy Coverage") format was created to simplify the formatting of coverage data and to provide Ghidra-specific functionality in Cartographer.
Below is an example of the EZCOV format.
EZCOV VERSION: 1
0x00101000, 20, [ ]
0x00101016, 5, [ ]
0x00201251, 6, [ MAIN ]
0x00201257, 22, [ MAIN ]
0x00101160, 9, [ OVR1 ]
The problem is that there are some inaccuracies in dynamo block size, to my best knowledge the block in dynamo rio always terminated with jmp or return ... which isn't the case for r2 ... that isn't the problem the real problem is that DynamoRIO calculates the sizes of blocks in wrong way which leads to graphs as the following one:
Name from drcov is "C:\Windows\notepad.exe", Filename from r2 is "notepad.exe".
getModuleIdx()
will not match them together and return None, which will lead to an exception:
Traceback (most recent call last):
File "/home/florian/.local/share/RadareOrg/Cutter/plugins/python/CutterDRcov/cutterplugin.py", line 57, in dropFile
self.loadcov(fileName)
File "/home/florian/.local/share/RadareOrg/Cutter/plugins/python/CutterDRcov/cutterplugin.py", line 74, in loadcov
analyse(self.config)
File "/home/florian/.local/share/RadareOrg/Cutter/plugins/python/CutterDRcov/covTable.py", line 58, in analyse
entry, hits = analyse_function(function, config['bbs'][idx])
TypeError: list indices must be integers or slices, not NoneType
Bug description:
After loading the coverage file into the plugin's field nothing happens. The problem occurs only on Linux.
Info:
Cutter version: 2.1.2
DrMemory build: cronbuild-2.5.19232
Attached files in .zip file:
Binary
Binary's drcov log
Binary's source code
test.zip
probably by making that row bold or something similar
Since the last commit of CutterDRcov, drcov has updated and drcov log files now have a new version.
Please add compatability with the latest drcov. The log file format might have changed only little making the implementation of a parser for the latest drcov straightforward.
DRCOV VERSION: 3
DRCOV FLAVOR: drcov-64
Module Table: version 5
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.