1
0
mirror of synced 2024-12-11 23:46:00 +01:00
Commit Graph

60 Commits

Author SHA1 Message Date
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
07aabe8efa impr: Improved types used in provider functions 2023-06-04 10:42:11 +02:00
WerWolv
df75218ecb fix: Ranges found by find view not being highlighted 2023-05-22 00:00:50 +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
d96fc6d41b fix: Compilation on macOS 2023-05-14 21:50:58 +02:00
WerWolv
50c3cf8272 build: Replace old interval tree in favour of custom libwolv one 2023-05-11 09:27:23 +02:00
WerWolv
5a6e5d2255 build: Switch to better interval tree implementation 2023-05-07 23:27:43 +02:00
WerWolv
8245f3d4c9 build: Updated libwolv 2023-04-19 21:56:34 +02:00
WerWolv
d4ad457af1 fix: Crash when closing provider that was used in view provider 2023-04-08 21:07:57 +02:00
Thomas
af18ca011b
fix: Modified bytes visually reverting back after saving (#1003)
Fix #988

Co-authored-by: Nik <werwolv98@gmail.com>
2023-04-01 11:18:03 +02:00
WerWolv
be16b66ac0 fix: Make sure files don't get truncated when using Save As on itself
Fixes #987
2023-03-21 15:42:10 +01:00
WerWolv
1f8645fd43 fix: Occasional crash when multiple threads are reading data from a file provider 2023-03-17 11:43:50 +01:00
WerWolv
f10fb56042 impr: Drastically improve file reading performance 2023-03-17 11:31:50 +01:00
WerWolv
5097a223e3 impr: Added default saveAs implementation for all providers 2023-03-17 08:15: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
bf8089dc7e impr: Don't memory map files, never keep a write handle open for long
Closes #592
2023-02-17 10:26:09 +01:00
WerWolv
d09982d99f fix: Crash when opening selection view
Fixes #913
2023-01-30 18:15:42 +01:00
WerWolv
cf9df6e36d feat: Added ability to query provider information from pattern language 2023-01-24 09:07:11 +01:00
WerWolv
90df4413c3 feat: Added basic windows process memory provider 2023-01-01 02:29:38 +01:00
WerWolv
ae5d8c9aad build: Updated libromfs 2022-12-19 08:52:12 +01:00
WerWolv
603ff9256c build: Actually use correct fcntl.h 2022-12-19 07:16:38 +01:00
WerWolv
a966cab155 build: Use correct fcntl.h include on Linux 2022-12-19 07:15:18 +01:00
WerWolv
b1f76aeda6 feat: Added new view provider 2022-11-14 10:02:46 +01:00
WerWolv
4c5d2f6ebb feat: Finish up work on new pl section system 2022-11-08 21:43:22 +01:00
WerWolv
5bbc2fd94c feat: Added basic UI for the new pl section system 2022-11-07 00:04:47 +01:00
WerWolv
139a379a09 feat: Added Paste all option to paste and resize file without checks
Closes #791
2022-10-21 12:14:35 +02:00
WerWolv
6a8611d98d ux: Make New File command create a new file in memory
Closes #792
2022-10-21 12:01:28 +02:00
WerWolv
accd554600 sys: Reduce compile time on Windows a bit 2022-10-02 20:35:38 +02:00
Nik
9c484e7b57
fix: Various clang / clang-tidy warnings (#764) 2022-10-02 17:30:26 +02:00
WerWolv
ceaf80a186 sys: Don't keep files open in File Provider
Closes #752
2022-09-26 11:49:35 +02:00
WerWolv
4e5d56e2c0 fix: Files opened by the file provider appearing locked for other applications 2022-09-19 23:07:44 +02:00
WerWolv
d9a47fe815 fix: Crashes when resizing file
Fixes #721
2022-09-04 11:16:24 +02:00
WerWolv
55b877d5e0 fix: Region validity check not working correctly with non-zero base address
Fixes #683
2022-08-17 16:28:44 +02:00
WerWolv
78785ddc3c fix: More provider display issues 2022-08-14 14:45:18 +02:00
WerWolv
85f0e04d0e feat: Allow recents to also display other providers 2022-08-14 10:07:45 +02:00
WerWolv
440ba3823e fix: Hex editor displaying ?? for every byte after editing 2022-08-14 09:38:38 +02:00
WerWolv
b580691871
feat: Added Intel Hex and Motorola SREC provider (#670)
* feat: Initial implementation of an Intel Hex provider

* fix: Reading of bytes from intel hex files

* lang: Added localization for new provider

* ui: Only show file name in intel hex provider name

* feat: Added Motorola SREC provider
2022-08-12 15:11:27 +02:00
WerWolv
5c13cf9dbf sys: Added support for providers with unreadable regions 2022-08-10 09:26:48 +02:00
WerWolv
966f3b8597
sys: Replace existing bad project system with a much better one (#663)
* sys: Initial effort to replace existing project files with a better system

* sys: Added back marking provider as dirty

* sys: Remove git commit information from project files

* sys: Format data processor save file nicely

* fix: Automatic pattern loading not working correctly

* ui: Added warning popup when closing a provider with modifications

Closes #604

* sys: Fixed build issues

* tests: Removed useless debug logs

* patterns: Updated pattern language

* sys: Added log message when crashing with a signal

* sys: Make sure abnormal termination handlers are being called more reliably
2022-08-08 21:23:52 +02:00
Polshakov Dmitry
662d80abea
feat: Add ability to remove bytes (#531)
Co-authored-by: Dmitry Polshakov <dmitry.polshakov@dsr-corporation.com>
2022-06-17 14:21:56 +02:00
Lukas Cone
202a02af10
fix: Crash on linux when opened file gets modified (#487) 2022-04-17 23:07:14 +02:00
WerWolv
0462cc3d0c
sys: Enable -Wall, -Wextra, -Werror and fix all warnings on all Platforms (#483)
* sys: Make ImHex compile with -Wall -Wextra -Werror

* sys: Fixed various build errors on Linux

* sys: Explicitly ignore return value of `system` function

* sys: More fixes for the warnings GitHub Actions enables somehow

* sys: More fixes

* sys: Remove -Werror again to see all GitHub Actions warnings

* sys: Hopefully fixed all remaining warnings

* sys: Added back -Werror

* git: Change windows icon in GitHub Actions
2022-03-27 00:01:28 +01:00
WerWolv
327e904dbc sys: Fixed many clang tidy warnings and typos 2022-03-04 20:52:39 +01:00
WerWolv
2739320f10 sys: Refactor of filesystem functions. Fixed crashes where fs errors weren't caught correctly
Addresses the crash mentioned in #462
2022-03-04 11:36:37 +01:00
WerWolv
66d1b3fd2f
patterns: Huge refactor of Pattern Language runtime to use smart pointers (#458)
* patterns: Initial work to refactor pattern language to use smart pointers

* patterns: Fixed remaining issues, moved patterns to unique files

* sys: Added missing includes for macOS
2022-02-27 23:25:39 +01:00
WerWolv
60af9970c1 fix: Opening files with unicode characters in their path 2022-02-16 10:04:05 +01:00
WerWolv
ce59226909 sys: Reformat all 2022-02-01 22:09:44 +01:00
WerWolv
0e08b0226b sys: Added clang-format file, formatted entire project 2022-01-24 20:53:17 +01:00
WerWolv
9ddd97a6eb provider: Added insert bytes feature 2022-01-20 23:24:26 +01:00