Commit Graph

555 Commits

Author SHA1 Message Date
WerWolv 982d367b11 patterns: Updated pattern language 2024-02-15 11:54:59 +01:00
WerWolv 27a78a00fd patterns: Updated pattern language 2024-02-11 20:44:21 +01:00
WerWolv 9d47ba9031 impr: Cleanup pattern drawer, added comment column 2024-02-09 18:37:05 +01:00
WerWolv 1195d2f2e4 patterns: Updated pattern language 2024-02-05 18:49:51 +01:00
WerWolv b05f478207 patterns: Updated pattern language 2024-02-04 21:45:53 +01:00
Nik 5e5714baeb
patterns: Merged in new pattern language refactor (#1533) 2024-02-04 14:03:42 +01:00
WerWolv 21e1d01394 patterns: Updated pattern language 2024-02-03 11:14:08 +01:00
WerWolv 7a6ee756b8 patterns: Updated pattern language 2024-01-31 15:40:29 +01:00
WerWolv 80953a2286 feat: Allow jumping from hex editor to patterns and from patterns to source line 2024-01-31 11:26:22 +01:00
WerWolv 6393bfda37 build: Updated libwolv 2024-01-30 23:36:52 +01:00
WerWolv 5459be46a4 patterns: Updated pattern language 2024-01-30 12:18:03 +01:00
WerWolv 76e304c34e build: Fix various issues with linking, clang and unity builds 2024-01-29 22:57:39 +01:00
Nik 339541a56f
impr: Restructure various components much better (#1520) 2024-01-28 22:14:59 +01:00
WerWolv ba20790ed2 build: Make libpl not being linked twice 2024-01-28 01:09:26 +01:00
WerWolv 78723887e1 build: Updated dependencies 2024-01-25 11:33:34 +01:00
WerWolv b605c463a1 impr: Further improve interfacing with external plugins 2024-01-22 23:35:00 +01:00
WerWolv 00491c8d90 git: Put libimhex and the ui plugin library under LGPLv2.1 2024-01-22 19:05:04 +01:00
Nik a13b5bf8c0
feat: Implement Myers' diffing algorithm (#1508) 2024-01-21 18:39:13 +01:00
WerWolv ffb324f685 patterns: Updated pattern language 2024-01-16 00:46:01 +01:00
WerWolv b3d3794e1d patterns: Updated pattern language 2024-01-15 21:10:44 +01:00
WerWolv 0b5656dcc4 fix: Manually initialize library plugins 2024-01-09 11:31:56 +01:00
WerWolv c89d19cd27 impr: Make file provider use atomic file IO instead of memory mappings 2024-01-06 16:09:28 +01:00
WerWolv 556fd2bbc3 build: Really only build the things that are necessary 2024-01-04 13:18:27 +01:00
WerWolv cd72ff1f84 build: Fix installing external plugins 2024-01-04 10:25:29 +01:00
WerWolv 4a5f1038e0 fix: Crash when opening a file that cannot be mapped into memory 2023-12-31 14:58:20 +01:00
WerWolv ec45d1f564 build: Updated libwolv 2023-12-27 16:26:02 +01:00
WerWolv 96fe608d60 impr: Switch most usages of modals over to toasts 2023-12-26 00:22:47 +01:00
WerWolv e2489151f3 feat: Added decompressing support 2023-12-24 13:14:51 +01:00
Justus Garbe ad8e3e38f0
Revert pattern language until it's stable again (#1468)
- Revert pattern language
2023-12-21 22:01:07 +01:00
WerWolv ffc1aa6a91 patterns: Updated pattern language 2023-12-21 16:56:21 +01:00
WerWolv d48acf7fef patterns: Updated pattern language 2023-12-21 16:39:37 +01:00
WerWolv 72260b5323 patterns: Updated pattern language 2023-12-21 16:23:50 +01:00
WerWolv adcaad791a patterns: Updated pattern language 2023-12-21 14:58:45 +01:00
WerWolv f47163c4ad build: Updated libromfs 2023-12-20 14:11:51 +01:00
WerWolv 5b3ae56912 patterns: Update all pattern language code to use new API 2023-12-20 10:08:40 +01:00
WerWolv 71763d108b build: Updated libwolv 2023-12-18 22:39:46 +01:00
WerWolv b58463bbaf build: Updated libwolv 2023-12-15 08:11:22 +01:00
WerWolv 623e074ba0 build: Updated libromfs 2023-12-11 16:11:49 +01:00
WerWolv 91230ba438 feat: Added workspaces 2023-12-11 15:54:22 +01:00
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
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 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 e370fdb0fc build: Add support for unity builds 2023-11-30 10:22:15 +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 32276b820f build: Updated libwolv 2023-11-23 09:23:28 +01:00