Commit Graph

86 Commits

Author SHA1 Message Date
WerWolv 01c934f53a impr: Rework setting change listeners 2024-02-18 11:29:18 +01:00
WerWolv 5cfcca0bc4 feat: Allow switching off borderless window mode 2024-02-11 14:12:14 +01:00
WerWolv a03e8dd879 impr: Harden settings system to not crash ImHex when having outdated configs
Fixes #1514
2024-02-03 12:16:36 +01:00
WerWolv bfafc692db impr: Added icons to all menu items 2024-01-08 21:51:48 +01:00
WerWolv 96fe608d60 impr: Switch most usages of modals over to toasts 2023-12-26 00:22:47 +01:00
WerWolv c7ab4a4569 refactor: Get rid of `this->m_` 2023-12-19 13:10:25 +01:00
WerWolv 1e4bb8c91e impr: Remove Font Awesome 2023-12-11 23:05:35 +01:00
WerWolv ef25542220 impr: Remove old unused files 2023-12-08 11:15:18 +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 60ff62d018 impr: Disable resource usage widgets by default 2023-12-06 16:20:21 +01:00
WerWolv a1ef567ecd impr: Add setting to disable resource usage display in footer 2023-12-05 17:09:42 +01:00
WerWolv a50bb39978 impr: Further improve compile times 2023-11-30 14:40:07 +01:00
WerWolv e370fdb0fc build: Add support for unity builds 2023-11-30 10:22:15 +01:00
WerWolv cbf82d7476 impr: Force tables to never collapse to zero height 2023-11-28 10:21:54 +01:00
WerWolv 8e8a926ad9 impr: Better look of footer items 2023-11-25 19:11:29 +01:00
WerWolv c89a870fe9 refactor: Streamline entire view system 2023-11-21 13:47:50 +01:00
WerWolv 14f728ab76 refactor: Give API files more consistent names 2023-11-18 14:50:43 +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 e32def409a build: Upgraded ImGui to v1.90 2023-11-15 20:22:56 +01:00
WerWolv 46b1b0ba17 impr: Use ImGui::SeparatorText to draw headers 2023-11-12 00:57:29 +01:00
WerWolv 498d8c1d65 impr: General code cleanup 2023-11-10 20:47:08 +01:00
Nik 7fe9a768d4
impr: Rewrote entire settings API and UI (#1378) 2023-10-21 21:07:33 +00:00
iTrooz d2638c4f27
feat: Display titlebar buttons when not running borderless (#1099)
Tested on Linux (non-borderless) and Windows (borderless)

You may want to also test it just to be sure
2023-05-25 09:26:40 +02:00
WerWolv d96fc6d41b fix: Compilation on macOS 2023-05-14 21:50:58 +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 80edaea392 impr: Update all of ImHex to the new popup system 2023-04-08 00:58:53 +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 57a62d0544 impr: Clean up entire API and added doc comments 2023-03-21 15:33: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 0dafb3d230 sys: Replaced many helper functions with libwolv 2023-03-12 18:27:33 +01:00
WerWolv 5cc01ae89d nodes: Added support for nested, shareable, custom data processor nodes 2023-02-09 23:07:04 +01:00
WerWolv 22ff033b5e fix: More P2468R2 issues 2023-02-02 21:13:56 +01:00
WerWolv 94dc688324 ui: Change feedback link 2023-02-01 09:20:32 +01:00
WerWolv cf9df6e36d feat: Added ability to query provider information from pattern language 2023-01-24 09:07:11 +01:00
WerWolv 763196f0cc feat: Added filtering to Process Memory Provider 2023-01-05 09:30:15 +01:00
WerWolv 80f3bbb0af feat: Added DLL injection option, fixed memory region addresses 2023-01-04 10:02:17 +01:00
WerWolv 3a117b3bed feat: Display process icons in process memory provider 2023-01-03 16:34:22 +01:00
WerWolv b4b507ecc9 lang: Added missing localizations for new provider 2023-01-01 19:14:57 +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 7859a9bb1f feat: Added native custom theme support 2022-12-29 19:26:00 +01:00
WerWolv 6e0b92a4de sys: Added logging for which romfs is being used 2022-12-05 09:31:16 +01:00
WerWolv 3b94a42783 lang: Updated localization system to use a more versatile json format 2022-12-02 12:00:04 +01:00
WerWolv 7bb9e7ee82 sys: Replaced awful task system with a much more efficient thread pool 2022-10-04 23:37:48 +02:00
Nik 9c484e7b57
fix: Various clang / clang-tidy warnings (#764) 2022-10-02 17:30:26 +02:00
mirusu400 721ac837e0
lang: Add Korean Translation (#719)
* Add ko-KR translation

* Remove Fallbackentry
2022-09-02 16:10:54 +02:00
WerWolv ceb26add15 sys: Added better support for Windows 7 2022-08-09 16:29:52 +02:00
WerWolv 423e23e3c0 fix: Windows native theme detection not working correctly 2022-08-08 12:57:51 +02:00
SiderealArt 864b853306
lang; Added Chinese (Traditional) translation (#593)
* add zh-tw translation

* translator name & remove duplicate
2022-07-27 16:47:03 +02:00