1
0
mirror of synced 2024-12-04 20:17:57 +01:00
Commit Graph

42 Commits

Author SHA1 Message Date
WerWolv
e74c0f5cf5 sys: Tons of long overdue cleanup
- std::string -> const std::string& where needed
- Added a FileIO abstraction class
- Fixed recent files not updating
- Removed localization file from global include
- Renamed lang to pattern_language/pl
- Renamed EventFileDropped to RequestFileOpen
2021-09-08 15:18:24 +02:00
WerWolv
633fa7213a sys: More compile time improvements 2021-08-29 22:15:18 +02:00
WerWolv
2362e7a11f sys: Enable logging colors on Windows, hide console
Console log can still be seen now when running ImHex through the console but the window won't pop up by default anymore
2021-08-22 20:24:42 +02:00
WerWolv
0f45bef980 sys: Update ImGui and ImPlot 2021-08-21 00:51:50 +02:00
WerWolv
1f2fe6b93d sys: Merge splash screen and ImHex into one application
This fixes so many issues the previous implementation had, especially on Unix
2021-04-20 21:46:48 +02:00
WerWolv
24c7f1d5b7 ui: Added really fancy splash screen (updater in the future) 2021-04-17 15:46:26 +02:00
WerWolv
d805d976a6 sys: Replace the terrible event manager with a much better one 2021-03-27 11:36:36 +01:00
Robin Lambertz
293fc17aa6
events: Fix passing path through argv (#187) 2021-03-01 20:45:13 +01:00
WerWolv
31e5ec7bc3
Add Yara rule matching interface (#178)
* build: Added YARA as submodule

* ui: Added basic yara rules matching interface

* build: Make libyara link libpthread on Unix

* ui: Add jump-to feature to yara matches list

* yara: Add more modules and patch yara to support mbedtls crypto

* yara: Started to fix scanning of bigger data

* yara: Fixed implementation

* ui: Improved yara matcher interface and added localization

* build: Ignore changed files in yara submodule

* yara: Fixed rules matching agianst entire file

* yara: Properly handle compiler errors
2021-02-26 13:35:19 +01:00
WerWolv
bd5da4a36e Added Language setting and localization wrapper 2021-02-10 18:17:09 +01:00
WerWolv
5c7a529fa1
Added Data Processor using Nodes (#152)
* Added imnodes

* Added basic data processor view. Still needs to be cleaned up

* Make sure all attached links get properly removed when a Node is deleted

* Cleanup and API exposing

* Added data provider overlays and integrate them with the data processor

* Optimized data processing

* Node UI enhancements

* Added support for all themes to the nodes editor

* Improved data processor context menus

* Fixed data processor context menu showing up everywhere

* Make hex editor context menu behave the same as data processor one

* Add different node pin types and prevent incompatible ones from being connected

* Don't require explicitly marking node as end node

* Fixed plugin copying

* Added some more nodes
2021-01-30 22:39:06 +01:00
WerWolv
b2648afc7b Improve bookmark API 2021-01-20 20:16:24 +01:00
WerWolv
eb066b3539 Refactored libimhex to and includes to better represent it as library 2021-01-13 17:28:27 +01:00
WerWolv
4328a335ec Added color picker for Bookmarks and highlighting in the hex view 2021-01-13 14:11:23 +01:00
WerWolv
8ae15abb85 Fixed plugin unloading segfault 2021-01-12 16:56:14 +01:00
WerWolv
84a6fff034 Refactored plugin system 2021-01-12 16:50:15 +01:00
WerWolv
d68b931013 Added settings registry and settings menu 2021-01-11 20:31:40 +01:00
WerWolv
eed7ef1ac3 Make sure important data is synchronized between ImHex and plugins 2021-01-04 00:19:56 +01:00
WerWolv
78ef07cf0f
Pattern Language rewrite (#111)
* Initial parser rewrite effort

Lexer and Token cleanup, Parser started over

* Greatly improved parser syntax

* Reimplemented using declarations and variable placement parsing

* Added back unions and structs

* Added enums as well as mathematical expressions (+, -, *, /, <<, >>, &, |, ^)

* Code style improvement

* Implemented arrays and fixed memory issues

* Fixed more memory issues in parser, reimplemented validator, evaluator and patterns

* Fixed builtin types, arrays and reimplemented strings

* Improved error messages

* Made character a distinct type, used for chars and strings

* Implemented padding, fixed arrays

* Added bitfields

* Added rvalue parsing, no evaluating yet

* Added .idea folder to gitignore

* Fixed build on MacOS

* Added custom implementation of integral concept if not available

* Rebased onto master

* Fixed array variable decl crash

* Added rvalues and dot syntax

* Lower case all pattern language error messages

* Fixed typo in variable name

* Fixed bug where preprocessor would not ignore commented out directives

* Reimplemented pointers

* Fixed rebase issues
2021-01-02 20:27:11 +01:00
WerWolv
f74eff8934 Add support for custom providers via plugins 2020-12-27 15:39:06 +01:00
WerWolv
9123b21e18 Added basic command palette (similar to the one in vscode) 2020-12-16 22:43:07 +01:00
WerWolv
7b8330f8f8 Added command line support / dropping files onto executable
Closes #36
2020-12-05 22:10:03 +01:00
WerWolv
6aed140ecf Use custom "argc" and "argv" exposing. Fixes #6 2020-12-01 18:19:49 +01:00
WerWolv
16f885f469 Added read/write command to math evaluator 2020-11-30 21:45:48 +01:00
WerWolv
7316be0bc2 Added patches display window 2020-11-29 02:06:41 +01:00
WerWolv
985e924e9d Added simple bookmarks / comments feature. No saving yet though 2020-11-28 00:33:26 +01:00
WerWolv
4402120ffc Added the capstone disassembler and a disassembler window 2020-11-22 23:07:50 +01:00
WerWolv
4cd18b8358 Added auto loading patterns based on MIME types 2020-11-21 14:39:16 +01:00
WerWolv
bf6ed3d540 Added proper data inspector view 2020-11-21 00:12:58 +01:00
WerWolv
6fffc589bf Completely rewrite highlight and pattern evaluator 2020-11-19 11:36:52 +01:00
WerWolv
a955f522bd Added strings finder 2020-11-15 01:42:43 +01:00
WerWolv
2526eda0db Added tools window 2020-11-15 00:46:38 +01:00
WerWolv
c758eb244b Added a help window 2020-11-14 21:16:03 +01:00
WerWolv
658d4ec478 Revamped pattern data displaying to support per-type displaying 2020-11-14 14:42:21 +01:00
WerWolv
8aa4402f88 Don't show pattern editor when no file is loaded 2020-11-13 13:06:22 +01:00
WerWolv
3a6d19eca4 Added event system and make use of it for data invalidation 2020-11-12 09:38:52 +01:00
WerWolv
9b6b43356b Added entropy view 2020-11-11 10:46:41 +01:00
WerWolv
362125e933 Cleanup view classes 2020-11-11 09:28:44 +01:00
WerWolv
434bb3494a Abstracted FILE handle into a generic data provider class 2020-11-11 09:18:35 +01:00
WerWolv
c87bc6aebe Implemented hash view with CRC16, CRC32 and MD5 support
More to come
2020-11-11 00:13:09 +01:00
WerWolv
35946564a6 Refactor, added a pattern data display 2020-11-10 21:31:04 +01:00
WerWolv
cbe302a004 Added hex editor and basic pattern parsing/highlighting 2020-11-10 15:26:38 +01:00