Commit Graph

3425 Commits

Author SHA1 Message Date
WerWolv f08d1e265c impr: Make extra providers window wider 2023-12-07 23:51:11 +01:00
WerWolv 470bc8a049 fix: Adjust sidebar items to look better with new layout 2023-12-07 23:47:25 +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 8ab85a2af1 feat: Added unit converter to command palette 2023-12-07 16:15:00 +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 7b3e13c748 fix: Add missing localizations 2023-12-07 11:53:31 +01:00
WerWolv f5cbcce112 impr: Add close button to toolbar 2023-12-07 11:53:16 +01:00
WerWolv 5f8c813aa7 impr: Only show provider selector bar when more than one is open 2023-12-07 11:21:13 +01:00
WerWolv f68202a098 impr: Make hex editor footer collapsible 2023-12-07 11:20:54 +01:00
WerWolv bfb2c6ab5f impr: Automatically remove null provider if another one is opened 2023-12-07 11:20:37 +01:00
WerWolv 00a24bc84b impr: Remove "ImHex" from title bar if a file is loaded 2023-12-07 11:19:08 +01:00
WerWolv 9ba6d7ee1e impr: Added simplified welcome screen 2023-12-07 11:18:49 +01:00
WerWolv 60ff62d018 impr: Disable resource usage widgets by default 2023-12-06 16:20:21 +01:00
WerWolv 5d24f1b691 impr: Fix input field selection in command palette 2023-12-06 16:20:06 +01:00
WerWolv 370ca740e3 feat: Allow layouts to be locked 2023-12-06 13:49:58 +01:00
WerWolv ba8430d9e7 impr: Code style 2023-12-06 11:05:13 +01:00
WerWolv 0b71568d97 impr: Better UI handling when window is very small 2023-12-06 11:05:02 +01:00
WerWolv 37ac1b66dd refactor: Task Manager related code 2023-12-06 11:04:35 +01:00
WerWolv 1be9e8c5b1 impr: Simplify default layout down a bit 2023-12-06 09:10:16 +01:00
WerWolv c6b9b947fb fix: Binding shortcuts to already existing shortcuts behaving weirdly 2023-12-06 09:09:32 +01:00
WerWolv a1ef567ecd impr: Add setting to disable resource usage display in footer 2023-12-05 17:09:42 +01:00
WerWolv 2b22a15e8c feat: Added --hexdump subcommand 2023-12-05 16:45: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
WerWolvTranslationBot 13145bba03
lang: Translations update from Weblate (#1457)
Translations update from [Weblate](https://weblate.werwolv.net) for
[ImHex/Built-in
Plugin](https://weblate.werwolv.net/projects/imhex/built-in-plugin/).


It also includes following components:

* [ImHex/Windows
Plugin](https://weblate.werwolv.net/projects/imhex/windows-plugin/)



Current translation status:

![Weblate translation
status](https://weblate.werwolv.net/widgets/imhex/-/built-in-plugin/horizontal-auto.svg)

---------

Co-authored-by: Justus Garbe <gihihoh@gmail.com>
Co-authored-by: Minseo Lee <itoupluk427@gmail.com>
2023-12-05 10:50:52 +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
Jonathan Wright d5a40d46bc
git: Add f39 builds, remove f37 (#1451)
Fedora 37 goes EOL in less than a week.
2023-12-04 23:36:48 +01:00
WerWolv 19f3da556c fix: Native theme detection on Linux not working properly 2023-12-04 23:35:48 +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
Nik eae3cd99ee
build: Disable network tests in offline builds 2023-12-04 20:01:58 +01:00
WerWolv f71fa2f704 impr: Better centered text rendering 2023-12-02 23:46:20 +01:00
WerWolv 9afbfec64e impr: Allow bookmark addresses to be changed, better comment editor 2023-12-02 23:11:31 +01:00
WerWolv ec7e89b5cf feat: Added simple context menu to pattern editor 2023-12-02 20:37:28 +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 f26076fb90 build: Fix cmake script 2023-12-01 13:54:12 +01:00
WerWolv 519d965a36 refactor: Move tools to correct namespace, move data processor nodes 2023-12-01 13:53:51 +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 5e32b693f3 fix: Crash when trying to analyze small files 2023-11-29 11:02:23 +01:00
WerWolv cceac20197 fix: Codicon icons being too far down 2023-11-29 11:02:14 +01:00
WerWolv 540e8458a5 impr: Improve font loading speed 2023-11-29 09:50:57 +01:00
WerWolv 80984f28ec git: Fix formatting of docker instructions 2023-11-28 14:58:51 +01:00