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
c75659db82
ui: Make splash screen DPI aware
2021-08-04 18:57:53 +02:00
WerWolv
0093d4418e
ui: Added icons to welcome screen
2021-08-04 14:01:24 +02:00
jam1garner
68df6d37f7
fix: Ensure projects have .hexproj extension on save ( #274 )
2021-07-31 18:05:21 +02:00
WerWolv
d345508195
fix: ImHex should crash less often now when exiting
2021-07-31 17:11:10 +02:00
WerWolv
e8d77f8269
sys: Embed resources into rodata
2021-07-31 17:10:19 +02:00
WerWolv
f4046fb8fc
fix: Keyboard shortcuts didn't work. Added Select all menu item
2021-07-29 21:09:18 +02:00
WerWolv
c6bd6d4a3b
ui: Added banner to welcome screen, improved laggy animations
2021-07-29 00:39:58 +02:00
WerWolv
07ad9ed772
tools: Added UNIX permissions calculator
2021-07-27 22:46:37 +02:00
WerWolv
fcb00292a5
fix: More invalid use of file io functions on Unix
2021-07-27 22:04:46 +02:00
WerWolv
af1d687758
fix: ImHex using way too much resources still
...
Now frames are rendered at only 5 FPS if no input events are being processed. Thanks a lot to @Tey. Properly fixes #189 now
2021-07-27 21:50:49 +02:00
WerWolv
d4e484e982
fix: File creation on Unix caused compile errors
2021-07-27 21:49:17 +02:00
WerWolv
2ccf8e777c
sys: Added create file and resize option
...
Fixes #172
2021-07-27 21:07:36 +02:00
WerWolv
35c7f826bc
views: Added constants search view
2021-06-26 01:18:33 +02:00
WerWolv
7f0bdc95da
patterns: Added support for declaring custom functions
2021-06-20 21:22:31 +02:00
Foster Brereton
ac53b4bcab
Add rpath to binary executable on macOS ( #258 )
...
* removing superfluous slash from paths
* Add a necessary rpath to the imhex binary
* add a little error handling to dlopen
* fall back on en-US if no language specified in prefs
* PR changes as per @WerWolv
2021-06-18 20:09:36 +02:00
WerWolv
b4b2c41b34
patterns: Added hidden
attribute
2021-06-17 23:42:43 +02:00
WerWolv
21f8fb4090
patterns: Added while statement for array sizing
2021-06-17 23:13:58 +02:00
WerWolv
8b7583e628
fix: Save As command was never executed
2021-06-08 23:04:28 +02:00
WerWolv
fff91d555b
ui/ux: Allow ImHex to redraw the screen while moving and resizing
2021-06-07 18:14:40 +02:00
WerWolv
e0112472d6
ui: Moved FPS counter to footer
2021-06-07 18:13:54 +02:00
WerWolv
1843db91af
fix: Drastically reduce CPU usage when using FPS limit
2021-06-06 19:16:53 +02:00
WerWolv
be81a6dc34
sys: Fixed disassembler selecting wrong region
2021-06-06 18:01:52 +02:00
WerWolv
73b5c8512d
sys: Added default polynomial and inital value for CRC16 and CRC32
2021-06-06 18:00:14 +02:00
WerWolv
b1adfe38e1
sys: Fixed wrong region being selected in Hash view
2021-06-06 17:59:54 +02:00
WerWolv
639ae7be4d
sys: Added CTRL + A to select all bytes in hex view
2021-06-06 17:33:14 +02:00
WerWolv
c42bd6008a
sys: Fixed various issues related to plugins
2021-05-29 21:51:00 +02:00
WerWolv
00236de741
ui: Added spinner to splash screen
2021-05-26 00:11:22 +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
4de8990b5c
fix: Update prompt button not appearing properly
2021-05-24 23:34:17 +02:00
WerWolv
21525a7261
ui: Added ImHex directories table to about page
2021-05-23 23:35:04 +02:00
WerWolv
c760ccb5bb
ui: Fixed broken header text in about popup
2021-05-23 23:07:49 +02:00
WerWolv
7cca646e3f
ui/ux: Put capstone into SKIPDATA mode to always disassemble everything
...
If invalid data is reached, instead of stopping it will now insert a `.byte 0x00, 0x00, 0x00, 0x00` "instruction"
2021-05-23 23:04:20 +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
143cdbd44b
ux: Update region setting after ticking "Match Selection" checkbox
2021-05-23 22:46:33 +02:00
WerWolv
fe977f4ba9
ui: Improve confusing "Quit application" popup text
...
This fixes #234
2021-05-21 23:59:28 +02:00
WerWolv
4ccd963037
ui: Properly display git info in help menu in release builds again
...
This fixes #233
2021-05-21 23:53:16 +02:00
WerWolv
b1c597e662
fix: ImHex crashing when default folders couldn't get created
...
This fixes #238
2021-05-21 23:46:36 +02:00
WerWolv
b6f76ad8ed
ux: Fixed MIME-based pattern loading popup not working properly
...
Fixed issues addressed in #225
2021-05-18 18:27:36 +02:00
WerWolv
0d11f4460f
nodes: Allow data processor content to be stored in project files
2021-05-18 18:06:47 +02:00
WerWolv
ee2b412a10
nodes: Added primitive saving and loading mechanism
...
Not fully integrated yet. Also doesn't yet save any node settings, just nodes and links
2021-05-17 23:17:58 +02:00
WerWolv
cf67adfa42
patterns: Added $ to keyword highlight list
2021-05-17 23:17:00 +02:00
WerWolv
4029c333ed
patterns: Added UTF-16 character type and string parsing
2021-05-02 20:13:37 +02:00
WerWolv
0c6bd73996
fix: After a init task failure, future tasks didn't run at all
2021-04-22 00:20:16 +02:00
WerWolv
d177d69724
fix: ImHex no longer behaves weirdly or crashes when no plugins are loaded
2021-04-21 23:31:51 +02:00
WerWolv
64e35886b7
fix: Possibly fix crashes on macos
2021-04-21 20:06:48 +02:00
WerWolv
7f75f814e3
ui: Added some more icons in various places
2021-04-21 19:27:05 +02:00
WerWolv
6527c942c2
ui: Fixed FPS display not being visible
2021-04-21 19:26:50 +02:00
WerWolv
32d47456de
patterns: Added array index syntax to rvalues and turned addressof/sizeof into operators
2021-04-21 10:17:42 +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
d7811e2c55
sys: Inverted logic in imhex args checking
2021-04-18 20:27:16 +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
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
72eac9f149
ux: Fixed goto to work with base addresses and added absolute goto
2021-04-16 19:44:52 +02:00
WerWolv
fddb790c70
fix: Pasting values properly works now
2021-04-16 19:44:22 +02:00
WerWolv
771bb22962
sys: Improve shortcut api
2021-04-16 19:43:54 +02:00
WerWolv
59dd372ec8
ux: Added support for pasting bytes
2021-04-16 17:01:01 +02:00
WerWolv
7795872be1
ux: Fix jumping to addresses when base address is not 0x00
2021-04-16 13:24:34 +02:00
WerWolv
2e338ebc01
fix: Properly localize Undo and Redo
2021-04-14 09:03:41 +02:00
WerWolv
45b00c8b5f
patterns: Make placements respect set base addresses and discard out of bounds variables
2021-04-13 21:50:24 +02:00
WerWolv
8a485575f5
ui: Added recent files to File menu
2021-04-13 08:41:59 +02:00
WerWolv
1e6b493b41
ux: Add slider to entropy plot
2021-04-12 22:20:05 +02:00
WerWolv
959988a670
fix: Stop all views from opening automatically on launch
2021-04-12 21:08:36 +02:00
WerWolv
907f25c231
patterns: Added parent
keyword to access members of the parent struct
2021-04-12 20:49:37 +02:00
ThisALV
0168a3b741
Fix: ignore non-existent magic directories ( #215 )
2021-04-03 17:08:16 +02:00
WerWolv
2f19ff768d
sys: Improved ScopeGuard syntax a lot
2021-03-31 22:54:43 +02:00
WerWolv
6223b26888
ui: Added hex editor highlight opacity setting
2021-03-29 23:07:18 +02:00
WerWolv
147aefc7e5
ux: Add close file button to file menu
2021-03-29 22:44:35 +02:00
WerWolv
0cc7004d0d
ux: Show currently loaded file name in window name
2021-03-29 22:44:23 +02:00
WerWolv
f263685e44
bug: Fix loading of bookmark name and comment from project file
...
Fixes #211
2021-03-27 22:54:26 +01:00
WerWolv
d805d976a6
sys: Replace the terrible event manager with a much better one
2021-03-27 11:36:36 +01:00
WerWolv
688ca01b1b
ux: Added undo and redo option
2021-03-26 21:43:24 +01:00
WerWolv
42461c467f
ux: Properly use current key layout for shortcuts
2021-03-26 21:40:35 +01:00
WerWolv
2c3a6d38ab
nodes: Properly reset data overlays when errors occurred
2021-03-21 14:52:21 +01:00
WerWolv
ce22028781
imgui: Fix floating windows creating their own task bar items
2021-03-21 14:51:21 +01:00
WerWolv
2a7b698a3d
prv: Make data overlays work everywhere, not just in the hex editor view
2021-03-21 14:50:47 +01:00
WerWolv
ef747cc4c0
sys: Explicitly delete views so destructors get called properly
2021-03-16 22:44:37 +01:00
WerWolv
2326e090af
sys: Properly delete data provider on exit
2021-03-09 19:32:04 +01:00
WerWolv
8423f78586
nodes/patterns: Fixed crashes when recursion occurred
2021-03-07 13:20:33 +01:00
WerWolv
d4265f16eb
node: Added arithmetic nodes (add, sub, mul, div, mod)
2021-03-06 14:46:47 +01:00
WerWolv
cadd4e5c2b
sys: Lower down FPS to 5 when ImHex loses focus
...
#189
2021-03-06 13:36:20 +01:00
WerWolv
6cba868e20
sys: Added FPS limit, some power saving
...
#189
2021-03-06 13:09:20 +01:00
Robin Lambertz
4f98149fa7
api: Fix various crashes on bad settings data. ( #186 )
...
getSetting now returns a straight nlohmann::json instead of an optional.
If the data isn't present, it will return a json null.
All accesses to the settings will first check that the data has the
expected type.
2021-03-06 12:40:29 +01:00
WerWolv
4a908a314f
lang: Added German translation, improved language handling
2021-03-03 22:26:17 +01:00
WerWolv
188723e888
sys: Replace printf formatting with libfmt
2021-03-03 19:58:22 +01:00
WerWolv
a91afdb6ae
ux: Allow copying value from data inspector
2021-03-02 22:09:38 +01:00
WerWolv
b5912c59cc
sys: Last one
2021-03-02 16:45:39 +01:00
WerWolv
a9635bb78a
sys: Missed one
2021-03-02 14:36:29 +01:00
WerWolv
9481c70ecd
sys: ImU64 is not 64 bit everywhere...
2021-03-02 14:32:18 +01:00
WerWolv
c84ac0bc10
sys: Fix compile on Unix
2021-03-02 14:22:47 +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
Robin Lambertz
293fc17aa6
events: Fix passing path through argv ( #187 )
2021-03-01 20:45:13 +01:00
WerWolv
7838d420d8
ui/ux: Updated dependencies list, make them hyperlinks
2021-03-01 08:59:29 +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
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
@xAndy
372981920e
Don't dlclose nullptrs in plugins ( #179 )
...
* dont dlclose nullptrs in plugins
this fixes a segmentation fault at startup when dlclose is called with a nullptr
* Style fixes
Co-authored-by: WerWolv <werwolv98@gmail.com>
2021-02-26 12:49:33 +01:00