# dragondance **Repository Path**: hac425/dragondance ## Basic Information - **Project Name**: dragondance - **Description**: No description available - **Primary Language**: Unknown - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-04-12 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Ghidra安装 首先下载压缩包,解压之后首先尝试执行 `ghidraRun.bat`, 如果执行报下面的错,说明当前的`PATH`环境变量中没有`java.exe`。 ![image-20200412131854063](assets/image-20200412131854063.png) 此时使用管理员权限执行 `setjdk_env.bat`,如果出现下面的提示说明环境变量初始化完成。 ![image-20200412132028347](assets/image-20200412132028347.png) 再次尝试执行 `ghidraRun.bat`,此时应该可以正常启动 `Ghidra` 。 # 插件配置 第一次执行会提示发现新插件,点击 `Yes` ![image-20200412132309683](assets/image-20200412132309683.png) 然后把插件`DragondancePlugin` 选上,点击`OK`. ![image-20200412132437152](assets/image-20200412132437152.png) `OK`确定后,会弹出`DragondancePlugin` 的窗口。 ![image-20200412132729617](assets/image-20200412132729617.png) 我们可以把窗体拖到`Console`里面。 ![drag](assets/drag.gif) 如果关闭插件后,需要重新打开插件需要进入 configure 进行配置 ![drag](assets/restart.gif) # 插件使用 采用直接输入路径的方式, 点击 ![image-20200412135110951](assets/image-20200412135110951.png) 然后首先会要求设置入口API,插件会根据这个开始分析目标函数所有子函数的基本块个数,用于后面计算覆盖率。 ![image-20200412135155352](assets/image-20200412135155352.png) 如果值为0,插件则会把输入bbl的相关函数的基本块全加进入到总BB数。在输入框输入完记录的路径后,使用 `ALT+Enter` ,则会对bbl进行染色并计算处覆盖率。 ![image-20200412135451168](assets/image-20200412135451168.png) 结果 ![image-20200412135651244](assets/image-20200412135651244.png) 点击这些记录,右键选择 `Do/Undo Paint` 可以使用选定的记录进行染色和清除染色。 ps: 染色和取消染色后,记得刷新一下 `Function Graph` 来刷新染色。 ![undo](assets/undo.gif) # 插件更新 ![update](assets/update.gif)