1
0
mirror of synced 2024-11-25 00:00:27 +01:00
Commit Graph

62 Commits

Author SHA1 Message Date
WerWolv
63f4d553cc ui: Add tooltips to custom titlebar buttons 2021-08-18 23:12:27 +02:00
WerWolv
b66304fc91 ui: Use borderless window on Windows 2021-08-18 22:36:46 +02:00
WerWolv
f9f67d3bcd sys: More mac os compile fixes 2021-08-17 21:55:06 +02:00
WerWolv
86e003b891 sys: Update libcurl to support mbedtls 3.0.0 2021-08-17 16:36:22 +02:00
WerWolv
d7c6451f53 nodes: Updated imnodes, added minimap 2021-08-17 13:38:59 +02:00
WerWolv
41db0bfafa ui: Fixed welcome screen banner and hyperlink rendering 2021-08-16 23:55:06 +02:00
WerWolv
0093d4418e ui: Added icons to welcome screen 2021-08-04 14:01:24 +02:00
WerWolv
e8d77f8269 sys: Embed resources into rodata 2021-07-31 17:10:19 +02:00
WerWolv
330b4504dc sys: Updated curl, libfmt, nativefiledialog and yara to latest version 2021-07-28 13:23:50 +02:00
WerWolv
e0112472d6 ui: Moved FPS counter to footer 2021-06-07 18:13:54 +02:00
WerWolv
85ed93e67b ui: Fix vertical line separator in hex view not respecting horizontal scroll 2021-05-25 23:54:23 +02:00
WerWolv
6219743c82 ux: Fix a bunch of weird behaviour in the data information view 2021-05-25 23:47:38 +02:00
WerWolv
1aa21b8a2d ui: Display correct offsets in hex editor header when base address is not aligned 2021-05-23 22:52:09 +02:00
WerWolv
d91abb5eba build: No more liblibyara 2021-04-21 23:38:37 +02:00
WerWolv
ebbbcafe5c
sys: Implement more functionality into splash screen (#223)
* build: Add libcurl

* build: Stop the whole static linking on Windows mess. There's no use anymore

* sys: Added update detector and moved some startup tasks to splash screen

* sys: Updated ImHex icon

* fix: Settings button on welcome page once again works

* build: Fix build on Linux

* sys: Fixed splash window not searching all paths for resources
2021-04-18 20:24:42 +02:00
WerWolv
6fb6de6b64 sys: Updated libfmt, yara and nativefiledialogs 2021-04-17 16:35:57 +02:00
WerWolv
24c7f1d5b7 ui: Added really fancy splash screen (updater in the future) 2021-04-17 15:46:26 +02:00
WerWolv
93e1c4c4e8 sys: Drastically revamp the relative vs absolute address mess 2021-04-16 21:50:15 +02:00
WerWolv
1e6b493b41 ux: Add slider to entropy plot 2021-04-12 22:20:05 +02:00
WerWolv
d805d976a6 sys: Replace the terrible event manager with a much better one 2021-03-27 11:36:36 +01:00
WerWolv
188723e888 sys: Replace printf formatting with libfmt 2021-03-03 19:58:22 +01:00
WerWolv
de327cf3a4 ui: Make use of ImPlot to drastically improve information view 2021-03-02 13:49:45 +01:00
WerWolv
2e4eaf8d33 ux: Fixed region selection only selecting one byte 2021-03-02 13:49:23 +01:00
WerWolv
f0b392575f ui: Added ImPlot library 2021-03-02 13:48:23 +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
205d88cd23 ui: Added custom theme colors, improved look of description button 2021-02-25 00:17:41 +01:00
WerWolv
02a63639da ui: Add font awesome icons font 2021-02-24 22:42:26 +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
ced9706c5b ui: Turned spinner into ImGui widget 2021-02-22 13:06:53 +01:00
WerWolv
9b9c040d2d ui: Run pattern language runtime asynchronously, added compile button 2021-02-20 22:38:31 +01:00
WerWolv
0e00555703 Added Footer and API for it and the welcome screen 2021-02-18 12:09:19 +01:00
WerWolv
1eb6f781b3 Added support for displaying non-ASCII characters in decoder view
This requires the user to provide a font that supports these characters as well (for example unifont). The default ImGui font does not have them.
2021-02-14 11:51:05 +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
29f50bb70b Fixed search selection and hex editor shortcuts 2021-02-02 00:39:35 +01:00
WerWolv
83bbde8d29 Fixed multiple memory leaks 2021-02-01 20:07:57 +01:00
WerWolv
073eee8fab Further improved UI/UX of welcome screen 2021-01-30 23:02:03 +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
3bd01c0d98 Updated OpenGL3 imgui backend to once again support multi-viewports 2021-01-30 18:01:23 +01:00
WerWolv
a3d71b1dca Added support for Home, End, PageUp and PageDown in hex view
Resolves #148
2021-01-28 13:23:50 +01:00
WerWolv
319068eef5 Implemented Open File and Preferences button in Welcome screen 2021-01-27 14:26:24 +01:00
WerWolv
bc6d33e4fb Fleshed out welcome screen 2021-01-27 12:04:42 +01:00
WerWolv
ab2458bdf4 Make links in About page actual hyperlinks 2021-01-27 00:00:20 +01:00
WerWolv
7f4cc6e5c0 Updated ImGui to 1.80
It works. It just works. Updating anything else usually takes hours and ImGui took literally 2 minutes. ocornut is amazing
2021-01-21 23:09:43 +01:00
WerWolv
a641f27b7e Improved events API 2021-01-21 10:53:12 +01:00
WerWolv
eb066b3539 Refactored libimhex to and includes to better represent it as library 2021-01-13 17:28:27 +01:00
WerWolv
c1ad816211 Added hover tooltip for bookmarks in hex editor 2021-01-13 16:45:31 +01:00
WerWolv
d3e47245d6 Improved memory region highlighting through selection 2021-01-13 14:11:02 +01:00