Commit Graph

1186 Commits

Author SHA1 Message Date
WerWolv 98e0a62e6e impr: Make changing shortcuts also adjust the tooltip in the menus 2023-11-18 14:34:16 +01:00
WerWolv 2d45dce075 fix: Shortcuts not working correctly with non-western keyboards 2023-11-17 20:27:42 +01:00
WerWolv e7bfa483f8 impr: Make settings tab bar always stick to top of window 2023-11-17 16:05:45 +01:00
WerWolv cec925bcdc feat: Add shortcut editor to settings 2023-11-17 14:46:21 +01:00
WerWolv 3bd779a607 fix: URL Decoding not working correctly 2023-11-17 13:13:17 +01:00
iTrooz 39252dfe48
refactor: Move custom ImGui functions to ImGuiExt namespace (#1427)
Co-authored-by: Nik <werwolv98@gmail.com>
2023-11-16 22:24:06 +01:00
WerWolv 21057d51e1 impr: More Welcome Screen UI improvements 2023-11-16 13:23:28 +01:00
WerWolv f00daf171b fix: Crash when loading invalid theme file 2023-11-16 09:32:32 +01:00
WerWolv 22eee94436 impr: Better UI for the Welcome screen 2023-11-16 09:32:24 +01:00
WerWolv 0105ed447f patterns: Updated pattern language
Fixes #1412
2023-11-16 08:47:06 +01:00
WerWolv a51f9fd90c impr: Better UI for the settings view 2023-11-15 22:22:57 +01:00
WerWolv e32def409a build: Upgraded ImGui to v1.90 2023-11-15 20:22:56 +01:00
WerWolv 657744cc28 patterns: Updated pattern language 2023-11-15 13:43:53 +01:00
WerWolv a561cee54b fix: SHIFT + Tab not removing tabs in pattern editor 2023-11-15 10:04:48 +01:00
WerWolv 2c0553f8fd impr: Don't wrap centered text anymore 2023-11-14 23:04:45 +01:00
WerWolv 33e20df511 impr: Make sidebars disableable and resizable 2023-11-14 15:55:25 +01:00
WerWolv 53c04a934e patterns: Updated pattern language 2023-11-14 15:54:43 +01:00
WerWolv 375c74abe5 impr: Add command palette button to the title bar 2023-11-14 00:03:22 +01:00
WerWolv 0e671b1569 patterns: Updated pattern language
Fixes #1196
2023-11-12 22:47:02 +01:00
iTrooz f0465c63ed
build: move third party libraries to lib/third_party (#1417)
Co-authored-by: Nik <werwolv98@gmail.com>
2023-11-12 02:02:54 +01:00
WerWolv 46b1b0ba17 impr: Use ImGui::SeparatorText to draw headers 2023-11-12 00:57:29 +01:00
iTrooz 7405219fb8 build: Make ImHex buildable for MacOS arm64 (#1414) 2023-11-11 20:56:30 +01:00
WerWolv 30ce4b6e3c patterns: Updated pattern language 2023-11-11 12:07:38 +01:00
WerWolv 7d53636e10 feat: Added simple graphing calculator 2023-11-11 00:54:16 +01:00
WerWolv 2073793fcd impr: Make backspace work while holding shift in the text editor
Closes #1409
2023-11-10 22:25:39 +01:00
WerWolv ec4942174b fix: Proxy not being disabled correctly when disabling it in the settings 2023-11-10 21:59:20 +01:00
WerWolv 01f7a09012 fix: Build on non-windows 2023-11-10 21:52:28 +01:00
WerWolv c35ea228e4 fix: Crash when trying to close providers 2023-11-10 21:03:31 +01:00
WerWolv 498d8c1d65 impr: General code cleanup 2023-11-10 20:47:08 +01:00
WerWolv 3aacf0f1fb feat: Added Experiments 2023-11-10 14:48:26 +01:00
WerWolv 4fc2fb7a6f feat: Added support for filtering patterns by value 2023-11-10 14:48:13 +01:00
WerWolv e18275c1c0 fix: Division by zero when setting page size to 0 2023-11-08 11:14:56 +01:00
WerWolv ef320b74b0 impr: Handle showing popups when closing unsaved providers better 2023-11-07 15:31:54 +01:00
WerWolv 924b4a9436 impr: Replace various fixed-size boxes with dynamic ones 2023-11-07 00:46:44 +01:00
WerWolv f49b5efac4 fix: UI issues in the data information view 2023-11-07 00:46:17 +01:00
WerWolv 8581ab9eb3 feat: Added simple data access graph to pattern editor 2023-11-06 15:15:35 +01:00
WerWolv 7efe9acefb fix: Warnings about missing theme/style handlers being printed on launch 2023-11-06 15:15:18 +01:00
WerWolv 713ce86e24 build: Updated libwolv 2023-11-05 21:17:44 +01:00
WerWolv 4e4cdcdf61 feat: Added release notes and commits to about page 2023-11-05 19:57:29 +01:00
WerWolv 0388bbdc6d build: Updated libwolv 2023-11-05 18:44:18 +01:00
WerWolv 30d47fd51b build: Updated libwolv 2023-11-05 18:39:48 +01:00
WerWolv 3b2cf5b851 build: Updated libromfs 2023-11-05 01:03:19 +01:00
WerWolv c9a728c318 fix: Rare crash when monitor connection status changes 2023-11-05 00:04:32 +01:00
WerWolv e7eaa2b194 build: Updated libwolv 2023-11-04 23:35:34 +01:00
WerWolv 45fb046a9a impr: Make events thread safe 2023-11-04 23:16:38 +01:00
WerWolv c7c01c1f24 build: Removed old jthread search 2023-11-02 20:48:34 +01:00
WerWolv 615596dfe9 fix: Standard jthread detection 2023-11-02 20:41:47 +01:00
WerWolv 407ec1ceb6 build: Use custom jthread implementation if standard one is not available 2023-11-02 20:21:38 +01:00
WerWolv eefdbe7ef1 patterns: Updated pattern language 2023-11-02 09:37:14 +01:00
WerWolv 4e6af607e8 fix: Crash when clicking on the welcome screen 2023-11-02 08:54:02 +01:00
WerWolv 363b07fc0c impr: Switch to custom std::expected implementation 2023-11-02 08:53:46 +01:00
WerWolv a719627be6 build: Updated dependencies 2023-11-01 11:07:11 +01:00
WerWolv a92aa58be8 build: Updated libromfs 2023-10-31 21:59:22 +01:00
WerWolv 9617212ef1 impr: Allow visualizers to have optional parameters 2023-10-31 10:56:20 +01:00
WerWolv c37c53369b impr: Dock newly opened windows by default 2023-10-30 21:53:44 +01:00
WerWolv 94ad6e6072 fix: Crash on exit 2023-10-30 16:39:57 +01:00
WerWolv b2774bf472 build: Updated libromfs 2023-10-30 13:28:07 +01:00
WerWolv 44ce81211e build: Updated libromfs 2023-10-29 21:05:11 +01:00
WerWolv c444ad9280 impr: Bundle default magic file with application 2023-10-29 19:43:45 +01:00
WerWolv a0178ebab9 fix: File picker not handling supported extensions correctly
Fixes #1367
2023-10-26 17:28:36 +02:00
iTrooz 4f2d14e220
fix: fix forwarding multiple arguments to subcommands (#1388) 2023-10-24 07:59:23 +00:00
Nik 58189e5403
impr: Allow console output to work when debugging (#1382) 2023-10-22 21:39:14 +00:00
WerWolv cb2aee0ed7 fix: Various TCP tool issues 2023-10-22 21:52:55 +02:00
WerWolv 73d7cc7c12 patterns: Updated pattern language 2023-10-22 21:22:50 +02:00
WerWolv c3825fff65 fix: Actually fix dropdown default values 2023-10-22 17:51:00 +02:00
WerWolv c51db87c34 fix: Language setting not defaulting to English anymore 2023-10-22 17:31:53 +02:00
Nik 7fe9a768d4
impr: Rewrote entire settings API and UI (#1378) 2023-10-21 21:07:33 +00:00
Nik f114239f51
feat: Added Auto Updater for Windows, macOS and Ubuntu (#1377) 2023-10-21 18:40:24 +00:00
WerWolv c46e445a04 impr: Store achievement progress immediately when unlocking one 2023-10-20 13:34:45 +02:00
WerWolv d91334abcd patterns: Updated pattern language 2023-10-20 12:39:34 +02:00
WerWolv 5227887dbf impr: Added more fine-grained colors to themes 2023-10-20 12:30:21 +02:00
WerWolv c9cd7ad4a6 fix: Data processor recursion detector triggering too soon 2023-10-19 23:34:05 +02:00
WerWolv da1b53420f feat: Added debug variables to aid with development 2023-10-13 23:46:48 +02:00
WerWolv afa149f2db patterns: Updated pattern language
Fixes #1361
2023-10-11 22:20:25 +02:00
lomekragow 7fc2ff3002
fix: Event unsubscribe not working correcetly when using same key for multiple events (#1309)
<!--
Please provide as much information as possible about what your PR aims
to do.
PRs with no description will most likely be closed until more
information is provided.
If you're planing on changing fundamental behaviour or add big new
features, please open a GitHub Issue first before starting to work on
it.
If it's not something big and you still want to contact us about it,
feel free to do so !
-->

### Problem description
<!-- Describe the bug that you fixed/feature request that you
implemented, or link to an existing issue describing it -->

Fixed possible bug of  `EventManager::unsubscribe`

`std::map` only allows unique key, but the same token can subscribe to
multiple events.

1a2a926b77/lib/libimhex/include/hex/api/event.hpp (L104-L107)

If the previous token has already subscribed to an event, then when
subscribing again, `getTokenStore().insert` will not do anything
(Because its type is `std::map`)


1a2a926b77/lib/libimhex/include/hex/api/event.hpp (L122-L134)

At this point in `unsubscribe`, the `iter` may not be able to find the
correct event and erase it



### Implementation description
<!-- Explain what you did to correct the problem -->

Change `tokenStore` to `std::multimap` instead of `std::map`, which
cannot unsubscribe multiple events correctly

### Screenshots
<!-- If your change is visual, take a screenshot showing it. Ideally,
make before/after sceenshots -->

### Additional things
<!-- Anything else you would like to say -->
2023-10-07 23:35:35 +02:00
WerWolv 23e1c714d6 patterns: Updated pattern language 2023-10-06 19:31:48 +02:00
WerWolv e57c9ff4f6 build: Updated libwolv 2023-10-04 16:13:40 +02:00
WerWolv ed8c0794bb fix: Querying default folder paths not working right on the web 2023-10-04 16:10:14 +02:00
WerWolv a06752b349 build: Updated libwolv 2023-10-04 13:41:21 +02:00
iTrooz d15bd4771d
feat: Support for building ImHex for the web (#1328)
Co-authored-by: WerWolv <werwolv98@gmail.com>
Co-authored-by: AnnsAnn <git@annsann.eu>
2023-10-04 12:00:32 +02:00
WerWolv a62ede7840 fix: Properly fix possibility of no provider being selected when closing one 2023-10-01 20:56:25 +02:00
WerWolv bcab657a06 fix: No provider being selected in some cases when closing a provider 2023-10-01 20:18:26 +02:00
WerWolv 51880fc2a8 build: Fixed build/install of refactored forwarder 2023-09-27 15:13:58 +02:00
StarrFox 25ddaa08dc
build: Fix building with capstone < 5 (#1323)
<!--
Please provide as much information as possible about what your PR aims
to do.
PRs with no description will most likely be closed until more
information is provided.
If you're planing on changing fundamental behaviour or add big new
features, please open a GitHub Issue first before starting to work on
it.
If it's not something big and you still want to contact us about it,
feel free to do so !
-->

### Problem description
<!-- Describe the bug that you fixed/feature request that you
implemented, or link to an existing issue describing it -->
This might fix building with capstone 4 as discussed in
https://discord.com/channels/789833418631675954/1155669027306340393/1155669027306340393

### Implementation description
<!-- Explain what you did to correct the problem -->
moves the max definition inside the if statement that checks for
capstone 5
2023-09-25 21:52:28 +02:00
WerWolv f79e2df11a feat: Added shortcut to switch between providers 2023-09-24 18:11:17 +02:00
paxcut c577a42f62
impr: Refactoring of floating point tool to decrease code complexity. (#1275)
I noticed the bad score on code factor so I reorganized it to make it
more readable and maintainable. In order to break down the big function
into it much smaller parts I encapsulated all the variables that the
functions need to access in two classes, one for the imgui related
statics and the other for non-static variables.

When writing the smaller functions I was noticed that there was room to
simplify the existing algorithms by writing functions that could be
called by parts that previously shared no code. I tested the changes the
same way I tested the original and it seems to work the same way but
maybe a bit faster. Although it may be possible to further optimize the
present code code factor no longer flags the function at all.
2023-09-20 10:48:44 +02:00
Lennard Fonteijn ad69ac84b1
feat: Added hex::group attribute and various fixes (#1302)
As discussed (many times) on Discord, does the same as the new favorite
tag, but instead allows you to add multiple groups.

Initially, this would cause some insane issues with draw/reset
(apparantly) fighting eachother in the pattern drawer. After a lot of
trial and error, I decided to rewrite the flow that is responsible for
calling reset. Now evaluating patterns is the one to decide when the
reset happens, not the core "game"-loop.

To make sure that draw and reset can never happen at the same time, the
mutex originally used for the favorites has been repurposed. Due to the
restructuring, the mutex in the favorite-task is no longer needed, as
that will only ever kick-off after reset is called and if there are
actually patterns, which can never line up to be accessed on different
threads at the same time.

Last but not least, I noticed that hard crashes could result in your
config file getting overridden. I added a check to prevent that.

Last I issue I can see is that if you use an excessive amount of
favorites/groups, a crash can still happen, but it only happens when you
close the program (occasionally, but unpredictable). Before, this would
happen if you ran the evaluation a second time. I boiled the cause of
the crash down to these lines of code in evaluator.cpp >
patternDestroyed:

```cpp
if (pattern->isPatternLocal()) {
    if (auto it = this->m_patternLocalStorage.find(pattern->getHeapAddress()); it != this->m_patternLocalStorage.end()) {
        auto &[key, data] = *it;

        data.referenceCount--;
        if (data.referenceCount == 0)
            this->m_patternLocalStorage.erase(it);
    } else if (!this->m_evaluated) {
        err::E0001.throwError(fmt::format("Double free of variable named '{}'.", pattern->getVariableName()));
    }
}
```

Specifically, trying to access the `*it` is the reason for the crash
(this was also the cause of the crashes before my fixes, but then during
evaluation).

I'm suspecting the root cause is somewhere in the `.clone` methods of
the patterns. I'd say that for now a crash when closing the program is
more acceptable than during evaluation (which can even happen if you use
favorites).
2023-09-16 13:09:59 +02:00
WerWolv d011f37658 impr: Added better provider documentation 2023-09-08 21:59:27 +02:00
WerWolv 68b203eb75 patterns: Updated pattern language 2023-09-05 10:40:10 +02:00
WerWolv 1bb0a72bed fix: Issues with various float nodes 2023-09-04 19:59:09 +02:00
WerWolv fc91c8e4b0 patterns: Updated pattern language 2023-09-04 19:58:31 +02:00
iTrooz 57084fd797
build: Update libfmt to 10.1.1 (#1286) 2023-09-03 22:49:47 +02:00
WerWolv 9badfc043b patterns: Updated pattern language 2023-09-03 22:37:58 +02:00
WerWolv 563ff5a774 fix: Future proof the previous fix 2023-09-03 16:18:29 +02:00
WerWolv dc5e5344c5 fix: ImHex not starting at all anymore when launched through the explorer 2023-09-03 14:07:47 +02:00
WerWolv 632f388ece impr: Make --pl subcommand automatically register ImHex's include dirs 2023-09-03 12:25:00 +02:00
WerWolv 632ca944de impr: Align log output better 2023-09-03 11:45:20 +02:00
WerWolv eba8c82699 fix: Crash when using provider overlays 2023-09-03 10:26:25 +02:00
iTrooz be3ac26306
fix: Remove remannts of #680 bugfix (#1282) 2023-09-02 22:59:09 +02:00
WerWolv 58cef2361b impr: Added hint when patterns are still loading 2023-08-30 10:04:06 +02:00
WerWolv 7bf9634e6e patterns: Updated pattern language 2023-08-29 12:14:34 +02:00
WerWolv 550392c8d6 fix: Texture loading from romfs 2023-08-26 23:43:35 +02:00
WerWolv 32e05cc62f patterns: Updated pattern language 2023-08-26 23:31:25 +02:00
WerWolv 886c52b322 patterns: Updated pattern language 2023-08-26 12:55:09 +02:00
WerWolv ba66005585 impr: Various code cleanup 2023-08-26 12:54:52 +02:00
Justus Garbe bfc835fc54 fix: add new capstone options and fixed overextending name array 2023-08-26 12:21:44 +02:00
iTrooz 32d6ac2241
feat: move PerProvider data to new provider when saving memory provider into file provider (#1264) 2023-08-26 01:47:44 +02:00
WerWolv 758cdd91f3 impr: Make sure logs are always output immediately 2023-08-26 01:44:10 +02:00
WerWolv 6e81ce152e impr: Get rid of some manual memory management 2023-08-25 23:54:39 +02:00
WerWolv 6fc62bac94 build: Remove unnecessary yara autoconf file configuring 2023-08-25 22:55:09 +02:00
iTrooz 175e66a60e
feat: Do not save memory providers as recent entries (#1259) 2023-08-25 15:35:15 +02:00
WerWolv f598421705 patterns: Updated pattern language 2023-08-17 08:24:38 +02:00
WerWolv fc93f8bd66 fix: CI being broken on Arch Linux 2023-08-16 23:07:16 +02:00
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
Justus Garbe d468893bb0 build: Updated libwolv 2023-08-13 14:30:52 +02:00
WerWolv 882849e73c fix: Highlighting of found elements not being cleared correctly 2023-08-09 20:01:57 +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 64a0c3f6e2 build: Updated json and miniaudio libraries 2023-08-06 11:10:42 +02:00
WerWolv fae8f0a8d5 build: Fixed cmake not using default settings on Windows 2023-08-06 01:52:23 +02:00
WerWolv 1a765ee5ab build: Updated libromfs 2023-08-05 10:26:27 +02:00
WerWolv e1ca84d89c patterns: Updated pattern language
Fixes #1228
2023-08-05 09:59:53 +02:00
WerWolv d28d6d1a1b patterns: Updated pattern language
Fixes #958
2023-08-03 23:43:40 +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
WerWolv 50dd6405e9 patterns: Updated pattern language 2023-08-02 20:41:56 +02:00
WerWolv bf8924ae0c feat: Added support for string in/out variables 2023-08-02 12:51:02 +02:00
WerWolv 30b202cf0c patterns: Updated pattern language 2023-08-01 00:00:45 +02:00
WerWolv 84766d5f6e patterns: Updated pattern language 2023-07-31 23:19:23 +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 2e5a51bb05 patterns: Updated pattern language 2023-07-30 00:44:09 +02:00
WerWolv 4ae55f69e1 build: Updated libwolv 2023-07-29 11:26:18 +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 866c87b2bf patterns: Updated pattern language 2023-07-26 13:05:47 +02:00
WerWolv aa4ce01c73 build: Forcefully disable LTO for libimhex 2023-07-26 12:57:38 +02:00
WerWolv d0a5c144e6 patterns: Updated pattern language 2023-07-26 00:23:09 +02:00
WerWolv 5feb4dce51 build: Try and make libimhex export all symbols 2023-07-25 11:25:59 +02:00
WerWolv bca73ef01e fix: Loading of custom fonts not working anymore 2023-07-24 17:25:36 +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 0033d9f4eb patterns: Updated pattern language 2023-07-21 14:20:57 +02:00
WerWolv e5a793e8de fix: Subcommands not working at all on Linux 2023-07-21 14:12:08 +02:00
WerWolv 3149183450 patterns: Updated pattern language 2023-07-21 11:53:37 +02:00
WerWolv 7c321a79c3 impr: Print message if no stacktrace can be collected 2023-07-20 21:41:22 +02:00
WerWolv 7c203e0635 build: Updated libwolv
Fixes #1201
2023-07-20 21:38:37 +02:00
WerWolv 6d7f217e2a patterns: Updated pattern language 2023-07-17 11:20:17 +02:00
WerWolv a83ca3c228 feat: Added --pl and --magic command 2023-07-17 10:43:29 +02:00
WerWolv a83f87fbfa build: Updated nativefiledialogs-extended to latest version 2023-07-17 08:08: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
WerWolv 0f54a3a1f3 build: Added option to disable strict warnings 2023-07-15 10:02:19 +02:00
Nik aae3004f1f
build: Various build improvements (#1193) 2023-07-15 00:10:01 +02:00
WerWolv 04b56c3d4d patterns: Updated pattern language 2023-07-14 21:39:49 +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 10756c65a6 patterns: Updated pattern language 2023-07-11 00:04:54 +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 7cb26b1499 patterns: Updated pattern language 2023-07-09 12:40:51 +02:00
WerWolv 5d047a335d patterns: Updated pattern language 2023-07-09 12:30:48 +02:00
WerWolv 14bb98a519 build: Updated libwolv 2023-07-07 09:02:31 +02:00
WerWolv 33d3bea472 fix: Flickering cursor issues 2023-07-06 10:26:12 +02:00
WerWolv c9c6f3aadb fix: New visualizers behaving weirdly with large font sizes 2023-07-06 10:08:47 +02:00
WerWolv c9dbcbb3d3 build: Updated dependencies 2023-07-06 08:26:36 +02:00
WerWolv 924c816dbd fix: Chunk size setting in information view being reset the first time 2023-07-06 00:00:56 +02:00
WerWolv 695e11477e feat: Added single stepping feature to pattern debugger 2023-07-05 21:32:11 +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 25d6380963 build: Upgraded capstone to full V5 release 2023-07-05 20:45:46 +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
WerWolv ceed8c7420 pattern: Properly display Start/End/Size column again for zero sized types 2023-07-03 21:24:15 +02:00
WerWolv d297b2d1cc impr: Hide sections with an empty name 2023-07-03 12:04:20 +02:00
WerWolv a0c89858ed patterns: Don't re-evaluate format functions during highlighting 2023-07-01 14:06:15 +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 bc98556897 impr: Automatically scroll pattern console to the bottom when new lines are added 2023-06-30 00:11:48 +02:00
WerWolv 4f08ba3590 patterns: Fixed race condition when evaluating patterns 2023-06-30 00:11:26 +02:00
WerWolv 78cb0a2592 patterns: Updated pattern language 2023-06-28 18:15:29 +02:00
WerWolv 7510fa091e patterns: Updated pattern language 2023-06-27 00:26:50 +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 13b4201446 build: Clean up build logs 2023-06-26 08:45:33 +02:00
WerWolv 83bcbfebdd patterns: Updated pattern language 2023-06-25 12:45:34 +02:00
WerWolv 1a31b4aaff patterns: Updated pattern language 2023-06-25 00:29:21 +02:00
WerWolv a449478e39 patterns: Make updating favorites and pattern tooltips not lag out ImHex 2023-06-24 16:40:34 +02:00
WerWolv dd72c0cc46 patterns: Updated pattern language 2023-06-23 21:39:46 +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