1
0
mirror of synced 2024-12-14 08:42:54 +01:00
Commit Graph

1147 Commits

Author SHA1 Message Date
WerWolv
f1b40d0500 build: Updated libromfs 2023-12-08 14:30:35 +01:00
WerWolv
0cbaf40747 build: Allow for better stacktraces on Linux 2023-12-08 14:00:32 +01:00
WerWolv
b4813660b5 refactor: Better interface for the event system 2023-12-08 10:29:44 +01:00
Truman Kilen
5c84ef5f72
feat: Added Linux support to the Process Memory Provider (#1331)
<!--
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 -->
Implement a Linux backend for the ProcessMemoryProvider plugin.

### Implementation description
<!-- Explain what you did to correct the problem -->
Most of the provider code is the same between Windows and Linux. The
primary differences are:
- enumerate PIDs in `/proc/` to get the process list
- use `/proc/<PID>/cmdline` as the process name
- parse `/proc/<PID>/maps` to get the module list
- reading/writing from memory is done using
`process_vm_readv`/`process_vm_writev`

NOTE: `sudo setcap CAP_SYS_PTRACE=+eip build/imhex` must be run to give
the binary permission to read another process' memory. Running as root
user should also work but I would not recommend it.

### Additional things
The existing translations keys no longer match since I moved the plugin
from `windows` to `builtin`.

I'm not well versed in C++ so I attempted to keep my changes rather
simple. Feedback is very welcome.

---------

Co-authored-by: WerWolv <werwolv98@gmail.com>
2023-12-07 23:33:15 +01:00
WerWolv
7f69f8bcdb impr: More size_t -> u64 2023-12-07 13:02:12 +01:00
WerWolv
3a016da549 impr: Make providers return a 64 bit size on all platforms 2023-12-07 12:06:26 +01:00
WerWolv
9ba6d7ee1e impr: Added simplified welcome screen 2023-12-07 11:18:49 +01:00
WerWolv
370ca740e3 feat: Allow layouts to be locked 2023-12-06 13:49:58 +01:00
WerWolv
37ac1b66dd refactor: Task Manager related code 2023-12-06 11:04:35 +01:00
WerWolv
760b8c7a88 impr: Make long running tasks not freeze ImHex, fix saving non-continuous providers
Fixes #1454
2023-12-05 14:32:43 +01:00
Nik
f9a9ed4846
impr: Vastly improved 3D Visualizer (#1456)
Based entirely on @paxcut's amazing PR #1443

---------

Co-authored-by: paxcut <paxcut@outlook.com>
Co-authored-by: paxcut <53811119+paxcut@users.noreply.github.com>
2023-12-05 10:49:51 +01:00
WerWolv
e8f0a3bd23 impr: Force center modal views 2023-12-04 22:32:25 +01:00
WerWolv
08fd09064a fix: Settings view still using old system and not opening properly 2023-12-04 22:17:43 +01:00
Nik
caee764af3
fix: Crash when destructing a moved plugin 2023-12-04 21:01:48 +01:00
WerWolv
f71fa2f704 impr: Better centered text rendering 2023-12-02 23:46:20 +01:00
WerWolv
e6ad54b53b fix: Overlays not being applied properly 2023-12-02 18:42:57 +01:00
WerWolv
768982b67a patterns: Updated pattern language 2023-12-02 14:35:54 +01:00
WerWolv
4fd3167bb3 feat: Added minimal layout 2023-12-02 14:35:44 +01:00
WerWolv
866cb5706d feat: Added highlighting rules 2023-12-02 11:09:32 +01:00
WerWolv
2cf642a2a4 build: Updated libwolv 2023-12-01 14:07:10 +01:00
WerWolv
a50bb39978 impr: Further improve compile times 2023-11-30 14:40:07 +01:00
WerWolv
8ee234e5a6 impr: Optimize api includes 2023-11-30 11:23:12 +01:00
WerWolv
e370fdb0fc build: Add support for unity builds 2023-11-30 10:22:15 +01:00
WerWolv
09904b77eb feat: Add support for bold and italic fonts 2023-11-29 23:47:37 +01:00
WerWolv
23fc232c47 impr: Try to align additional fonts automatically 2023-11-28 13:52:26 +01:00
WerWolv
c02c27b63d refactor: Moved over to more flexible font loader 2023-11-28 01:55:41 +01:00
WerWolv
284f8534ab refactor: Move the builtin plugin specific init tasks to the plugin 2023-11-28 00:19:42 +01:00
WerWolv
1b665fa1b3 fix: Loading files into memory 2023-11-27 15:48:46 +01:00
WerWolv
494223fff6 fix: Provider load interface not opening 2023-11-27 15:34:05 +01:00
WerWolv
47b6826ac4 build: Updated nativefiledialog-extended 2023-11-25 19:32:53 +01:00
Nik
7e660450ed
feat: Implement better and more complete undo/redo stack (#1433)
This PR aims to implement a more complete undo/redo stack that, unlike
the old one, also supports undoing insertions, deletions and resize
operations
2023-11-25 12:43:48 +01:00
WerWolv
b050039e35 fix: Duplicate shortcuts not highlighting correctly 2023-11-24 20:17:01 +01:00
WerWolv
fb00f688a8 impr: Update ImGui to use new shadows branch 2023-11-24 15:31:33 +01:00
WerWolv
8bdb39983e fix: Error being logged when no magic files are found 2023-11-24 11:28:37 +01:00
WerWolv
445dba85ac build: Updated nativefiledialog-extended 2023-11-23 13:58:28 +01:00
WerWolv
5a58ed5114 fix: Make sure store and about page are opened correctly 2023-11-23 13:08:45 +01:00
WerWolv
b619744093 fix: Command palette not appearing on Linux 2023-11-23 09:33:47 +01:00
WerWolv
32276b820f build: Updated libwolv 2023-11-23 09:23:28 +01:00
WerWolv
74e246feed impr: Increase performance when updating task progress 2023-11-23 09:20:26 +01:00
Nik
095da62250
feat: Add Markdown Report export option (#1441) 2023-11-22 07:26:31 +00:00
WerWolv
909f4b7fe8 refactor: Rename and update localization system 2023-11-21 14:38:01 +01:00
WerWolv
c89a870fe9 refactor: Streamline entire view system 2023-11-21 13:47:50 +01:00
WerWolv
fc23efdb25 impr: Move OpenGL loaders into header to avoid issues in the future 2023-11-20 23:58:49 +01:00
WerWolv
3da209b562 fix: Web build not working anymore 2023-11-20 23:51:50 +01:00
WerWolv
5daf725ee3 build: Fix building everywhere else 2023-11-20 22:21:12 +01:00
WerWolv
ffbf409174 build: Fix emscripten build 2023-11-20 22:15:16 +01:00
WerWolv
8b3c297514 build: Fix building on macOS M1 2023-11-20 21:47:23 +01:00
WerWolv
2f8481f5e2 patterns: Updated pattern language 2023-11-20 21:41:07 +01:00
WerWolv
448d792988 fix: Centered text not being centered correctly 2023-11-20 21:40:54 +01:00
WerWolv
1e98e641bb patterns: Updated pattern language 2023-11-20 11:12:48 +01:00
WerWolv
836d66a150 fix: Missing include 2023-11-19 16:11:26 +01:00
WerWolv
f9073ee8ee impr: Prettier data inspector edit button 2023-11-19 16:08:21 +01:00
WerWolv
7b25d97ea2 build: Make sure that ImGui libraries have access to dependencies 2023-11-19 14:55:50 +01:00
WerWolv
9a33110ac3 patterns: Updated pattern language 2023-11-19 14:53:19 +01:00
WerWolv
60b640d9f5 build: Restructure ImGui dependencies, added Readmes and licenses 2023-11-19 11:59:25 +01:00
Eve
7a1efa8b9a
fix: MacOS not finding GL.h (#1436)
### Problem description
Commit 1249eb3261 added `#include
<GL/gl.h>` in a file, but MacOS uses `<OpenGL/gl.h>`.

### Implementation description
If compiling on MacOS, use `<OpenGL/gl.h>`. Otherwise, use `<GL/gl.h>`.

### Additional things
There is a redefine, so I used the preprocessor to ignore it for MacOS.
This feels a little awkward to me (but I don't know how to do it
better).

I'm not particularly familiar with C++, so let me know if this is the
right solution. This is also my first pull request, so feel free to
roast me for anything else :)
2023-11-19 11:57:18 +01:00
WerWolv
a3f74098f2 fix: Potential crash when loading null values from settings 2023-11-18 17:23:50 +01:00
WerWolv
8f4839d8ff impr: Catch exceptions thrown by events 2023-11-18 17:23:36 +01:00
WerWolv
3b01dcf230 feat: Allow hiding data inspector rows 2023-11-18 17:23:15 +01:00
WerWolv
14f728ab76 refactor: Give API files more consistent names 2023-11-18 14:50:43 +01:00
WerWolv
1249eb3261 impr: Optimize includes in often used header files 2023-11-18 14:34:33 +01:00
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