1
0
mirror of synced 2024-12-15 01:01:15 +01:00
Commit Graph

923 Commits

Author SHA1 Message Date
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
WerWolv
98395afe9d patterns: Updated pattern language 2023-06-21 13:55:40 +02:00
WerWolv
6435d8d955 feat: Name runner threads for tasks 2023-06-21 09:29:57 +02:00
WerWolv
0da87cdb68 patterns: Updated pattern language 2023-06-21 09:29:40 +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
e09b678426 patterns: Updated pattern language 2023-06-18 10:58:24 +02:00
WerWolv
03f377bf40 fix: Don't try to initialize plugins that failed to load 2023-06-18 10:18:41 +02:00
WerWolv
90a576c3c7 fix: Highlighting and updating of the new console not working well 2023-06-14 10:35:23 +02:00
WerWolv
dd832bfa7e ui: Make pattern editor console use another text editor 2023-06-13 22:58:57 +02:00
WerWolv
5c31b5cf0d patterns: Updated pattern language 2023-06-13 13:50:01 +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
f0be585fd8 patterns: Updated pattern language 2023-06-11 12:14:24 +02:00
WerWolv
34732a1ee7 fix: Corrected some memory leaks 2023-06-11 10:47:17 +02:00
WerWolv
ef9cb31204 patterns: Updated pattern language 2023-06-11 00:08:34 +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
6e3204b443 patterns: Updated pattern language 2023-06-08 12:16:48 +02:00
WerWolv
81971eaf4a patterns: Updated pattern language 2023-06-08 09:58:26 +02:00
WerWolv
46270ab213 patterns: Updated pattern language 2023-06-08 09:09:37 +02:00
WerWolv
57bf878312 patterns: Updated pattern language 2023-06-07 23:46:18 +02:00
WerWolv
110c3ac310 patterns: Updated pattern language 2023-06-07 11:08:17 +02:00
WerWolv
456895a6a6 fix: Various pattern drawer issues 2023-06-06 11:29:58 +02:00
WerWolv
a125408410 patterns: Updated pattern language 2023-06-05 17:09:31 +02:00
WerWolv
9712329924 feat: Added pattern export option to pattern data view 2023-06-05 11:57:26 +02:00
WerWolv
59aa52e744 patterns: Allow console log to be printed immediately and from format functions 2023-06-05 09:45:25 +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
100b9e3bca fix: Cursor icons on Windows not working correctly after imgui update 2023-06-04 12:12:15 +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
5e0ca4ac50 patterns: Properly display exported variables 2023-05-28 15:44:01 +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
acfd89aee0 patterns: Updated pattern language 2023-05-27 14:43:53 +02:00
WerWolv
ba33629e80 patterns: Updated pattern language 2023-05-25 12:03:11 +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
df75218ecb fix: Ranges found by find view not being highlighted 2023-05-22 00:00:50 +02:00
WerWolv
a2333fa22e patterns: Updated pattern language 2023-05-21 18:02:39 +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
WerWolv
f503a89f98 fix: Typo in IEEE754 tool 2023-05-20 21:49:45 +02:00
WerWolv
f94e5488d4 fix: Mouse cursor not adjusting anymore properly 2023-05-20 21:36:15 +02:00
WerWolv
7336c8dddc fix: Cursor types on Windows sometimes getting stuck 2023-05-20 21:10:12 +02:00
WerWolv
c91e3875d4 build: Updated libwolv 2023-05-20 19:27:00 +02:00
WerWolv
0181325b64 build: Updated libwolv 2023-05-20 18:10:26 +02:00
WerWolv
11f55a7561 fix: File handles not being closed correctly 2023-05-20 18:07:15 +02:00
WerWolv
9bb3a92e12 build: Updated libwolv 2023-05-20 15:47:21 +02:00