You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Lighthouse is a powerful code coverage plugin for [IDA Pro](https://www.hex-rays.com/products/ida/) and [Binary Ninja](https://binary.ninja/). As an extension of the leading disassemblers, this plugin enables one to interactively explore code coverage data in new and innovative ways when symbols or source may not be available for a given binary.
9
+
Lighthouse is a powerful code coverage explorer for [IDA Pro](https://www.hex-rays.com/products/ida/) and [Binary Ninja](https://binary.ninja/), providing software researchers with uniquely interactive controls to study execution maps for native applications without requiring symbols or source.
9
10
10
-
This plugin is labeled only as a prototype & code resource for the community.
11
+
This project placed 2nd in IDA's [2017 Plug-In Contest](https://hex-rays.com/contests_details/contest2017/) and was later [nominated](https://pwnies.com/lighthouse/) in the 2021 Pwnie Awards for its contributions to the security research industry.
11
12
12
13
Special thanks to [@0vercl0k](https://twitter.com/0vercl0k) for the inspiration.
13
14
@@ -27,11 +28,31 @@ Special thanks to [@0vercl0k](https://twitter.com/0vercl0k) for the inspiration.
27
28
28
29
Lighthouse is a cross-platform (Windows, macOS, Linux) Python 2/3 plugin. It takes zero third party dependencies, making the code both portable and easy to install.
29
30
30
-
1. From your disassembler's python console, run the following command to find its plugin directory:
2. Copy the contents of this repository's `/plugins/` folder to the listed directory.
38
+
3. Restart your disassembler.
39
+
40
+
## Binary Ninja Installation
41
+
42
+
Lighthouse can be installed through the plugin manager on newer versions of Binary Ninja (>2.4.2918). The plugin will have to be installed manually on older versions.
43
+
44
+
### Auto Install
45
+
46
+
1. Open Binary Ninja's plugin manager by navigating the following submenus:
47
+
-`Edit` -> `Preferences` -> `Manage Plugins`
48
+
2. Search for Lighthouse in the plugin manager, and click the `Enable` button in the bottom right.
49
+
3. Restart your disassembler.
50
+
51
+
### Manual Install
33
52
34
-
2. Copy the contents of this repository's `/plugin/` folder to the listed directory.
53
+
1. Open Binary Ninja's plugin folder by navigating the following submenus:
54
+
-`Tools` -> `Open Plugins Folder...`
55
+
2. Copy the contents of this repository's `/plugins/` folder to the listed directory.
35
56
3. Restart your disassembler.
36
57
37
58
# Usage
@@ -76,16 +97,15 @@ If there are any other actions that you think might be useful to add to this con
76
97
77
98
## Coverage ComboBox
78
99
79
-
Loaded coverage data and user constructed compositions can be selected or deleted through the coverage combobox.
100
+
Loaded coverage and user constructed compositions can be selected or deleted through the coverage combobox.
Lighthouse can generate a rudimentary HTML coverage report of the active coverage.
88
-
A sample report can be seen [here](https://rawgit.com/gaasedelen/lighthouse/master/testcase/report.html).
108
+
Lighthouse can generate rudimentary HTML coverage reports. A sample report can be seen [here](https://rawgit.com/gaasedelen/lighthouse/master/testcase/report.html).
89
109
90
110
<palign="center">
91
111
<imgalt="Lighthouse HTML Report"src="screenshots/html_report.gif"/>
Lighthouse is a powerful code coverage explorer for [IDA Pro](https://www.hex-rays.com/products/ida/) and [Binary Ninja](https://binary.ninja/), providing software researchers with uniquely interactive controls to study execution maps for native applications without requiring symbols or source.
10
+
11
+
For additional usage information, please check out the full [README](https://github.com/gaasedelen/lighthouse) on GitHub.
"description": "A Coverage Explorer for Reverse Engineers",
7
+
"license": {
8
+
"name": "MIT",
9
+
"text": "Copyright (c) 2021> Markus Gaasedelen\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE."
0 commit comments