Commit Graph

118 Commits

Author SHA1 Message Date
WerWolv 4e86d874a7 sys: Fixed one missed api call update on non-windows 2021-03-02 23:15:15 +01:00
WerWolv 8646fb4487 patterns: Prevent division by zero 2021-03-02 22:55:23 +01:00
WerWolv a91afdb6ae ux: Allow copying value from data inspector 2021-03-02 22:09:38 +01:00
WerWolv b6939654b3 lang: Fix color attribute not being applied to array entries 2021-03-02 14:23:06 +01:00
WerWolv 3a7a3a6e9c lang: Add `dataSize` function to get size of loaded data 2021-03-02 13:55:43 +01:00
WerWolv de327cf3a4 ui: Make use of ImPlot to drastically improve information view 2021-03-02 13:49:45 +01:00
WerWolv f1c03f8b1d sys: Place config files in AppData/Local/imhex folder on Windows
Fixes #182
2021-03-02 10:20:29 +01:00
WerWolv 7a2b3397a3 repo: Cleanup 2021-03-01 09:03:13 +01:00
WerWolv 3e6865ffa9
sys/build: Properly support per-system metadata file paths (#181)
* sys: Move away from metadata paths next to executable in the application

Build system doesn't properly install / pack stuff yet

* build: Updated README to contain better install instructions

* sys: Search for imhex resource files in ~/Application Support

* sys: MAX_PATH -> PATH_MAX

* sys: Seach for imhex resource files in Application Support using NSFileManager (#180)

* sys: Allow for multiple file search paths

Also use install prefix instead of just /usr on Linux

* build: Fixed IMHEX_INSTALL_PREFIX macro definition

* build: Fix duplicate switch entry on Linux

* docs: Updated readme to properly reflect new paths and dependencies

* sys: Install files in their proper paths on linux (#183)

* Install files in their proper paths on linux

* Only create user directories

* Follow the XDG specification on linux

XDG specification specifies how to find config and data directories on
linux systems. Specifically, it says this:

- Data should be written to $XDG_DATA_HOME
- Config should be written to $XDG_CONFIG_HOME
- Data should be read from $XDG_DATA_HOME:$XDG_DATA_DIRS
- Config should be read from $XDG_CONFIG_HOME:$XDG_CONFIG_DIRS

The default values are this:

- XDG_DATA_HOME: $HOME/.local/share
- XDG_CONFIG_HOME: $HOME/.config
- XDG_DATA_DIRS: /usr/share:/usr/local/share
- XDG_CONFIG_DIRS: /etc/xdg

Platforms with non-standard filesystems (like NixOS) will correctly set
up those environment variables, allowing softwares to work unmodified.

In order to make integration as simple as possible, we use a simple
header-only dependency called XDGPP which does all the hard work for us
to find the default directories.

* Look for plugins in all Plugin Paths

If the plugin folder was missing from one of the PluginPaths, we would
immediately stop loading plugins. We now keep looking even if one of the
path is missing.

Co-authored-by: Nichole Mattera <me@nicholemattera.com>
Co-authored-by: Robin Lambertz <unfiltered@roblab.la>
2021-03-01 08:56:49 +01:00
WerWolv e6dc731921 build: Fixed libyara building on MacOS 2021-02-26 17:29:57 +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 26b881e4c9 imgui: Fixed fontawesome 2021-02-25 21:50:57 +01:00
WerWolv 93802f5872 patterns: Always interpret color attribute value as hexadecimal 2021-02-25 12:08:46 +01:00
WerWolv 4a1de5d1cb bookmarks: Added ability to lock bookmarks 2021-02-24 21:42:18 +01:00
WerWolv 0af8b8155f ui/ux: Give up on custom ImGui file browsers and just use the system one 2021-02-22 23:36:13 +01:00
WerWolv 7f97416e6e ui/ux: Improve data analyzer interface, make it run asynchronously 2021-02-22 13:08:06 +01:00
WerWolv 3cbbfb1782 lang: Localize provider data information strings 2021-02-22 13:07:25 +01:00
WerWolv ced9706c5b ui: Turned spinner into ImGui widget 2021-02-22 13:06:53 +01:00
WerWolv 0e2add204b ux: Disassemble asynchronously 2021-02-22 11:56:33 +01:00
WerWolv 490c7e8fec ux: Search for strings asynchronously 2021-02-22 10:16:58 +01:00
WerWolv a4b4360df6 patterns: Fixed more memory leaks 2021-02-22 10:01:58 +01:00
WerWolv 0a29f25330 ui: Open all views and create default layout on first launch 2021-02-21 13:49:03 +01:00
WerWolv 5532a0673f ui: Localized new strings 2021-02-20 22:41:17 +01:00
WerWolv 615a96f9d8 api: Improved documentation 2021-02-19 17:36:10 +01:00
WerWolv 0da508594b ui/api: Added loaded plugin information to welcome screen 2021-02-19 13:22:12 +01:00
WerWolv 89643d1538 lang: Added some strings that went missing 2021-02-19 11:16:09 +01:00
WerWolv 9900a51757 patterns: Fixed multiple severe memory leaks
#163 - probably not all yet
2021-02-19 10:51:30 +01:00
WerWolv e8027293bf Disabled multi viewports support on Linux as it didn't work well
Also cleanup and fixing a typo
2021-02-18 17:10:56 +01:00
WerWolv 0e00555703 Added Footer and API for it and the welcome screen 2021-02-18 12:09:19 +01:00
WerWolv a251c7325a Fixed copy-paste error in pattern language evaluator 2021-02-17 21:04:59 +01:00
WerWolv 460d5a9386 Various fixes and improvements 2021-02-17 14:47:25 +01:00
WerWolv df06dd49c5 Added better settings API that handles errors better
This fixes #161
2021-02-16 23:42:35 +01:00
WerWolv b4c2f7d371 Implemented crude support for custom encodings via thingy files
Relevant issue: #26
2021-02-14 01:11:55 +01:00
WerWolv 424bba71f7 Fixed localization issues when using the content registry 2021-02-13 15:15:32 +01:00
WerWolv 36a4930b35 Implement localization all throughout ImHex
English only for now, additional languages will come in the future
2021-02-11 23:09:45 +01:00
WerWolv 9227fba474 Revamped language system right away again to allow plugins to use it 2021-02-11 00:35:30 +01:00
WerWolv 4a8e59a95b Fixed multiple definitions of _lang user defined literal 2021-02-10 23:38:51 +01:00
WerWolv bd5da4a36e Added Language setting and localization wrapper 2021-02-10 18:17:09 +01:00
WerWolv a926b7b912 Added buffer constant node 2021-02-08 23:17:30 +01:00
WerWolv 179e222919 Fixed command palette and added /web command 2021-02-08 19:56:04 +01:00
WerWolv 1b98afe37d
Fix mbedtls finding on macos (#156) 2021-02-07 22:57:34 +01:00
WerWolv 8e7bfb7f1a Fixed some popups not appearing when no views are open 2021-02-07 14:29:13 +01:00
WerWolv 5b38c43b7e Fixed plugin loading and closing issues mainly on Windows
This fixes #87
2021-02-07 13:40:47 +01:00
WerWolv 4d7d449cea Added base converter to tools window 2021-02-05 00:17:56 +01:00
WerWolv ac100936c7 Added comments node 2021-02-04 12:46:38 +01:00
WerWolv 5eb289f1fe Added proper error messages to data processor 2021-02-04 01:14:05 +01:00
WerWolv 91d05c5de6 Added AES decryption node 2021-02-04 00:21:53 +01:00
WerWolv ac019a7d7e Fixed build on Unix, move crypto wrapper to libimhex 2021-02-03 11:54:41 +01:00
WerWolv 8c306a5d3d Make views get auto deleted 2021-02-03 00:56:33 +01:00
WerWolv fa352b6917 Fixed linker warnings on plugins 2021-02-02 00:39:47 +01:00