Repository Analysis

WerWolv/ImHex

🔍 A Hex Editor for Reverse Engineers, Programmers and people who value their retinas when working at 3 AM.

3.6 Likely human-written View on GitHub
3.6
Adjusted Score
3.6
Raw Score
100%
Time Factor
2026-05-30
Last Push
53,714
Stars
C++
Language
376,368
Lines of Code
965
Files
1673
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 0HIGH 1MEDIUM 7LOW 1665

Pattern Findings

1673 matches across 9 categories. Click a row to expand file-level details.

Over-Commented Block1634 hits · 1270 pts
SeverityFileLineSnippet
LOWcmake/sdk/template/CMakeLists.txt1# ImHex Plugin Template
LOWcmake/sdk/template/CMakeLists.txt21# LIBRARY_PLUGIN: If set, turns this plugin into a library plugin. Library plugins can be linked against by other plug
LOWcmake/sdk/template/source/example_plugin.cpp1#include <hex/plugin.hpp>
LOWplugins/ui/include/ui/text_editor.hpp1#pragma once
LOWplugins/ui/source/ui/pattern_value_editor.cpp1#include <ui/pattern_value_editor.hpp>
LOWplugins/ui/source/ui/hex_editor.cpp1#include <ui/hex_editor.hpp>
LOWplugins/ui/source/ui/markdown.cpp1#include <ui/markdown.hpp>
LOWplugins/ui/source/ui/pattern_drawer.cpp1#include <algorithm>
LOWplugins/ui/source/ui/pattern_drawer.cpp21
LOWplugins/ui/source/ui/text_editor/editor.cpp1#include <ui/text_editor.hpp>
LOWplugins/hashes/source/content/views/view_hashes.cpp1#include "content/views/view_hashes.hpp"
LOWplugins/script_loader/source/plugin_script_loader.cpp1#include <fonts/vscode_icons.hpp>
LOW…/script_loader/source/loaders/dotnet/dotnet_loader.cpp1#include <loaders/dotnet/dotnet_loader.hpp>
LOW…/script_loader/source/loaders/dotnet/dotnet_loader.cpp21#include <imgui.h>
LOWplugins/script_loader/support/c/include/script_api.hpp1#pragma once
LOW…ns/script_loader/support/c/source/script_api/v1/ui.cpp1#include <script_api.hpp>
LOWplugins/diffing/source/content/views/view_diff.cpp1#include "content/views/view_diff.hpp"
LOW…visualizers/source/content/pl_visualizers/3d_model.cpp1#include <hex/ui/imgui_imhex_extensions.h>
LOWplugins/yara_rules/source/content/yara_rule.cpp1#include <content/yara_rule.hpp>
LOWplugins/yara_rules/source/content/views/view_yara.cpp1#include "content/views/view_yara.hpp"
LOWplugins/decompress/source/content/pl_functions.cpp1#include <hex.hpp>
LOW…gins/disassembler/include/content/helpers/capstone.hpp1#pragma once
LOWplugins/windows/source/plugin_windows.cpp1#include <hex/plugin.hpp>
LOWplugins/fonts/include/fonts/vscode_icons.hpp1#pragma once
LOWplugins/fonts/include/fonts/vscode_icons.hpp21#define ICON_VS_SEARCH "\xee\xa9\xad" // U+EA6D
LOWplugins/fonts/include/fonts/vscode_icons.hpp41#define ICON_VS_TRASH "\xee\xaa\x81" // U+EA81
LOWplugins/fonts/include/fonts/vscode_icons.hpp61#define ICON_VS_ARCHIVE "\xee\xaa\x98" // U+EA98
LOWplugins/fonts/include/fonts/vscode_icons.hpp81#define ICON_VS_BRIEFCASE "\xee\xaa\xac" // U+EAAC
LOWplugins/fonts/include/fonts/vscode_icons.hpp101#define ICON_VS_CLIPPY "\xee\xab\x80" // U+EAC0
LOWplugins/fonts/include/fonts/vscode_icons.hpp121#define ICON_VS_DEBUG_STOP "\xee\xab\x97" // U+EAD7
LOWplugins/fonts/include/fonts/vscode_icons.hpp141#define ICON_VS_FILE_PDF "\xee\xab\xab" // U+EAEB
LOWplugins/fonts/include/fonts/vscode_icons.hpp161#define ICON_VS_GITHUB_ACTION "\xee\xab\xbf" // U+EAFF
LOWplugins/fonts/include/fonts/vscode_icons.hpp181#define ICON_VS_LINK_EXTERNAL "\xee\xac\x94" // U+EB14
LOWplugins/fonts/include/fonts/vscode_icons.hpp201#define ICON_VS_OPEN_PREVIEW "\xee\xac\xa8" // U+EB28
LOWplugins/fonts/include/fonts/vscode_icons.hpp221#define ICON_VS_REPLACE_ALL "\xee\xac\xbc" // U+EB3C
LOWplugins/fonts/include/fonts/vscode_icons.hpp241#define ICON_VS_SETTINGS_GEAR "\xee\xad\x91" // U+EB51
LOWplugins/fonts/include/fonts/vscode_icons.hpp261#define ICON_VS_SYMBOL_SNIPPET "\xee\xad\xa6" // U+EB66
LOWplugins/fonts/include/fonts/vscode_icons.hpp281#define ICON_VS_VM_OUTLINE "\xee\xad\xba" // U+EB7A
LOWplugins/fonts/include/fonts/vscode_icons.hpp301#define ICON_VS_DEBUG_REVERSE_CONTINUE "\xee\xae\x8e" // U+EB8E
LOWplugins/fonts/include/fonts/vscode_icons.hpp321#define ICON_VS_SERVER_PROCESS "\xee\xae\xa2" // U+EBA2
LOWplugins/fonts/include/fonts/vscode_icons.hpp341#define ICON_VS_COMBINE "\xee\xae\xb6" // U+EBB6
LOWplugins/fonts/include/fonts/vscode_icons.hpp361#define ICON_VS_TERMINAL_BASH "\xee\xaf\x8a" // U+EBCA
LOWplugins/fonts/include/fonts/vscode_icons.hpp381#define ICON_VS_RUN_ERRORS "\xee\xaf\x9e" // U+EBDE
LOWplugins/fonts/include/fonts/vscode_icons.hpp401#define ICON_VS_LAYOUT_PANEL "\xee\xaf\xb2" // U+EBF2
LOWplugins/fonts/include/fonts/vscode_icons.hpp421#define ICON_VS_MAP_FILLED "\xee\xb0\x86" // U+EC06
LOWplugins/fonts/include/fonts/vscode_icons.hpp441#define ICON_VS_PIANO "\xee\xb0\x9a" // U+EC1A
LOWplugins/fonts/include/fonts/vscode_icons.hpp461#define ICON_VS_GITHUB_PROJECT "\xee\xb0\xaf" // U+EC2F
LOWplugins/fonts/include/fonts/vscode_icons.hpp481#define ICON_VS_REPO_PINNED "\xee\xb1\x83" // U+EC43
LOWplugins/fonts/include/fonts/tabler_icons.hpp1#pragma once
LOWplugins/fonts/include/fonts/tabler_icons.hpp21#define ICON_TA_CASH_BANKNOTE_MOVE "\xf0\x90\x85\x85" // U+10145
LOWplugins/fonts/include/fonts/tabler_icons.hpp41#define ICON_TA_FILTER_2_DOLLAR "\xf0\x90\x85\x99" // U+10159
LOWplugins/fonts/include/fonts/tabler_icons.hpp61#define ICON_TA_ALIGN_LEFT "\xf3\xb0\x80\x89" // U+F0009
LOWplugins/fonts/include/fonts/tabler_icons.hpp81#define ICON_TA_ARROW_NARROW_UP "\xf3\xb0\x80\x9d" // U+F001D
LOWplugins/fonts/include/fonts/tabler_icons.hpp101#define ICON_TA_BATTERY_3 "\xf3\xb0\x80\xb1" // U+F0031
LOWplugins/fonts/include/fonts/tabler_icons.hpp121#define ICON_TA_BOX "\xf3\xb0\x81\x85" // U+F0045
LOWplugins/fonts/include/fonts/tabler_icons.hpp141#define ICON_TA_CHART_BAR "\xf3\xb0\x81\x99" // U+F0059
LOWplugins/fonts/include/fonts/tabler_icons.hpp161#define ICON_TA_CLIPBOARD_LIST "\xf3\xb0\x81\xad" // U+F006D
LOWplugins/fonts/include/fonts/tabler_icons.hpp181#define ICON_TA_CORNER_RIGHT_UP "\xf3\xb0\x82\x81" // U+F0081
LOWplugins/fonts/include/fonts/tabler_icons.hpp201#define ICON_TA_DOTS "\xf3\xb0\x82\x95" // U+F0095
LOWplugins/fonts/include/fonts/tabler_icons.hpp221#define ICON_TA_FOLDER_MINUS "\xf3\xb0\x82\xaa" // U+F00AA
1574 more matches not shown…
Slop Phrases19 hits · 40 pts
SeverityFileLineSnippet
LOWlib/third_party/imgui/implot/include/implot.h1031// Turns the current plot's plotting area into a drag and drop target. Don't forget to call EndDragDropTarget!
LOWlib/third_party/imgui/implot/include/implot.h1033// Turns the current plot's X-axis into a drag and drop target. Don't forget to call EndDragDropTarget!
LOWlib/third_party/imgui/implot/include/implot.h1035// Turns the current plot's legend into a drag and drop target. Don't forget to call EndDragDropTarget!
LOWlib/third_party/imgui/implot/include/implot.h1043// Turns the current plot's plotting area into a drag and drop source. You must hold Ctrl. Don't forget to call EndDragD
LOWlib/third_party/imgui/implot/include/implot.h1045// Turns the current plot's X-axis into a drag and drop source. You must hold Ctrl. Don't forget to call EndDragDropSour
LOWlib/third_party/imgui/implot/include/implot.h1047// Turns an item in the current plot's legend into drag and drop source. Don't forget to call EndDragDropSource!
LOWlib/third_party/imgui/implot/include/implot.h1101// Temporarily modify a style color. Don't forget to call PopStyleColor!
LOWlib/third_party/imgui/implot/include/implot.h1107// Temporarily modify a style variable of float type. Don't forget to call PopStyleVar!
LOWlib/third_party/imgui/implot/include/implot.h1109// Temporarily modify a style variable of int type. Don't forget to call PopStyleVar!
LOWlib/third_party/imgui/implot/include/implot.h1111// Temporarily modify a style variable of ImVec2 type. Don't forget to call PopStyleVar!
LOWlib/third_party/imgui/implot/include/implot.h1167// Temporarily switch to one of the built-in (i.e. ImPlotColormap_XXX) or user-added colormaps (i.e. a return value of A
LOWlib/third_party/imgui/implot/include/implot.h1169// Push a colormap by string name. Use built-in names such as "Default", "Deep", "Jet", etc. or a string you provided to
MEDIUMlib/third_party/imgui/imgui/source/imgui_widgets.cpp7304// Tip: pass a non-visible label (e.g. "##hello") then you can use the space to draw other text or image.
LOWlib/third_party/imgui/implot3d/include/implot3d.h520// Temporarily modify a style color. Don't forget to call PopStyleColor!
LOWlib/third_party/imgui/implot3d/include/implot3d.h526// Temporarily modify a style variable of float type. Don't forget to call PopStyleVar!
LOWlib/third_party/imgui/implot3d/include/implot3d.h528// Temporarily modify a style variable of int type. Don't forget to call PopStyleVar!
LOWlib/third_party/imgui/implot3d/include/implot3d.h530// Temporarily modify a style variable of ImVec2 type. Don't forget to call PopStyleVar!
LOWlib/third_party/imgui/implot3d/include/implot3d.h576// Temporarily switch to one of the built-in (i.e. ImPlot3DColormap_XXX) or user-added colormaps (i.e. a return value of
LOWlib/third_party/imgui/implot3d/include/implot3d.h579// Push a colormap by string name. Use built-in names such as "Default", "Deep", "Jet", etc. or a string you provided to
Excessive Try-Catch Wrapping4 hits · 12 pts
SeverityFileLineSnippet
MEDIUMtests/check_langs.py70 print(f"Error: Languages file '{languages_file_path}' does not exist.")
MEDIUMtests/check_langs.py76 print(f"Error: Languages file '{languages_file_path}' is not a valid JSON object.")
MEDIUMtests/check_langs.py81 print(f"Error: Language file '{lang['path']}' does not exist in '{languages_folder}'.")
MEDIUMtests/check_langs.py86 print(f"Error: Languages file '{languages_file_path}' is not a valid JSON file. {e}")
Fake / Example Data8 hits · 10 pts
SeverityFileLineSnippet
LOWlib/third_party/imgui/imgui/source/imgui_demo.cpp7654 ImGui::TextWrapped("Lorem ipsum dolor sit amet");
LOWlib/third_party/imgui/imgui/source/imgui_demo.cpp7654 ImGui::TextWrapped("Lorem ipsum dolor sit amet");
LOWlib/third_party/imgui/imgui/source/imgui_demo.cpp7656 ImGui::Text("Lorem ipsum dolor sit amet");
LOWlib/third_party/imgui/imgui/source/imgui_demo.cpp7656 ImGui::Text("Lorem ipsum dolor sit amet");
LOWlib/third_party/imgui/imgui/source/imgui_demo.cpp9575 ImGui::TextWrapped("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor i
LOWlib/third_party/imgui/imgui/source/imgui_demo.cpp9575 ImGui::TextWrapped("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor i
LOWlib/third_party/imgui/imgui/source/imgui_demo.cpp10859 ImGui::TextWrapped("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut
LOWlib/third_party/imgui/imgui/source/imgui_demo.cpp10859 ImGui::TextWrapped("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut
Synthetic Comment Markers1 hit · 8 pts
SeverityFileLineSnippet
HIGH…s/builtin/source/content/views/view_data_inspector.cpp125 // Try to read as many bytes as requested and possible
Decorative Section Separators1 hit · 3 pts
SeverityFileLineSnippet
MEDIUMcmake/sdk/template/CMakeLists.txt2# =====================
Hyper-Verbose Identifiers3 hits · 3 pts
SeverityFileLineSnippet
LOW…/builtin/include/content/views/view_data_processor.hpp16 class ViewDataProcessor : public View::Window {
LOWplugins/builtin/source/content/achievements.cpp39 class AchievementDataProcessor : public Achievement {
LOWtests/check_langs.py10def get_lang_occurrences_in_code(path):
AI Slop Vocabulary1 hit · 3 pts
SeverityFileLineSnippet
MEDIUM…rty/imgui/imgui_test_engine/source/imgui_te_engine.cpp548// Setup inputs in the tested Dear ImGui context. Essentially we override the work of the backend here.
Deep Nesting2 hits · 2 pts
SeverityFileLineSnippet
LOWtests/check_langs.py10
LOWtests/check_langs.py64