Lennard Fonteijn
d2e6d8e4d9
Added ImGui extension to create single- and multiline formatted selec… ( #1249 )
...
(Partial) implementation of #1245 with additional functionality to
supersede PR #1240 .
2023-08-13 17:08:17 +02:00
Justus Garbe
285b79f31e
fix: Crypto buffered hexadecimal encoding
2023-08-13 15:27:01 +02:00
WerWolv
49d3fe65a3
fix: Allow converting very long hex strings to bytes
2023-08-09 20:01:29 +02:00
Nik
e77f138514
feat: Added Achievements ( #1230 )
...
This PR adds Achievements to ImHex that serve as both a guide and a fun
way to learn more about ImHex and reverse engineering
2023-08-06 21:33:15 +02:00
WerWolv
e65497ec3b
fix: /imhex
being appended to Application Support folder paths on macOS
...
Fixes #1221
2023-08-03 21:49:41 +02:00
iTrooz
4d6e6cf75a
fix: Magic compile dumping files into cwd ( #1212 )
...
This PR fix libmagic dumping files in the imhex cwd when compiling them
This code was actually written by you (notice the source branch), this
PR is just a reminder that the fix works and you can merge it ^^
---------
Co-authored-by: WerWolv <werwolv98@gmail.com>
2023-07-30 21:36:48 +02:00
WerWolv
e829c407e3
fix: Writing behaving weirdly when using a custom base address
2023-07-27 02:05:35 +02:00
WerWolv
27c8e19c14
build: Remove all static variables from headers to hopefully fix plugins
2023-07-26 13:50:51 +02:00
WerWolv
aa4ce01c73
build: Forcefully disable LTO for libimhex
2023-07-26 12:57:38 +02:00
WerWolv
5feb4dce51
build: Try and make libimhex export all symbols
2023-07-25 11:25:59 +02:00
WerWolv
8b3cd2d76d
impr: Properly print asserts
2023-07-23 23:39:00 +02:00
WerWolv
b8d5e1e9c5
feat: Added built-in logging console
2023-07-23 23:37:47 +02:00
WerWolv
fdd2e1fcde
patterns: Added [[hex::spec_name]]
2023-07-23 09:14:00 +02:00
WerWolv
4979c65566
fix: Missing <array> include in stacktrace helper
2023-07-22 22:47:35 +02:00
WerWolv
f5fda76414
impr: Cleanup main
2023-07-22 21:30:22 +02:00
WerWolv
4b0d980d54
impr: Don't use fmt::println if it's not supported
2023-07-22 20:22:25 +02:00
WerWolv
8aec382440
fix: Loading of plugins and localizations after restart
2023-07-22 18:38:14 +02:00
WerWolv
f6bbfd7283
impr: Properly print new line characters in cli
2023-07-21 15:17:21 +02:00
WerWolv
e5a793e8de
fix: Subcommands not working at all on Linux
2023-07-21 14:12:08 +02:00
WerWolv
7c321a79c3
impr: Print message if no stacktrace can be collected
2023-07-20 21:41:22 +02:00
WerWolv
a83ca3c228
feat: Added --pl and --magic command
2023-07-17 10:43:29 +02:00
WerWolv
e9450b490f
feat: Added --plugin, --calc, --hash, --encode and --decode subcommands
2023-07-16 23:46:41 +02:00
WerWolv
0a6815da8f
fix: Always use default CA Cert
2023-07-16 19:56:07 +02:00
Nik
5171bea0bf
feat: Added cross-platform .NET scripts support ( #1185 )
...
This PR intends to add support for .NET scripts that can extend ImHex's
functionality in a portable and cross-platform way.
---------
Co-authored-by: Justus Garbe <55301990+Nowilltolife@users.noreply.github.com>
2023-07-15 14:29:14 +02:00
Nik
aae3004f1f
build: Various build improvements ( #1193 )
2023-07-15 00:10:01 +02:00
iTrooz
1ed658bcdc
feat: Added command line interface support ( #1172 )
...
System design has been discussed on discord
Should fix #948
---------
Co-authored-by: WerWolv <werwolv98@gmail.com>
2023-07-13 14:08:23 +02:00
WerWolv
cdc4f2db89
patterns: Updated pattern language
2023-07-11 09:21:13 +02:00
WerWolv
8524e93445
impr: Display encoding types in header of hex editor
...
Closes #1186
2023-07-11 00:04:26 +02:00
WerWolv
ce9ce42c1c
impr: Only reload localization when necessary
2023-07-09 20:24:56 +02:00
WerWolv
6343cb092b
build: Fixed include issues
2023-07-09 12:53:31 +02:00
WerWolv
c9c6f3aadb
fix: New visualizers behaving weirdly with large font sizes
2023-07-06 10:08:47 +02:00
iTrooz
ac2a609d0a
impr: Use execvp() instead of system() on Linux ( #1170 )
...
This PR it just a hack to fix #1160 , it doesn't solve the underlying
problem.
It fixes the problem because by using execvp() directly, it avoids the
call to `sh` done with `system()`, which has a bug on Ubuntu 22.04 which
makes it i,compatibles with the glibc inside the AppImage.
It doesn't fix the underlying problem because the programs we call
themselves still link to the AppImage's libraries instead of the system
ones.
2023-07-05 20:50:46 +02:00
iTrooz
e3ae169833
impr: Separate the behaviour of being savable and being dumpable for provider ( #1183 )
...
### Problem description
Currently, the providers use the method `isSavable()` to determine both
if they can use "Save" or "Save as".
This behaviour is problematic because some providers may need to be
saveable but not saveable as: for example the view provider. The
original provider may not allow to be saved.
### Implementation description
I separate these two behaviour by creating another function:
`isDumpable()`, that return true by default but can be overridden by the
provider to return false, if the provider should not be dumped in any
way.
### Additional things
While I was at it, I also marked "export" operations as needing the
"dumpable" flag. That way, we can't accidentally export the whole
address space of a process as base64.
I also added documentation for these some functions in Provider
2023-07-05 20:49:57 +02:00
WerWolv
86c4c8fa96
feat: Added new pattern inline visualizers
2023-07-04 22:18:06 +02:00
WerWolv
b265d8e54a
build: Restructure romfs assets
2023-07-04 08:42:33 +02:00
iTrooz
c6c3ca4d26
fix: Reset terminate handler directly when being called + some other crashes to crash handling ( #1174 )
...
This PR fixes some things about crash handling:
- when the terminate handler is called, immediately set it back to the
original one, so can't make a recursion if the crash-handling code fails
- Only save projects if the crash occured after Imhex finished startup
- do not update the project location when saving the crash backup file:
this will remove problems when `EventAbnormalTermination` is called
before `crashCallback()`
I also added a bit more documentation
2023-07-01 12:32:28 +02:00
WerWolv
f9909dab98
fix: Properly clear all global registries
2023-06-30 13:40:16 +02:00
WerWolv
d527675bda
build: Make sure changing commit hash doesn't trigger a full rebuild
...
Closes #1137
2023-06-26 14:01:45 +02:00
WerWolv
ae06954771
fix: Stack trace printing on Windows not working right
2023-06-22 15:15:06 +02:00
WerWolv
cb3b71e2f3
fix: Typo in content registry comment
2023-06-21 23:59:40 +02:00
WerWolv
d65e669bbb
impr: Make loading of large table files significantly faster
2023-06-21 23:58:21 +02:00
iTrooz
b7d8e46288
feat: Display detailed error message when loading of project fails ( #1135 )
...
In order to do this I add to make some other additions :
- Add a warning popup (TODO, maybe add some icons to differentiate
error/warning popups in a future PR ?)
- create showError() and showWarning() functions, as helpers to show a
message both to the logs and as a popup
2023-06-21 20:07:36 +02:00
WerWolv
da11c47693
impr: Better sorting of hex cell visualizers
2023-06-21 17:48:51 +02:00
WerWolv
6435d8d955
feat: Name runner threads for tasks
2023-06-21 09:29:57 +02:00
Nik
f703b15165
feat: Added statistics and crash log uploading ( #1149 )
...
Co-authored-by: Justus Garbe <gihihoh@gmail.com>
2023-06-20 11:55:56 +02:00
WerWolv
54061c56bf
fix: Logging race conditions
2023-06-18 22:32:55 +02:00
WerWolv
25154dd450
build: Force enable exceptions and rtti
2023-06-18 14:42:48 +02:00
WerWolv
03f377bf40
fix: Don't try to initialize plugins that failed to load
2023-06-18 10:18:41 +02:00
WerWolv
7de367a944
impr: Properly allow multi-threaded logging without messing up output
2023-06-12 08:24:36 +02:00
WerWolv
03673b5846
feat: Added basic Pattern Language debugger
2023-06-11 21:41:11 +02:00
WerWolv
34732a1ee7
fix: Corrected some memory leaks
2023-06-11 10:47:17 +02:00
WerWolv
cde5940063
fix: Popups sometimes not appearing centered on the main window
2023-06-10 15:15:52 +02:00
WerWolv
73d4214fd3
fix: Window title being cleared after ImHex exits
2023-06-10 15:08:56 +02:00
WerWolv
0e8273eaa7
impr: Make sure icons are more centered
2023-06-09 00:30:12 +02:00
WerWolv
903d1fb555
impr: Analyze file content of newly loaded files only when they are selected
2023-06-08 17:02:16 +02:00
WerWolv
456895a6a6
fix: Various pattern drawer issues
2023-06-06 11:29:58 +02:00
WerWolv
9712329924
feat: Added pattern export option to pattern data view
2023-06-05 11:57:26 +02:00
WerWolv
ae48ae659b
impr: Move various settings from settings window to hex editor and pattern data view
2023-06-05 09:07:58 +02:00
WerWolv
244e34ab84
feat: Added pattern data filter field
2023-06-04 16:13:46 +02:00
WerWolv
07aabe8efa
impr: Improved types used in provider functions
2023-06-04 10:42:11 +02:00
iTrooz
25476d4e1e
build: Update ImGui and its dependencies ( #1122 )
...
This PR updates imgui and its dependencies from the last time, ~1 year
ago
(deabacbd50
)
Commits will be refactored before merging
Things you might ask :
- why did you remove `ImGui_ImplGlfw_SetBorderlessWindowMode()` ?
-> Where is it used ? The only usage of it I see is commented
(cb9a3b1f55/lib/external/imgui/source/imgui_impl_glfw.cpp (L757)
)
- why did you remove the implot anti aliasing flag ?
-> They.. seem to have removed it altogether ?
https://github.com/epezent/implot/issues/479
2023-06-04 00:09:45 +02:00
WerWolv
de76c37ffb
fix: Multiple file provider resize issues
2023-06-03 23:57:41 +02:00
WerWolv
1dff81f7cd
fix: Crash when deleting overlays
2023-06-03 22:50:37 +02:00
WerWolv
504c022f01
patterns: Added hex_viewer visualizer
2023-06-02 10:47:23 +02:00
iTrooz
117832e007
impr: Handle crashes that may happen before the main loop ( #1115 )
...
Draft because I absolutely do not trust myself writing good code at 2AM.
I will review it tomorrow
2023-06-01 18:35:41 +02:00
WerWolv
9dafdeb70a
patterns: Updated pattern language
2023-05-29 10:52:39 +02:00
WerWolv
8d8a5a70f3
fix: Find view replace and hex editor paste logic being wrong
2023-05-28 14:30:33 +02:00
WerWolv
c8c3f5e753
feat: Added primitive replace feature to find view
2023-05-28 11:50:10 +02:00
iTrooz
0ba011dbe1
feat: Add a native error message when glfw window creation fails ( #1104 )
...
Draft because I want to test it again tomorrow with all OSes, first
---------
Co-authored-by: Nik <werwolv98@gmail.com>
2023-05-27 17:45:41 +02:00
iTrooz
e578127f67
feat: Save opened projects as recent entries ( #1105 )
...
This PR does two things :
- save opened projects as recent entries
- refactor stuff about recent entries in a separate file. The reason is
that I felt like welcome_screen.cpp was really big ( 685 lines before
this, 500 now). What do you think ?
---------
Co-authored-by: Nik <werwolv98@gmail.com>
2023-05-27 16:59:30 +02:00
WerWolv
cb9a3b1f55
fix: Invalid key code error spam
2023-05-24 21:05:14 +02:00
WerWolv
0e3da22c76
feat: Added support for changing the page size
2023-05-23 11:34:30 +02:00
iTrooz
7ce0613977
impr: Added better crash backup and restore mechanism ( #1094 )
...
- Add a new file 'crash.json' to store metadata about the crash, like
the log file or project opened
- show the log file of the session that caused the crash to the user
- Correctly restore the project path
2023-05-22 13:24:48 +02:00
WerWolv
f81276f7e3
feat: Added support for transparent and blurry window styles
2023-05-22 12:00:35 +02:00
WerWolv
e7b51a56a5
feat: Added support for automatically loading patterns using binary pattern magic
2023-05-22 00:01:58 +02:00
WerWolv
2179c3c014
fix: View shortcuts acting like global shortcuts
2023-05-21 18:02:29 +02:00
iTrooz
5666a5c5fb
feat: Added context menu with right-clicking on file provider ( #1084 )
...
Co-authored-by: Nik <werwolv98@gmail.com>
2023-05-21 13:21:53 +02:00
WerWolv
180a27fdc9
fix: Local keybindings not working correctly
2023-05-21 10:28:55 +02:00
KOLANICH
4faebf435c
impr: Remove an unused std::mutex
in TaskManager::runner
( #1088 )
2023-05-20 13:38:12 +02:00
KOLANICH
749823e044
build: Move -s
additional compiler flags into linker flags, and enable it only when gcc/clang are used. ( #1087 )
...
Compiler when compiling doesn't use them in those cases and emit a
warning, which is turned into an error by `-Werror`. Unfortunately,
CPack doesn't expose the logic it uses for stripping binaries.
2023-05-20 13:37:57 +02:00
KOLANICH
608c9e2e7a
fix: WASM disassembler not being available in Capstone < 5 ( #1086 )
...
This fixes build on Debian with Capstone from packages.
2023-05-20 13:37:45 +02:00
WerWolv
969a37877a
fix: Crash on exit
2023-05-20 13:10:24 +02:00
paxcut
3e4c4430d5
feat: Greatly improved the IEEE754 tool ( #1047 )
...
I just realized one feature request existed about this tool and have
added a comment to it referring this pr. Errors and additions are
described in the fork commit already. I'm not sure if I should repeat
them here again. I have tested the changes thoroughly, but it is always
possible some fringe case was not tested and is incorrect. The tests
were done using the many similar online calculators for IEEE 754
floating point formats.
IEEE 745 floating point tool redesign modeled after 'float toy' web app
(http://evanw.github.io/float-toy/ )
Streamlined output using colors and compact layout which can be further
simplified.
Chosen display mode (detailed or simplified) is automatically saved and
set on new sessions.
Edit the binary bits, the integer hexadecimal or the floating point
decimal values and the entire app will update with the change.
Supports the main IEEE745 standard formats (half, single and double
precision) together with custom formats of size <= 64 bits.
Each format choice uses and displays the number of significant decimal
digits defined by the mantissa size.
Added labels to identify the location of each bit box inside the binary
representation.
Satisfies round trip / idempotent (reproducing) conversion property
Added theme colors, radio buttons for display mode and a clear button
that resets the tool.
Removed previously and incorrectly added locale translation to various
labels and languages
Attempted to adhere to code style formatting using existing code as
example.
An effort was made to use preferred variable types and functions from
std namespace when appropriate.
Attempted to document code using comments.
Not implemented / left to complete at an later time
Arbitrary width and precision formats.
Extended precision formats.
Shortest string property.
hexadecimal floating point display and conversions.
2023-05-19 21:18:38 +02:00
WerWolv
8119929ece
fix: Don't wait for services on exit
2023-05-16 14:59:14 +02:00
WerWolv
14341d611d
impr: Handle macOS Open with... correctly
2023-05-15 18:07:49 +02:00
WerWolv
c006062540
feat: Added basic network interface support
2023-05-15 11:30:24 +02:00
WerWolv
60a2b30e91
fix: Another wrong include on macOS
2023-05-14 22:53:52 +02:00
WerWolv
79cdf51588
fix: Wrong include on macOS
2023-05-14 22:23:05 +02:00
WerWolv
7b048d9b96
fix: Compile on macOS _again_
2023-05-14 22:03:04 +02:00
WerWolv
d96fc6d41b
fix: Compilation on macOS
2023-05-14 21:50:58 +02:00
WerWolv
609afebc55
fix: Updated build script
2023-05-14 20:20:40 +02:00
WerWolv
3bd9ab6349
fix: Hopefully open files now on macOS
2023-05-14 20:20:22 +02:00
WerWolv
5027f36d95
fix: Open with crashing on macOS
...
#1070
2023-05-14 18:35:35 +02:00
WerWolv
aaeebd3fe9
fix: Various pattern execution race conditions
2023-05-12 15:46:13 +02:00
WerWolv
18bc5de169
fix: Copy-as options not being disabled correctly
2023-05-12 08:38:07 +02:00
WerWolv
f2af90fe06
fix: Help hover icon issues
2023-05-11 23:56:51 +02:00
WerWolv
0649e0dcd3
impr: Clean up old layout stuff
2023-05-11 23:21:52 +02:00
WerWolv
ceeaca1a4b
feat: Added layout manager to save and restore custom layouts
2023-05-11 18:44:50 +02:00
WerWolv
ea482ff0f5
fix: Crash when closing providers too quickly
2023-05-11 12:01:06 +02:00
WerWolv
8f07f0f8ae
impr: Better look and feel of the welcome screen close button
2023-05-11 12:00:45 +02:00
WerWolv
50c3cf8272
build: Replace old interval tree in favour of custom libwolv one
2023-05-11 09:27:23 +02:00
WerWolv
0574387ee1
fix: Properly use absolute paths when compiling magic files
2023-05-06 10:09:23 +02:00
WerWolv
2d1381860d
fix: Corrected build issues with GCC 13
2023-05-06 10:07:22 +02:00
iTrooz
e44eb2aa8e
impr: Added more documentation to libimhex ( #1052 )
...
This PR adds some documentation. It's actually pretty random, I followed
the function calls I was curious about and commented whenever I wasn't
sure/I thought it needed clarification
You might want to make sure to squash them, because the commits are kind
of a mess, I didn't went through the effort of interactive rebase
2023-05-05 22:02:18 +02:00
iTrooz
34e12e2515
feat: Added a button to restore default layout when there are no views open ( #1053 )
...
Co-authored-by: Nik <werwolv98@gmail.com>
2023-05-05 22:00:17 +02:00
iTrooz
980e4cad06
fix: Handle errors in Tar::readVector() ( #1059 )
2023-05-05 21:57:37 +02:00
WerWolv
5680b90549
fix: Project files failing to save when no custom encoding is loaded
2023-05-04 23:23:44 +02:00
WerWolv
bec655a8c6
impr: Added event logging in debug mode
2023-05-02 20:35:30 +02:00
WerWolv
1e39f4354f
fix: Provider reader being broken
2023-04-20 13:46:44 +02:00
WerWolv
8245f3d4c9
build: Updated libwolv
2023-04-19 21:56:34 +02:00
WerWolv
6c122e5fbe
patterns: Updated to new API
2023-04-18 10:06:47 +02:00
WerWolv
99a736df27
impr: Replace horrible pattern extra data class with a more modular system
2023-04-17 16:18:48 +02:00
WerWolv
1690cd2740
fix: Various issues with the new popup system
2023-04-16 21:34:29 +02:00
WerWolv
52925c99e8
impr: Default to monitor synchronized FPS limit
2023-04-13 17:12:40 +02:00
WerWolv
3e87022da1
fix: Provider undo stack not being handled correctly
2023-04-13 16:12:00 +02:00
WerWolv
803b99f2a9
impr: Immensely improve provider read speeds
2023-04-12 19:21:48 +02:00
WerWolv
aa7c5422c0
fix: Make sure provider data is properly cleared when deleting provider
2023-04-11 15:26:18 +02:00
WerWolv
21f38974a8
impr: Use smart pointers to allocate Views
2023-04-08 12:08:45 +02:00
WerWolv
80edaea392
impr: Update all of ImHex to the new popup system
2023-04-08 00:58:53 +02:00
WerWolv
9c9ac23818
feat: Added a much more flexible popup system
2023-04-07 10:21:27 +02:00
WerWolv
c73f33aac2
impr: Added various new events
2023-04-06 17:36:28 +02:00
WerWolv
5f713882d4
fix: Occasional crash when loading project files
2023-04-06 12:44:25 +02:00
WerWolv
7a4f909c68
fix: Disassembler arch names not correctly corresponding to their ids
...
Fixes #1010
2023-04-05 18:02:47 +02:00
WerWolv
4cf92103d8
fix: Names of disassembler architectures not corresponding to their actual type
...
Fixes #1010
2023-04-05 07:20:06 +02:00
WerWolv
3658d8d96e
fix: Disassembler not supporting any Capstone 5 features anymore
...
Fixes #1010
2023-04-04 23:08:10 +02:00
H1X4
aab8c88a96
feat: allow loading and saving pattern code via events ( #1004 )
...
Currently there is no way to save the pattern code progamically from a
plugin unless the builtin plugin is modified to add those events. This
pull request will be adding ability to load and save pattern code from
specified file.
2023-04-01 11:18:52 +02:00
Thomas
24106b860a
impr: Added some documentation to providers ( #1001 )
2023-04-01 11:17:19 +02:00
WerWolv
1460044e91
impr: Save custom encoding file to project
...
Fixes #1005
2023-03-31 11:06:51 +02:00
Thomas
fabb1596e5
impr: Handle and show NFD errors ( #995 )
...
This PR handles errors that NFD might encounter (both in Init() and the
other method to open the dialog), and log them in the logs and in the
GUI
This (among other) fix the crash I had running ImHex as root and opening
a file
2023-03-26 11:02:51 +02:00
Thomas
725e32250b
fix: Move config files to XDG_CONFIG_HOME ( #993 )
...
This pull request changes Config Directories on Linux to only include
the XDG_CONFIG_HOME directory, as opposed to all directories in
XDG_DATA_DIRS before (introduced in
https://github.com/WerWolv/ImHex/pull/644/files#diff-c1a4d2b63fed168a9a3568944e9cadeae096f2ddcec3649e4a9b2d29fd104be0L162-L166 ).
Reasons:
- This changes the location of the config file to the standard directory
meant for configurations
- This prevents the config file from being read/written in system
locations, like /usr/share
This PR also includes a migration task that will run on Linux and move
config/GUI dimensions to the new directory
as a bonus, as discussed on discord, it writes the logs to a Data
directory instead of a Config directory
2023-03-26 11:02:23 +02:00
WerWolv
635173e55a
impr: Make sure themes are added correctly when downloaded from the store
2023-03-23 20:35:16 +01:00
WerWolv
2296766746
build: Allow building with capstone 4.X again
2023-03-23 16:45:00 +01:00
WerWolv
8ef863cae1
fix: Progress not working with with new http wrapper
2023-03-23 13:32:35 +01:00
WerWolv
9463105172
fix: Header memory leak in http requests class
2023-03-23 12:08:33 +01:00
WerWolv
bb4819bce4
sys: Fixed http request stack overflow
2023-03-23 11:43:07 +01:00
WerWolv
15be24db62
sys: Updated to use the new HttpRequest helper instead of Net
2023-03-23 11:23:07 +01:00
WerWolv
8c5fd021f7
api: Hook up new http wrapper to the rest of ImHex
2023-03-22 23:05:18 +01:00
WerWolv
1a1ba19770
api: Added new, more flexible curl http wrapper
2023-03-22 21:48:14 +01:00
WerWolv
57a62d0544
impr: Clean up entire API and added doc comments
2023-03-21 15:33:43 +01:00
Thomas
8731b7582b
impr: Display a more detailed errors when opening a raw disk provider failed ( #970 )
...
PR title is self explaining
I may modify other providers implementations to display a detailed error
message later
I'm not sure how to deal with other locales because the format changed.
Before, I had to add and comment the key in all locale files, now I'm
not so sure.
2023-03-21 10:33:00 +01:00
WerWolv
a4dfaba03f
fix: All menu item shortcuts being global
2023-03-20 15:12:12 +01:00
WerWolv
6e23560e80
feat: Added all menu items to command palette
2023-03-20 14:11:43 +01:00
WerWolv
39e8d557e8
sys: Completely revamped main menu item system
2023-03-20 13:11:43 +01:00
WerWolv
367bd76046
ui: Mae sure all theme scaling values are scaled correctly
2023-03-18 10:52:50 +01:00
WerWolv
1a1bf98905
impr: Look for magic files recursively
2023-03-17 21:18:28 +01:00
WerWolv
466dacaab4
ui: Improve the look and feel of the information view
2023-03-17 17:07:39 +01:00
WerWolv
1f8645fd43
fix: Occasional crash when multiple threads are reading data from a file provider
2023-03-17 11:43:50 +01:00
WerWolv
64be6d89ee
fix: Moving cursor around using arrow keys behaving weirdly
2023-03-17 09:17:44 +01:00
WerWolv
5442c32a3f
impr: Allow non-continuous provider values to be saved
2023-03-17 08:38:38 +01:00
WerWolv
5097a223e3
impr: Added default saveAs implementation for all providers
2023-03-17 08:15:43 +01:00
WerWolv
7cdba75bef
fix: Crash when not making a valid selection in provider load interfaces
2023-03-16 16:48:15 +01:00
WerWolv
a0b36925ed
fix: Custom styles not being scaled correctly
2023-03-14 13:19:04 +01:00
WerWolv
3a840c4ced
impr: Properly display custom encoding characters that are split between lines
2023-03-14 09:35:43 +01:00
WerWolv
00a5fd2d7c
sys: Fixed more build issues
2023-03-13 09:25:07 +01:00
WerWolv
55f9faea10
sys: Updated more code to libwolv
2023-03-13 08:58:08 +01:00
WerWolv
fb2e668589
sys: Moved more functions to libwolv
2023-03-12 18:43:05 +01:00
WerWolv
0dafb3d230
sys: Replaced many helper functions with libwolv
2023-03-12 18:27:33 +01:00
Fenrisfulsur
069221757f
feat: Added chunk based entropy analysis to information view ( #933 )
...
Issue: https://github.com/WerWolv/ImHex/issues/522
Implementation of chunk based entropy analysis in diagram.hpp available
from the data information view and in the pattern language.
---------
Co-authored-by: WerWolv <werwolv98@gmail.com>
2023-03-10 16:06:18 +01:00
WerWolv
0017cd2e40
feat: Added binary hex cell visualizer
...
Closes #939
2023-02-18 22:20:02 +01:00
WerWolv
bf8089dc7e
impr: Don't memory map files, never keep a write handle open for long
...
Closes #592
2023-02-17 10:26:09 +01:00
WerWolv
e48761b5c0
fix: Plot lines being invisible
2023-02-17 10:02:43 +01:00
WerWolv
35437c0300
patterns: Added rotation and scale sliders to 3D visualizer
2023-02-16 23:24:24 +01:00
WerWolv
5ccbfc1ff8
feat: Allow themes and nodes to be downloaded from the content store
2023-02-16 18:55:21 +01:00
WerWolv
ac83bbeb0e
feat: Added a theme manager view to make it easier to make new themes
2023-02-16 18:06:40 +01:00
WerWolv
3067ff08ec
feat: Greatly improved diff view
...
Fixes #631
2023-02-15 17:01:36 +01:00
WerWolv
61ce88ba9b
build: Fix build on systems that have no backtrace or execinfo
...
Fixes #932
2023-02-13 08:27:08 +01:00
WerWolv
3003dea409
fix: Occasional error when loading recent files
2023-02-12 17:52:09 +01:00
WerWolv
0b18930017
fix: Invalid theme load error
2023-02-12 17:39:47 +01:00
WerWolv
d084ec78e9
nodes: Allow immediate values on integer and float inputs
...
Closes #427
2023-02-12 17:33:53 +01:00
WerWolv
a59c17aa83
nodes: Fixed loading saved nodes multiple times
2023-02-10 11:22:11 +01:00
WerWolv
5cc01ae89d
nodes: Added support for nested, shareable, custom data processor nodes
2023-02-09 23:07:04 +01:00
WerWolv
303dd28c7c
fix: Fix macOS build again
2023-02-08 14:11:42 +01:00
WerWolv
dd87dc7046
fix: Building on macOS
2023-02-08 13:51:56 +01:00
WerWolv
89a96c6d25
sys: Improve pattern visualizer API
2023-02-07 14:18:59 +01:00
WerWolv
22ff033b5e
fix: More P2468R2 issues
2023-02-02 21:13:56 +01:00
WerWolv
4ea8971adf
lang: Added base translation files
2023-02-02 10:08:47 +01:00
WerWolv
8da072b602
lang: Get codebase ready for the use with Weblate
2023-02-02 09:41:58 +01:00
WerWolv
c6e1f45dc3
feat: Added option to copy custom encoding strings from hex view
2023-01-28 21:12:35 +01:00
WerWolv
29c1a0cb78
feat: Allow multiple yara files to be selected at once
2023-01-28 00:01:53 +01:00
WerWolv
fee1b985c0
feat: Added better error messages for generating and importing ips patches
2023-01-25 10:38:04 +01:00
WerWolv
434b7649c3
fix: CRC8 hashing algorithm displaying 16 bits result
2023-01-25 00:06:48 +01:00
WerWolv
94cd83e0dc
feat: Added sound visualizer
2023-01-24 23:27:35 +01:00
WerWolv
90d9c91717
build: Cleanup opengl and glfw linking
2023-01-24 14:59:19 +01:00
WerWolv
cf9df6e36d
feat: Added ability to query provider information from pattern language
2023-01-24 09:07:11 +01:00
WerWolv
915106f360
patterns: Fixed various issues with the 3d visualizer
2023-01-23 16:25:23 +01:00
WerWolv
1f50e834fc
fix: Copying bytes from non-zero page not working
2023-01-22 11:28:17 +01:00
WerWolv
89e0df86a2
feat: Added scaling and rotation to 3D visualizer
2023-01-21 13:00:02 +01:00
WerWolv
f17e04273d
fix: IPS patch applying being broken
2023-01-21 00:29:16 +01:00
WerWolv
d4967018c2
feat: Added basic lighting and rotations to 3d visualizer model
2023-01-20 23:32:51 +01:00
WerWolv
8e759d9b5f
feat: Added basic 3D visualizer, moved visualizers to separate file
2023-01-20 21:16:28 +01:00
WerWolv
4fb544d59d
fix: Views starting out super tiny
2023-01-19 16:59:09 +01:00
WerWolv
c5d2739a39
fix: File provider sometimes not saving path to project file
2023-01-19 11:09:24 +01:00
WerWolv
ef12798fe2
feat: Allow custom hashes to be saved to projects
2023-01-18 14:30:56 +01:00
WerWolv
c747c15567
fix: Buffer overflow caused by hex input boxes
2023-01-18 14:30:44 +01:00
Nik
48a57cd981
feat: Added stacktrace printing on crashes ( #892 )
...
* feat: Added simple stack trace output
* feat: Added backtrace wrapper
* build: Added libbacktrace include dirs to build
* build: Fixed libbacktrace variables
* build: More backtrace variable fixes
* build: Try to find backtrace include
* build: Get backtrace header from cmake script
* feat: Added backtrace support for execinfo
* feat: Added support for StackWalk on Windows
2023-01-17 21:38:56 +01:00
Kuruyia
a65f0a5238
feat: Support macOS keyboard shortcuts ( #889 )
2023-01-17 08:16:02 +01:00
WerWolv
1b56c7ffae
ui: Show task progress in task bar
2023-01-14 14:21:16 +01:00
WerWolv
03d216f116
feat: Allow most resources to be loaded relative to the current project
2023-01-11 23:31:25 +01:00
WerWolv
dbcb13f473
patterns: Disallow application/octet-stream
to be used as MIME type
2023-01-09 08:38:19 +01:00
WerWolv
ceae23eab1
fix: Crash when opening a project file when already having providers open
2023-01-07 22:43:48 +01:00
Thomas
ab29303c2e
sys: Clear project context when closing all providers, Display project name in window title ( #860 )
...
* clear project context when closing all providers
* Show project name on window title
* refactor RequestChangeWindowTitle to RequestUpdateWindowTitle
* add spaces
2023-01-07 17:31:22 +01:00
WerWolv
c26bed894b
sys: Add imhex/lib
path to plugin libraries search paths
2023-01-07 10:32:01 +01:00
WerWolv
763196f0cc
feat: Added filtering to Process Memory Provider
2023-01-05 09:30:15 +01:00
WerWolv
ff9048fcf0
fix: Crash on exit
...
Fixes #854
2023-01-05 09:29:33 +01:00
WerWolv
45bb9e6706
build: Fix some more ObjC issues
2023-01-04 14:55:58 +01:00
WerWolv
e6d14507e2
fix: Window title not resetting when closing all providers
2023-01-04 14:24:18 +01:00
WerWolv
9a5881fc47
build: Fixed -Wpedantic issues on macOS
2023-01-04 14:24:07 +01:00
WerWolv
f7dd28002e
build: Build everything using -Wpedantic
2023-01-04 14:03:09 +01:00
WerWolv
eb4a1e2692
build: Try to clean up bundled dependencies a bit
2023-01-04 12:34:38 +01:00
WerWolv
01917439dd
fix: More invalid iterator accesses
2023-01-03 13:04:36 +01:00
WerWolv
f21c80c48a
build: More libfmt fixes
2023-01-02 01:38:07 +01:00
WerWolv
a20d6aa2b2
fix: Project file creation issues
2023-01-01 21:46:41 +01:00
WerWolv
d7d19d7594
feat: Further improve process memory provider
2023-01-01 12:26:27 +01:00
WerWolv
90df4413c3
feat: Added basic windows process memory provider
2023-01-01 02:29:38 +01:00
WerWolv
87ed0d31d4
fix: Various invalid iterator and container accesses
2023-01-01 01:01:24 +01:00
WerWolv
745da6ba45
build: Only use --export-all-symbols
on Windows
2022-12-30 11:24:53 +01:00
WerWolv
ad71e612a3
build: Clean up some old compiler/linker flag settings
2022-12-30 10:35:11 +01:00
WerWolv
85823e8e5d
build: Removed all usages of Python
2022-12-29 23:32:57 +01:00
WerWolv
7859a9bb1f
feat: Added native custom theme support
2022-12-29 19:26:00 +01:00
WerWolv
cf601586fc
fix: Deadlock when loading recent files
2022-12-28 23:06:27 +01:00
WerWolv
f7b988906e
fix: Saving projects to unicode paths not working correctly
2022-12-28 10:46:02 +01:00
WerWolv
4b8e275254
fix: Crash when closing providers too quickly
2022-12-27 11:35:20 +01:00
WerWolv
a5296bab95
feat: Added pattern value editing
2022-12-16 11:20:39 +01:00
WerWolv
e3f2541fde
sys: Make sure libromfs is never used in libimhex
2022-12-05 15:29:19 +01:00
WerWolv
1347f81236
sys: Added postJson Net helper function
2022-12-04 21:50:47 +01:00
WerWolv
3b94a42783
lang: Updated localization system to use a more versatile json format
2022-12-02 12:00:04 +01:00
André Blome
4aa314b3ab
feat: Added quick "save project" action ( #826 )
...
* add quick -save project- action
* translation for -save project as- added
* removed machine translations; header file name extension fixed
* moved openProject() for consistency
2022-11-25 10:47:11 +01:00
iTrooz_
217cf799c2
sys: Warn user if a net request fails while a proxy is set ( #821 )
...
* tell the user if he have a proxy set
* Improved log message
Co-authored-by: Nik <werwolv98@gmail.com>
2022-11-25 10:39:45 +01:00
WerWolv
9074a6fcf1
fix: Edit menu items being always unavailable
2022-11-09 18:49:07 +01:00
WerWolv
4c5d2f6ebb
feat: Finish up work on new pl section system
2022-11-08 21:43:22 +01:00
WerWolv
a6742de405
sys: Literally, fuck Valve
2022-11-02 08:24:00 +01:00
Asvel
c35eaa7a4d
fix: Pattern auto-loading issue on Windows ( #808 )
2022-10-30 13:39:40 +01:00
WerWolv
5cf6baca88
fix: Yara matching not being interruptable
2022-10-28 14:32:28 +02:00
WerWolv
0c5e72ab6a
nodes: Improve precision of values passed between nodes
2022-10-26 08:54:08 +02:00
WerWolv
858e1aed3b
nodes: Fixed a few issues with locatizations, errors and overlays
2022-10-22 23:17:18 +02:00
WerWolv
1eb9858f62
sys: Moved libimhex-rust out of project
2022-10-21 14:55:01 +02:00
WerWolv
241b93aab5
patterns: Added menu to Edit menu for placing types at current selection
2022-10-21 10:03:37 +02:00
iTrooz_
f3b0971d00
sys: Improve various error messages ( #789 )
...
* Tell the user the net request which failed
* Show signal name
* Print execution time of startup tasks
* replace NULL with nullptr
* change wording for task logs
* Remove '..' from task name
* remove using namespace chrono
2022-10-20 08:28:29 +02:00
WerWolv
1ab949b7ef
nodes: Added RGBA8 image visualizer
2022-10-13 15:13:53 +02:00
WerWolv
8b39c8f219
feat: Make all tool windows be detachable
2022-10-13 10:47:38 +02:00
WerWolv
015266181e
fix: Various issue with the hex editor editing mode
2022-10-12 10:56:03 +02:00
WerWolv
a44de63e24
fix: Build failing on Linux
2022-10-09 16:34:53 +02:00
WerWolv
4070833229
ui: Highlight selected patterns in pattern data view
2022-10-09 15:56:26 +02:00
WerWolv
2b135cf7e0
ui: Limit maximum length of data displayed in pattern tooltip
2022-10-07 16:27:29 +02:00
WerWolv
484481f886
fix: Opening files with unicode names through the command line
2022-10-07 10:14:24 +02:00
WerWolv
e0c35e0002
fix: Data processor nodes not remembering their positions correctly
2022-10-06 09:14:46 +02:00
WerWolv
5ace199dc4
fix: Foreground tasks not being cancellable
2022-10-05 21:25:52 +02:00
WerWolv
7f2c60b0d7
fix: Race condition with data inspector
2022-10-05 12:02:40 +02:00
WerWolv
7bb9e7ee82
sys: Replaced awful task system with a much more efficient thread pool
2022-10-04 23:37:48 +02:00
WerWolv
b80517ab15
sys: Improved UTF-8 path handling in various places
...
Fixes #768
2022-10-04 09:10:58 +02:00
Nik
9c484e7b57
fix: Various clang / clang-tidy warnings ( #764 )
2022-10-02 17:30:26 +02:00
WerWolv
6a07a2f85d
feat: Look for custom inspector entries in imhex/scripts/inspectors
2022-10-02 14:18:40 +02:00
WerWolv
663fb88367
sys: Various cleanup
2022-09-30 12:49:28 +02:00
WerWolv
ca6a8a7a46
sys: Move resources into their relevant subprojects
2022-09-29 10:33:39 +02:00
WerWolv
c769e9cc32
ui: Highlight modified bytes in red
2022-09-28 15:01:43 +02:00
WerWolv
e34703ea5a
fix: Saving and loading projects not working correctly
2022-09-22 09:05:09 +02:00
iTrooz_
3a94be9abb
ux: Display an error message if file picker can't be opened ( #748 )
...
* add error message for the file picker
* set a different message for Windows/MacOS
* fix typos
* Moved file dialog error handling to a callback function
Co-authored-by: Nik <werwolv98@gmail.com>
2022-09-20 15:47:59 +02:00
WerWolv
1d4cbbe418
ux: Handle project loading errors better
2022-09-20 15:33:36 +02:00
WerWolv
a55177edfa
fix: Curl SSL context not being thread safe in the slightest
2022-09-19 21:56:43 +02:00
WerWolv
4c01a749de
sys: Improved startup time by running startup tasks in parallel
2022-09-19 16:54:19 +02:00
WerWolv
7b61268f22
ux: Reduce file loading time to basically zero
2022-09-19 16:09:22 +02:00
WerWolv
814c595c12
ui: Added functionality icons to most text input fields
2022-09-19 11:29:51 +02:00
WerWolv
3cdc8c5884
fix: OpenGL textures not being cleaned up correctly
2022-09-18 20:38:45 +02:00
WerWolv
6a7bbb8752
fix: Crash on some Linux systems when opening files
2022-09-17 08:55:18 +02:00
WerWolv
bf00503d1f
fix: BufferedReader messing up the second to last byte
2022-09-16 08:30:28 +02:00
WerWolv
66d64cf020
patterns: Refactor creation of default runtime
2022-09-15 09:34:40 +02:00
WerWolv
42f5c0f484
fix: Tasks being interrupted even if they already finished
2022-09-14 13:51:48 +02:00
WerWolv
20a2331504
feat: Allow task stop button to abort pattern evaluation
2022-09-13 16:05:41 +02:00
WerWolv
bda4aadc54
fix: Sequence escape codes
2022-09-13 14:10:52 +02:00
WerWolv
aa658b7dbc
sys: Make sure constexpr variables don't get copied onto the stack
2022-09-12 21:28:02 +02:00
WerWolv
d990ee102a
sys: More cleanup
2022-09-07 23:11:24 +02:00
WerWolv
95a3104a56
sys: Only display FPS in debug builds
2022-09-05 22:37:28 +02:00
WerWolv
cb682b6e21
ui: Fixed graphics artifacts on welcome screen
2022-09-05 14:16:31 +02:00
WerWolv
d9a47fe815
fix: Crashes when resizing file
...
Fixes #721
2022-09-04 11:16:24 +02:00
WerWolv
d240b4ed49
fix: Build errors
2022-09-04 00:04:27 +02:00
WerWolv
1a21627cdb
ui: Added error popup when an exception is thrown in a task
2022-09-03 23:56:57 +02:00
WerWolv
7f6aa9f9a6
fix: Backwards searching being broken
...
Fixes #713
2022-09-03 23:02:46 +02:00
WerWolv
3cb6c4f775
fix: Buffered reader returning zeros if provider size is below 16MiB
...
Fixes #707
2022-08-29 16:32:32 +02:00
WerWolv
b687eb88f9
fix: Pattern source code not being loaded correctly from project files
2022-08-29 13:15:17 +02:00
iTrooz_
38162c0129
build: Use the bundled CA cert in AppImage ( #694 )
...
* Added option to bundle CA
* use bundled CA for AppImage
* Fix bundled CA not working on Linux
* revert change to add null terminated string
* set IMHEX_USE_BUNDLED_CA to ON on Windows
2022-08-26 00:21:17 +02:00
WerWolv
f62edea450
build: Fix various clang build issues
2022-08-26 00:18:08 +02:00
WerWolv
389e53a8a0
fix: Net request json parser throwing exceptions
2022-08-21 23:33:08 +02:00
WerWolv
7d85a8b6fc
fix: Providers not being closed correctly
...
Fixes #692
2022-08-20 14:04:12 +02:00
Jonathan Wright
be82ee15b7
build: Lower curl version requirement ( #684 )
...
to allow building against RHEL 9's system curl
2022-08-18 01:13:38 +02:00
WerWolv
1ddd3ea2b9
fix: Custom pattern include paths not working correctly
2022-08-18 00:30:02 +02:00
WerWolv
55b877d5e0
fix: Region validity check not working correctly with non-zero base address
...
Fixes #683
2022-08-17 16:28:44 +02:00
WerWolv
e779285be4
feat: Added basic ability to interrupt long running tasks
2022-08-17 16:15:36 +02:00
WerWolv
aa01d58b33
ui: Increase window size when a bigger font is being used
2022-08-16 11:49:07 +02:00
WerWolv
0c0caf6942
fix: Restarting ImHex not working correctly
2022-08-16 11:48:37 +02:00
WerWolv
0e2c1f1355
fix: Syntax errors
2022-08-16 00:39:56 +02:00
WerWolv
29e970fd81
fix: Out of bounds strlen read
2022-08-16 00:29:53 +02:00
WerWolv
43ab72dcb8
fix: Undefined behaviour in helper functions
2022-08-16 00:12:28 +02:00
WerWolv
6b62a1963e
fix: Some occurrences of undefined behaviour
2022-08-15 21:08:09 +02:00
WerWolv
03daf0c95b
fix: Unavailable address displaying on intel hex provider
2022-08-14 22:38:01 +02:00
WerWolv
7d5b17d5c9
build: Added option to use NFD system library
2022-08-14 14:53:27 +02:00
WerWolv
78785ddc3c
fix: More provider display issues
2022-08-14 14:45:18 +02:00
WerWolv
85f0e04d0e
feat: Allow recents to also display other providers
2022-08-14 10:07:45 +02:00
WerWolv
b580691871
feat: Added Intel Hex and Motorola SREC provider ( #670 )
...
* feat: Initial implementation of an Intel Hex provider
* fix: Reading of bytes from intel hex files
* lang: Added localization for new provider
* ui: Only show file name in intel hex provider name
* feat: Added Motorola SREC provider
2022-08-12 15:11:27 +02:00
WerWolv
d55c59c796
feat: Added close button for welcome screen
2022-08-10 10:28:40 +02:00
WerWolv
5c13cf9dbf
sys: Added support for providers with unreadable regions
2022-08-10 09:26:48 +02:00
WerWolv
19a0dc80db
fix: Window title not always updating correctly
2022-08-10 00:11:16 +02:00
WerWolv
a3132b7d13
build: Fixed system llvm linking errors
2022-08-09 14:59:58 +02:00
WerWolv
0192c791ce
sys: Updated llvm demangler, now supports D-Lang and Rust symbols
2022-08-09 13:51:03 +02:00
WerWolv
b1e93fda4b
sys: Format settings file more prettily
2022-08-09 09:39:04 +02:00
WerWolv
966f3b8597
sys: Replace existing bad project system with a much better one ( #663 )
...
* sys: Initial effort to replace existing project files with a better system
* sys: Added back marking provider as dirty
* sys: Remove git commit information from project files
* sys: Format data processor save file nicely
* fix: Automatic pattern loading not working correctly
* ui: Added warning popup when closing a provider with modifications
Closes #604
* sys: Fixed build issues
* tests: Removed useless debug logs
* patterns: Updated pattern language
* sys: Added log message when crashing with a signal
* sys: Make sure abnormal termination handlers are being called more reliably
2022-08-08 21:23:52 +02:00
WerWolv
423e23e3c0
fix: Windows native theme detection not working correctly
2022-08-08 12:57:51 +02:00
WerWolv
2c740cab06
sys: Added select region command
2022-08-08 12:57:44 +02:00
WerWolv
f221d0f430
fix: Properly place config files in .../imhex/config on Linux
2022-08-07 23:27:15 +02:00
Bernard Teo
d8d3a315a4
build: Update nfd-extended to get correct feature test detection ( #661 )
2022-08-07 15:32:56 +02:00
WerWolv
f62ca307b0
ui: Streamline region selection in different views
...
Fixes #660
2022-08-07 12:20:40 +02:00
WerWolv
69d000488e
api: Added api function to create pattern
2022-08-06 22:29:59 +02:00
WerWolv
88f8bb9848
sys: Updated to new pattern language library structure
2022-08-06 21:38:09 +02:00
WerWolv
7d93c54444
build: Updated nfd-extended to prevent linking of macOS 11 framework
2022-08-06 14:33:23 +02:00
WerWolv
a97f853110
fix: More search issues
2022-08-06 13:16:53 +02:00
WerWolv
3dc5f0e2be
fix: Buffered Reader not reading last byte
...
Closes #653
2022-08-06 13:07:02 +02:00
WerWolv
d7accb6916
feat: Allow Find view to find overlapping occurrences
...
Closes #653
2022-08-06 12:57:47 +02:00
WerWolv
58f54caf55
ui: Added u24, i24, u48 and i48 to data inspector
...
Closes #651
2022-08-05 12:19:50 +02:00
WerWolv
352df24160
build: Move another warning disable to the build script
2022-08-05 08:42:09 +02:00
WerWolv
5a41be48c3
build: Disable restrict warning
2022-08-05 08:32:08 +02:00
iTrooz_
e816b67472
build: Fix various issues for upstream Fedora compatibility ( #642 )
...
* cmake: use GNUInstallDirs to find install dirs on Linux
* install plugins to lib/imhex/plugins
* fix included files in imhex.spec
* fix the release CI + do not upload x86_64 folder for Fedora
* change rpm names
* added IMHEX_STRIP_RELEASE option to optionally strip releases files (was done all the time before)
* Customize our imhex.spec file (use online building for our Fedora package)
* added IMHEX_PLUGINS_IN_SHARE option for AppImage
* test
2022-08-04 20:37:57 +02:00
WerWolv
c1da2497a7
fs: Fix paths on macOS
2022-08-04 08:56:58 +02:00
WerWolv
deabacbd50
sys: Updated ImGui, ImPlot and imnodes to latest versions
2022-08-03 23:32:34 +02:00
iTrooz_
47166db166
fix: Invalid paths being added to the default paths on Linux ( #644 )
...
* do not iterate over XDG home dir
* fixed typo
* use push_back
* same fix for getConfigPaths
2022-08-03 19:52:02 +02:00
WerWolv
ace25d353b
fix: GLFW error on exit
2022-08-03 10:45:50 +02:00
WerWolv
0ac8fcd1eb
feat: Added binary pattern search to find view
2022-08-03 10:19:34 +02:00
WerWolv
0a97b59228
sys: Fixed one remaining log::info occurrence
2022-08-02 23:07:12 +02:00
WerWolv
30b2378778
fs: Refactored default path handling ( #637 )
2022-08-02 22:55:01 +02:00
WerWolv
4d7de8d466
sys: Make sure nativefiledialogs doesn't use macOS 11 frameworks
...
Fixes #597
2022-08-02 13:20:06 +02:00
WerWolv
59449bbe47
fix: Portable version detection not working correctly
2022-08-01 23:25:13 +02:00
WerWolv
a4c377dc08
fix: Compile issue
2022-08-01 15:06:17 +02:00
WerWolv
b8c034f8c5
sys: Prevent portable Windows version from writing to AppData
...
Fixes #627
2022-08-01 14:51:40 +02:00
WerWolv
84e049be07
build: Fixed some issues to make porting to other systems easier
2022-08-01 14:35:25 +02:00
WerWolv
d8a4a94565
build: Explicitly mark libfmt as -fPIC
2022-08-01 14:07:03 +02:00
gudzpoz
eca5fb894f
feat: Added LEB128 in data inspector ( #615 )
...
* feat: Added LEB128 in data inspector
* feat: Added support for editing LEB128 values
* Moved LEB functions from utils.cpp to crypto.cpp
* Added placeholders for translations
* Made DataInspector::impl::Entry.maxSize mandatory
* Fixed undefined leftshifting behaviour
2022-08-01 13:20:20 +02:00
WerWolv
4d3538781b
sys: Copy pattern source code from current provider to newly created one
2022-07-31 11:09:20 +02:00
WerWolv
3d5568f65f
sys: Fixed global shortcuts not working correctly
...
Fixes #606
2022-07-30 22:01:49 +02:00
WerWolv
7a4541dac7
ui: Change the provider selector from a dropdown to a tab bar
2022-07-30 21:25:18 +02:00
WerWolv
004cab13dc
sys: Replaced many info logs with debug logs
2022-07-30 11:26:51 +02:00
WerWolv
24c243bcf6
sys: Reset settings if it cannot be parsed anymore
2022-07-30 11:19:56 +02:00
WerWolv
2b9e43db82
fix: Crash when using BufferedReader ReverseIterator
2022-07-29 21:44:00 +02:00
WerWolv
419a2875b3
sys: Added filter option to find view
2022-07-29 18:49:43 +02:00
WerWolv
6f3a5e896c
sys: Fixed hidpi framebuffer scaling
...
Actually fixes #598
2022-07-29 17:37:30 +02:00
WerWolv
b7324913e9
sys: Replaced Search view with a generic Find view
...
Closes #551
2022-07-29 13:59:57 +02:00
WerWolv
1b68ea4eba
sys: Prevent providers from being modified when any async task is running
2022-07-29 11:35:29 +02:00
WerWolv
fb4c21b97a
build: Fix weird macOS build errors ( #591 )
...
* cleanup
* Remove prints
2022-07-26 14:59:08 +02:00
WerWolv
d356993e33
fix: Various search issues
2022-07-26 13:28:21 +02:00
catsout
3b8b95a22f
fix: Add Config/DataHomeDir paths before Config/DataDirs paths ( #586 )
...
fix not saving to "XDG_DATA_HOME", when "XDG_DATA_DIRS" is available.
fix "Content Store" persist in flatpak.
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
2022-07-25 12:08:10 +02:00
WerWolv
c1a2697e42
ui: Added filter to bookmarks view
2022-07-23 20:38:38 +02:00
WerWolv
499b68b7ad
build: Updated nativefiledialog library
2022-07-16 13:26:07 +02:00
WerWolv
5ee3b550bc
ui: Fixed advanced decoding cell sizes
2022-07-16 12:14:06 +02:00
WerWolv
461c5eac3e
fix: Crash when closing the file picker without picking a file
2022-07-07 23:28:40 +02:00
WerWolv
c752fba1c4
ui: Added backdrop image when no views are open
2022-07-06 11:30:06 +02:00
WerWolv
d40a445f33
build: Updated various dependencies
2022-07-06 11:30:06 +02:00
WerWolv
31a746f3fc
fix: Issue opening files that contain special characters on Linux
...
This is a (hopefully temporary) hack. Fixes #568
2022-07-06 11:29:24 +02:00
WerWolv
e981fa53f3
fix: std::u8string usage with nlohmann::json
2022-07-05 09:01:09 +02:00
WerWolv
4cd390ab02
fix: Various more unicode issues
2022-07-05 00:00:00 +02:00
WerWolv
fc20d751bb
build: Use Portal instead of GTK file dialogs on Linux
2022-07-02 20:11:43 +02:00
WerWolv
de269e7a48
sys: Remove remaining references to hex.builtin from libimhex
2022-07-02 17:53:13 +02:00
WerWolv
0ed885fe0f
sys: Removed all references to hex.builtin from main application
2022-07-02 16:22:38 +02:00
WerWolv
f9fc7051fc
tests: Added UTF-8 file operation tests
2022-07-02 10:05:25 +02:00
Shiroki Satsuki
ef5fbba56b
feature: Added network proxy support for hex::Net ( #562 )
...
* feat(i18n): update Chinese(Simplified) translation
* feat: proxy setting
* refactor: add hex::Net::setProxy
* fix: undefined symbol: hex::Net::m_proxyUrl
* style: m_proxyUrl -> s_proxyUrl
2022-07-01 14:05:32 +02:00
WerWolv
3db50a690c
fix: Various issues with UTF-8 paths
2022-06-30 19:39:06 +02:00
WerWolv
96aa929c31
fix: Removed additional }
2022-06-30 15:33:21 +02:00
WerWolv
e07fc76abf
fix: MacOS include
2022-06-30 15:28:51 +02:00
WerWolv
f01e227c87
sys: Added missing macOS includes
2022-06-30 15:20:13 +02:00
WerWolv
bb429aae62
fix: Theme detection issues on all OSes
2022-06-30 15:09:57 +02:00
WerWolv
19f99bab0c
fix: Issues when opening files with unicode names
2022-06-30 14:57:05 +02:00
WerWolv
1f433fc36d
sys: Fixed byte units
2022-06-30 11:43:40 +02:00
WerWolv
034cc0cd2f
ui: Improved byte selection text
2022-06-30 11:29:20 +02:00
WerWolv
ac964dc5ec
fix: Path handling and plugin loading breaking with non-ASCII paths
2022-06-29 21:34:17 +02:00
WerWolv
673027c82d
fix: Crash on exit
2022-06-27 17:01:21 +02:00
WerWolv
a936cf1ce4
fix: Another file read issue
2022-06-27 15:08:22 +02:00
WerWolv
5800546369
fix: Tar extraction and file string read error
2022-06-27 14:58:40 +02:00
WerWolv
3471b314dd
build: Switch to GCC on MacOS ( #552 )
...
* build: Experimentally switch to gcc on macOS
* build: Corrected gcc paths
* build: Enable objective c support on macOS
* build: Enable ObjC and ObjC++ on macOS
* build: Add ObjC and ObjC++ flags
* build: Try compiling objc with clang
* build: Remove invalid flags again
* fix: Let's not include objc headers in C++ code
* sys: Move macos utils code to its own file
* fix: Missing unistd include on mac
* sys: Removed loader script stuff since it's currently unused and broken
* fix: Missing include
* fix: Another missing include
* fix: CFURLCreateWithBytes wants a pointer to mutable data
* fix: Try disabling name mangling of ObjC functions
* sys: Move macos utils declarations to its own header file
* fix: C Linkage
* fix: Move objc function prototypes to C++ headers
* fix: More missing includes
* fix: Warning error
* sys: Call ObjC with C ABI instead of trying to use C++
* build: Update libraries
* sys: Fixed build errors
* sys: No const correctness I guess
* sys: Fixed prototypes
* sys: This is C now
* sys: More nullptr -> NULL
* sys: Fix crash on exit
* sys: Try using proper std concepts instead of custom ones
* sys: Replaced another hex::is_signed
* build: Upgrade to gcc 12 and MacOS Monterey
* build: Fixed MacOS runner name
* build: Cache correct ccache folder on macOS
2022-06-25 12:19:59 +02:00
Polshakov Dmitry
662d80abea
feat: Add ability to remove bytes ( #531 )
...
Co-authored-by: Dmitry Polshakov <dmitry.polshakov@dsr-corporation.com>
2022-06-17 14:21:56 +02:00
WerWolv
6b7ade8d61
fix: MacOS build error
2022-06-17 10:42:54 +02:00
WerWolv
9b77d7b5e2
fix: MacOS build error
2022-06-17 10:31:28 +02:00
WerWolv
1785088456
fix: MacOS looking for plugins in wrong folder inside of bundle
...
Hopefully addresses #539
2022-06-17 10:23:28 +02:00
WerWolv
5e67a1f27b
sys: Refactor tar file operations into their own class
2022-06-16 15:42:08 +02:00
WerWolv
5551e82fea
ui: Fix hash function name localization
2022-06-14 11:54:34 +02:00
WerWolv
d1d73bcff6
fix: Editing bytes in the hex editor being broken
...
Fixed #521
2022-06-03 10:53:03 +02:00
WerWolv
fe6be686b7
ui/ux: Complete rewrite of the Hash view
2022-05-30 16:36:46 +02:00
WerWolv
f1b2d5881e
tools: Added IEEE 756 floating point number tester
2022-05-29 14:57:59 +02:00
WerWolv
8a24517fb9
fix: Disable warnings only on GCC 12 and higher
2022-05-28 19:59:38 +02:00
WerWolv
a4c8bcab18
fix: Disable another warning to make macOS happy
2022-05-28 16:36:00 +02:00
WerWolv
7bf94ffe42
fix: Compile errors on platforms that don't support -Wstringop-overread yet
2022-05-28 16:24:57 +02:00
WerWolv
088205385f
fix: Workaround that broke functionality. Instead disable warnings
...
This actually fixes #515 for now
2022-05-28 16:19:08 +02:00
WerWolv
39c743631b
fix: Weird build error on GCC 12.1.0 again
...
This fixes #515
2022-05-28 15:46:39 +02:00
WerWolv
b751f98e91
ui/ux: Rewrite of the entire hex editor view to make it more flexible ( #512 )
...
* ui/ux: Initial recreation of the hex editor view
* ui/ux: Added back support for editing cells
* ux: Make scrolling and selecting bytes feel nice again
* ui/ux: Improved byte selecting, added footer
* sys: Make math evaluator more generic to support integer only calculations
* patterns: Moved value formatting into pattern language
* ui/ux: Added Goto and Search popups, improved selection
* ui: Added better tooltips for bookmarks and patterns
* sys: Use worse hex search algorithm on macOS
Sadly it still doesn't support `std::boyer_moore_horsepool_searcher`
* ui: Added back missing events, menu items and shortcuts
* fix: Bookmark highlighting being rendered off by one
* fix: Various macOS build errors
* fix: size_t is not u64 on macos
* fix: std::fmod and std::pow not working with integer types on macos
* fix: Missing semicolons
* sys: Added proper integer pow function
* ui: Added back support for custom encodings
* fix: Editor not jumping to selection when selection gets changed
* ui: Turn Hexii setting into a data visualizer
* sys: Added back remaining shortcuts
* sys: Remove old hex editor files
* sys: Moved more legacy things away from the hex editor view, updated localization
* fix: Hex editor scrolling behaving weirdly and inconsistently
* sys: Cleaned up Hex editor code
* sys: Added selection color setting, localized all new settings
* fix: Search feature not working correctly
* ui: Replace custom ImGui::Disabled function with native ImGui ones
* ui: Fix bookmark tooltip rendering issues
* fix: Another size_t not being 64 bit issue on MacOS
2022-05-27 20:42:07 +02:00
WerWolv
c4b7d89713
fix: Random build errors with GCC 12.1.0
2022-05-17 20:46:42 +02:00
WerWolv
5f17d7aa75
fix: Narrowing conversion error in Encoding File parsing
2022-05-17 17:49:14 +02:00
WerWolv
17383083fb
patterns: Use standalone pattern language library instead of built-in one
2022-04-17 16:57:30 +02:00
WerWolv
f5fe49923b
fix: Let's not cause UB on every event call...
2022-04-15 19:02:36 +02:00
WerWolv
457d338a97
ui: Include null byte in InputText fields
2022-04-14 15:29:54 +02:00
Polshakov Dmitry
4928c044af
patterns: Move pattern drawer into builtin plugin ( #482 )
...
Co-authored-by: Dmitry Polshakov <dmitry.polshakov@dsr-corporation.com>
2022-04-08 16:08:02 +02:00
WerWolv
b7132af214
patterns: Added missing override
2022-04-07 18:19:19 +02:00
WerWolv
74a5c974e6
patterns: Fixed comments behind pre-processor defines
2022-04-07 13:15:07 +02:00
WerWolv
942a4e9616
patterns: Fixed selection of static array entries
2022-04-07 12:59:23 +02:00
WerWolv
76f732dc53
patterns: Fixed various render issues
2022-04-07 12:47:45 +02:00
WerWolv
0462cc3d0c
sys: Enable -Wall, -Wextra, -Werror and fix all warnings on all Platforms ( #483 )
...
* sys: Make ImHex compile with -Wall -Wextra -Werror
* sys: Fixed various build errors on Linux
* sys: Explicitly ignore return value of `system` function
* sys: More fixes for the warnings GitHub Actions enables somehow
* sys: More fixes
* sys: Remove -Werror again to see all GitHub Actions warnings
* sys: Hopefully fixed all remaining warnings
* sys: Added back -Werror
* git: Change windows icon in GitHub Actions
2022-03-27 00:01:28 +01:00
WerWolv
4b6a76bf02
fix: Bookmarks not always creating new highlights correctly
2022-03-26 16:54:15 +01:00
WerWolv
e72a30ca59
patterns: Make default parameters work properly with parameter packs
2022-03-25 09:53:58 +01:00
WerWolv
368c943040
patterns: Added default parameters
2022-03-24 20:31:45 +01:00
WerWolv
a16e387dff
patterns: Fixed copying of type decl nodes
2022-03-24 18:00:00 +01:00
WerWolv
95cf828975
patterns: Prevent usage of incomplete types
2022-03-24 17:00:10 +01:00
WerWolv
c09d85f46d
patterns: Allow forward declaring of types
2022-03-24 16:57:12 +01:00
WerWolv
c2803fe1e2
sys: Fixed build errors and warnings on Unix
2022-03-22 09:34:26 +01:00
WerWolv
98dfc2e286
sys: Replace __builtin_unreachable() with hex::unreachable()
2022-03-22 09:08:34 +01:00
WerWolv
f7cfee55d5
ui: Enable multi viewports on Linux again if you're not on Wayland
2022-03-22 08:20:14 +01:00
WerWolv
26a7b3325d
patterns: Unified displaying and stringifying string patterns
2022-03-22 08:19:46 +01:00
WerWolv
47fd5bdc00
patterns: Fixed pointer type displaying causing crashes
...
Fixes #480
2022-03-22 08:19:14 +01:00
Polshakov Dmitry
5dfa9cf501
patterns: Move logic to draw patterns into separate class ( #472 )
...
* refactor(patterns): add visitor interface
* refactor(patterns): add public accessors
* refactor(patterns): add method to get pattern value
* refactor(pattern): make some methods public
* refactor(pattern): extract code to draw GUI
* refactor(patterns): remove GUI related code from patterns
* refactor: move common GUI function from pattern to pattern_drawer
* refactor(pattern_drawer): extract common code into methods
* refactor: rename ImGuiDrawer -> PatternDrawer
* refactor(patternr): move displayEnd into PatternDrawer
* refactor: use ArrayPattern concept to restrict argument type
Co-authored-by: Dmitry Polshakov <dmitry.polshakov@dsr-corporation.com>
2022-03-21 13:52:07 +01:00
Polshakov Dmitry
937ccbc5bd
patterns: Restore data offset for local variables / added array, nested structs and functions tests ( #475 )
...
* fix(eval): restore data offset for local variables
* test(pattern_lang): add tests for arrays, nested structs and functions
Co-authored-by: Dmitry Polshakov <dmitry.polshakov@dsr-corporation.com>
2022-03-20 21:42:21 +01:00
WerWolv
bc7c494316
patterns: Fixed highlighting of static array entries
2022-03-19 00:47:36 +01:00
WerWolv
17a2be41da
patterns: Fixed crash when applying certain attributes to types
2022-03-19 00:24:41 +01:00
WerWolv
89fe063b02
patterns: Fixed struct members that overlap with [[no_unique_address]] members not being highlighted
2022-03-17 23:32:22 +01:00
WerWolv
7061a1ebfa
patterns: Allow bitfield fields to be selected
2022-03-17 23:31:36 +01:00
WerWolv
ec9a947259
patterns: Fixed highlight colors of arrays not matching color shown in pattern data view
2022-03-17 23:31:16 +01:00
WerWolv
11441d632b
patterns: Fixed indentation of inlined variables
2022-03-17 23:30:38 +01:00
WerWolv
a17b647e79
patterns: Fixed static arrays showing same value for all entries
2022-03-17 23:29:52 +01:00
WerWolv
2d87d29fa0
patterns: Fixed recursive types
2022-03-17 00:10:16 +01:00
Polshakov Dmitry
d677762dff
perf(pattern): save display value in cache ( #466 )
...
Co-authored-by: Dmitry Polshakov <dmitry.polshakov@dsr-corporation.com>
2022-03-16 00:01:01 +01:00
WerWolv
29ded2483c
sys: Make sure deferred call adding is thread safe
2022-03-15 23:46:02 +01:00
WerWolv
050e17298a
build: Updated various dependencies
2022-03-15 23:45:33 +01:00
Lukas Cone
3da1b3f05d
ui/patterns: Added settings tooltips, fixed pattern crash ( #464 )
...
* fix: pattern segfault typo
* ui: added few tooltips into settings
Co-authored-by: WerWolv <werwolv98@gmail.com>
2022-03-05 23:32:30 +01:00
WerWolv
327e904dbc
sys: Fixed many clang tidy warnings and typos
2022-03-04 20:52:39 +01:00
WerWolv
efe6137067
ui: Improved look of the about page
2022-03-04 19:06:29 +01:00
WerWolv
96e9400761
sys: Fixed unit test building
2022-03-04 14:34:37 +01:00
WerWolv
6a517feda3
sys: More Linux and macOS build fixes
2022-03-04 14:00:02 +01:00
WerWolv
3b7a928313
sys: Fixed missing includes on Unix
2022-03-04 11:44:11 +01:00
WerWolv
2739320f10
sys: Refactor of filesystem functions. Fixed crashes where fs errors weren't caught correctly
...
Addresses the crash mentioned in #462
2022-03-04 11:36:37 +01:00
WerWolv
8b2dcf976f
patterns: Fixed auto parameter crash
2022-03-03 13:34:05 +01:00
WerWolv
559b86efe1
patterns: Display actual type name of types declared with using
2022-03-03 13:33:45 +01:00
WerWolv
949a26ca0e
patterns: Fixed memory leak when using format
attribute
2022-03-03 12:11:47 +01:00
WerWolv
2880ca00da
patterns: Fixed crash when using attributes
2022-03-03 11:19:46 +01:00
WerWolv
39da62532b
fix: Trailing zero at end of string input buffers
2022-03-03 09:27:27 +01:00
WerWolv
483ba95d80
fix: Some text boxes not being writable
2022-03-03 09:24:09 +01:00
WerWolv
cc59b36c54
patterns: Properly reset back current control flow type in arrays
...
Fixes issue mentioned in #460
2022-03-01 20:57:21 +01:00
WerWolv
61d9918dae
patterns: Evaluate return value before setting control flow type
...
Fixes another issue mentioned in #460
2022-03-01 20:37:27 +01:00
WerWolv
775b3e8c52
patterns: Fixed crash when using control flow statements without value
...
Fixes #460
2022-03-01 20:17:03 +01:00
WerWolv
174cf3ed95
fix: Crash when entering too much text in various text boxes
2022-03-01 16:12:00 +01:00
WerWolv
540f468e8a
patterns: Fixed offset being incorrectly incremented when calling functions
2022-03-01 09:40:08 +01:00
WerWolv
e4a3181e1d
fix: Crash when saving projects
2022-03-01 00:03:39 +01:00
WerWolv
b57730c28b
sys: Disable buffering on log files
2022-03-01 00:03:28 +01:00
WerWolv
5a02c38fcd
store: Fixed more download issues when some folders don't have write perms
2022-02-28 23:10:04 +01:00
Lukas Cone
2847098020
patterns: Added bitfield_order pragma ( #457 )
2022-02-28 00:07:04 +01:00
WerWolv
0cc6d90e3d
patterns: Fixed off-by-one error when calculating unsized array sizes
...
Closes #453 , thanks to @Dyddye
2022-02-27 23:28:34 +01:00
WerWolv
66d1b3fd2f
patterns: Huge refactor of Pattern Language runtime to use smart pointers ( #458 )
...
* patterns: Initial work to refactor pattern language to use smart pointers
* patterns: Fixed remaining issues, moved patterns to unique files
* sys: Added missing includes for macOS
2022-02-27 23:25:39 +01:00
WerWolv
b28eaf2dbf
sys: Catch error produced in file size querying
2022-02-26 17:15:35 +01:00
WerWolv
191a99f91b
fix: Crash when trying to read from an empty file or a directory
2022-02-26 16:43:38 +01:00