WerWolv
7cdba75bef
fix: Crash when not making a valid selection in provider load interfaces
2023-03-16 16:48:15 +01:00
WerWolv
3a840c4ced
impr: Properly display custom encoding characters that are split between lines
2023-03-14 09:35:43 +01:00
WerWolv
55f9faea10
sys: Updated more code to libwolv
2023-03-13 08:58:08 +01:00
WerWolv
fb2e668589
sys: Moved more functions to libwolv
2023-03-12 18:43:05 +01:00
WerWolv
0dafb3d230
sys: Replaced many helper functions with libwolv
2023-03-12 18:27:33 +01:00
Fenrisfulsur
069221757f
feat: Added chunk based entropy analysis to information view ( #933 )
...
Issue: https://github.com/WerWolv/ImHex/issues/522
Implementation of chunk based entropy analysis in diagram.hpp available
from the data information view and in the pattern language.
---------
Co-authored-by: WerWolv <werwolv98@gmail.com>
2023-03-10 16:06:18 +01:00
WerWolv
0017cd2e40
feat: Added binary hex cell visualizer
...
Closes #939
2023-02-18 22:20:02 +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
35437c0300
patterns: Added rotation and scale sliders to 3D visualizer
2023-02-16 23:24:24 +01:00
WerWolv
ac83bbeb0e
feat: Added a theme manager view to make it easier to make new themes
2023-02-16 18:06:40 +01:00
WerWolv
3067ff08ec
feat: Greatly improved diff view
...
Fixes #631
2023-02-15 17:01:36 +01:00
WerWolv
3003dea409
fix: Occasional error when loading recent files
2023-02-12 17:52:09 +01:00
WerWolv
d084ec78e9
nodes: Allow immediate values on integer and float inputs
...
Closes #427
2023-02-12 17:33:53 +01:00
WerWolv
a59c17aa83
nodes: Fixed loading saved nodes multiple times
2023-02-10 11:22:11 +01:00
WerWolv
5cc01ae89d
nodes: Added support for nested, shareable, custom data processor nodes
2023-02-09 23:07:04 +01:00
WerWolv
303dd28c7c
fix: Fix macOS build again
2023-02-08 14:11:42 +01:00
WerWolv
dd87dc7046
fix: Building on macOS
2023-02-08 13:51:56 +01:00
WerWolv
89a96c6d25
sys: Improve pattern visualizer API
2023-02-07 14:18:59 +01:00
WerWolv
c6e1f45dc3
feat: Added option to copy custom encoding strings from hex view
2023-01-28 21:12:35 +01:00
WerWolv
29c1a0cb78
feat: Allow multiple yara files to be selected at once
2023-01-28 00:01:53 +01:00
WerWolv
fee1b985c0
feat: Added better error messages for generating and importing ips patches
2023-01-25 10:38:04 +01:00
WerWolv
434b7649c3
fix: CRC8 hashing algorithm displaying 16 bits result
2023-01-25 00:06:48 +01:00
WerWolv
cf9df6e36d
feat: Added ability to query provider information from pattern language
2023-01-24 09:07:11 +01:00
WerWolv
915106f360
patterns: Fixed various issues with the 3d visualizer
2023-01-23 16:25:23 +01:00
WerWolv
1f50e834fc
fix: Copying bytes from non-zero page not working
2023-01-22 11:28:17 +01:00
WerWolv
89e0df86a2
feat: Added scaling and rotation to 3D visualizer
2023-01-21 13:00:02 +01:00
WerWolv
d4967018c2
feat: Added basic lighting and rotations to 3d visualizer model
2023-01-20 23:32:51 +01:00
WerWolv
8e759d9b5f
feat: Added basic 3D visualizer, moved visualizers to separate file
2023-01-20 21:16:28 +01:00
WerWolv
ef12798fe2
feat: Allow custom hashes to be saved to projects
2023-01-18 14:30:56 +01:00
WerWolv
c747c15567
fix: Buffer overflow caused by hex input boxes
2023-01-18 14:30:44 +01:00
Nik
48a57cd981
feat: Added stacktrace printing on crashes ( #892 )
...
* feat: Added simple stack trace output
* feat: Added backtrace wrapper
* build: Added libbacktrace include dirs to build
* build: Fixed libbacktrace variables
* build: More backtrace variable fixes
* build: Try to find backtrace include
* build: Get backtrace header from cmake script
* feat: Added backtrace support for execinfo
* feat: Added support for StackWalk on Windows
2023-01-17 21:38:56 +01:00
Kuruyia
a65f0a5238
feat: Support macOS keyboard shortcuts ( #889 )
2023-01-17 08:16:02 +01:00
WerWolv
1b56c7ffae
ui: Show task progress in task bar
2023-01-14 14:21:16 +01:00
WerWolv
dbcb13f473
patterns: Disallow application/octet-stream
to be used as MIME type
2023-01-09 08:38:19 +01:00
Thomas
ab29303c2e
sys: Clear project context when closing all providers, Display project name in window title ( #860 )
...
* clear project context when closing all providers
* Show project name on window title
* refactor RequestChangeWindowTitle to RequestUpdateWindowTitle
* add spaces
2023-01-07 17:31:22 +01:00
WerWolv
c26bed894b
sys: Add imhex/lib
path to plugin libraries search paths
2023-01-07 10:32:01 +01:00
WerWolv
763196f0cc
feat: Added filtering to Process Memory Provider
2023-01-05 09:30:15 +01:00
WerWolv
ff9048fcf0
fix: Crash on exit
...
Fixes #854
2023-01-05 09:29:33 +01:00
WerWolv
d7d19d7594
feat: Further improve process memory provider
2023-01-01 12:26:27 +01:00
WerWolv
87ed0d31d4
fix: Various invalid iterator and container accesses
2023-01-01 01:01:24 +01:00
WerWolv
85823e8e5d
build: Removed all usages of Python
2022-12-29 23:32:57 +01:00
WerWolv
7859a9bb1f
feat: Added native custom theme support
2022-12-29 19:26:00 +01:00
WerWolv
cf601586fc
fix: Deadlock when loading recent files
2022-12-28 23:06:27 +01:00
WerWolv
4b8e275254
fix: Crash when closing providers too quickly
2022-12-27 11:35:20 +01:00
WerWolv
e3f2541fde
sys: Make sure libromfs is never used in libimhex
2022-12-05 15:29:19 +01:00
WerWolv
1347f81236
sys: Added postJson Net helper function
2022-12-04 21:50:47 +01:00
WerWolv
3b94a42783
lang: Updated localization system to use a more versatile json format
2022-12-02 12:00:04 +01:00
André Blome
4aa314b3ab
feat: Added quick "save project" action ( #826 )
...
* add quick -save project- action
* translation for -save project as- added
* removed machine translations; header file name extension fixed
* moved openProject() for consistency
2022-11-25 10:47:11 +01:00
WerWolv
9074a6fcf1
fix: Edit menu items being always unavailable
2022-11-09 18:49:07 +01:00
WerWolv
4c5d2f6ebb
feat: Finish up work on new pl section system
2022-11-08 21:43:22 +01:00
WerWolv
a6742de405
sys: Literally, fuck Valve
2022-11-02 08:24:00 +01:00
WerWolv
5cf6baca88
fix: Yara matching not being interruptable
2022-10-28 14:32:28 +02:00
WerWolv
0c5e72ab6a
nodes: Improve precision of values passed between nodes
2022-10-26 08:54:08 +02:00
WerWolv
1eb9858f62
sys: Moved libimhex-rust out of project
2022-10-21 14:55:01 +02:00
WerWolv
241b93aab5
patterns: Added menu to Edit menu for placing types at current selection
2022-10-21 10:03:37 +02:00
WerWolv
1ab949b7ef
nodes: Added RGBA8 image visualizer
2022-10-13 15:13:53 +02:00
WerWolv
8b39c8f219
feat: Make all tool windows be detachable
2022-10-13 10:47:38 +02:00
WerWolv
a44de63e24
fix: Build failing on Linux
2022-10-09 16:34:53 +02:00
WerWolv
4070833229
ui: Highlight selected patterns in pattern data view
2022-10-09 15:56:26 +02:00
WerWolv
2b135cf7e0
ui: Limit maximum length of data displayed in pattern tooltip
2022-10-07 16:27:29 +02:00
WerWolv
484481f886
fix: Opening files with unicode names through the command line
2022-10-07 10:14:24 +02:00
WerWolv
e0c35e0002
fix: Data processor nodes not remembering their positions correctly
2022-10-06 09:14:46 +02:00
WerWolv
5ace199dc4
fix: Foreground tasks not being cancellable
2022-10-05 21:25:52 +02:00
WerWolv
7f2c60b0d7
fix: Race condition with data inspector
2022-10-05 12:02:40 +02:00
WerWolv
7bb9e7ee82
sys: Replaced awful task system with a much more efficient thread pool
2022-10-04 23:37:48 +02:00
WerWolv
b80517ab15
sys: Improved UTF-8 path handling in various places
...
Fixes #768
2022-10-04 09:10:58 +02:00
Nik
9c484e7b57
fix: Various clang / clang-tidy warnings ( #764 )
2022-10-02 17:30:26 +02:00
WerWolv
6a07a2f85d
feat: Look for custom inspector entries in imhex/scripts/inspectors
2022-10-02 14:18:40 +02:00
WerWolv
663fb88367
sys: Various cleanup
2022-09-30 12:49:28 +02:00
WerWolv
c769e9cc32
ui: Highlight modified bytes in red
2022-09-28 15:01:43 +02:00
WerWolv
e34703ea5a
fix: Saving and loading projects not working correctly
2022-09-22 09:05:09 +02:00
iTrooz_
3a94be9abb
ux: Display an error message if file picker can't be opened ( #748 )
...
* add error message for the file picker
* set a different message for Windows/MacOS
* fix typos
* Moved file dialog error handling to a callback function
Co-authored-by: Nik <werwolv98@gmail.com>
2022-09-20 15:47:59 +02:00
WerWolv
1d4cbbe418
ux: Handle project loading errors better
2022-09-20 15:33:36 +02:00
WerWolv
a55177edfa
fix: Curl SSL context not being thread safe in the slightest
2022-09-19 21:56:43 +02:00
WerWolv
4c01a749de
sys: Improved startup time by running startup tasks in parallel
2022-09-19 16:54:19 +02:00
WerWolv
7b61268f22
ux: Reduce file loading time to basically zero
2022-09-19 16:09:22 +02:00
WerWolv
814c595c12
ui: Added functionality icons to most text input fields
2022-09-19 11:29:51 +02:00
WerWolv
3cdc8c5884
fix: OpenGL textures not being cleaned up correctly
2022-09-18 20:38:45 +02:00
WerWolv
bf00503d1f
fix: BufferedReader messing up the second to last byte
2022-09-16 08:30:28 +02:00
WerWolv
66d64cf020
patterns: Refactor creation of default runtime
2022-09-15 09:34:40 +02:00
WerWolv
20a2331504
feat: Allow task stop button to abort pattern evaluation
2022-09-13 16:05:41 +02:00
WerWolv
aa658b7dbc
sys: Make sure constexpr variables don't get copied onto the stack
2022-09-12 21:28:02 +02:00
WerWolv
d990ee102a
sys: More cleanup
2022-09-07 23:11:24 +02:00
WerWolv
d9a47fe815
fix: Crashes when resizing file
...
Fixes #721
2022-09-04 11:16:24 +02:00
WerWolv
1a21627cdb
ui: Added error popup when an exception is thrown in a task
2022-09-03 23:56:57 +02:00
WerWolv
7f6aa9f9a6
fix: Backwards searching being broken
...
Fixes #713
2022-09-03 23:02:46 +02:00
WerWolv
3cb6c4f775
fix: Buffered reader returning zeros if provider size is below 16MiB
...
Fixes #707
2022-08-29 16:32:32 +02:00
WerWolv
f62edea450
build: Fix various clang build issues
2022-08-26 00:18:08 +02:00
WerWolv
1ddd3ea2b9
fix: Custom pattern include paths not working correctly
2022-08-18 00:30:02 +02:00
WerWolv
e779285be4
feat: Added basic ability to interrupt long running tasks
2022-08-17 16:15:36 +02:00
WerWolv
aa01d58b33
ui: Increase window size when a bigger font is being used
2022-08-16 11:49:07 +02:00
WerWolv
0c0caf6942
fix: Restarting ImHex not working correctly
2022-08-16 11:48:37 +02:00
WerWolv
29e970fd81
fix: Out of bounds strlen read
2022-08-16 00:29:53 +02:00
WerWolv
6b62a1963e
fix: Some occurrences of undefined behaviour
2022-08-15 21:08:09 +02:00
WerWolv
85f0e04d0e
feat: Allow recents to also display other providers
2022-08-14 10:07:45 +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
WerWolv
2c740cab06
sys: Added select region command
2022-08-08 12:57:44 +02:00
WerWolv
f62ca307b0
ui: Streamline region selection in different views
...
Fixes #660
2022-08-07 12:20:40 +02:00
WerWolv
69d000488e
api: Added api function to create pattern
2022-08-06 22:29:59 +02:00
WerWolv
88f8bb9848
sys: Updated to new pattern language library structure
2022-08-06 21:38:09 +02:00
WerWolv
a97f853110
fix: More search issues
2022-08-06 13:16:53 +02:00
WerWolv
3dc5f0e2be
fix: Buffered Reader not reading last byte
...
Closes #653
2022-08-06 13:07:02 +02:00
WerWolv
d7accb6916
feat: Allow Find view to find overlapping occurrences
...
Closes #653
2022-08-06 12:57:47 +02:00
WerWolv
58f54caf55
ui: Added u24, i24, u48 and i48 to data inspector
...
Closes #651
2022-08-05 12:19:50 +02:00
WerWolv
352df24160
build: Move another warning disable to the build script
2022-08-05 08:42:09 +02:00
WerWolv
ace25d353b
fix: GLFW error on exit
2022-08-03 10:45:50 +02:00
WerWolv
0ac8fcd1eb
feat: Added binary pattern search to find view
2022-08-03 10:19:34 +02:00
WerWolv
59449bbe47
fix: Portable version detection not working correctly
2022-08-01 23:25:13 +02:00
WerWolv
b8c034f8c5
sys: Prevent portable Windows version from writing to AppData
...
Fixes #627
2022-08-01 14:51:40 +02:00
WerWolv
84e049be07
build: Fixed some issues to make porting to other systems easier
2022-08-01 14:35:25 +02:00
gudzpoz
eca5fb894f
feat: Added LEB128 in data inspector ( #615 )
...
* feat: Added LEB128 in data inspector
* feat: Added support for editing LEB128 values
* Moved LEB functions from utils.cpp to crypto.cpp
* Added placeholders for translations
* Made DataInspector::impl::Entry.maxSize mandatory
* Fixed undefined leftshifting behaviour
2022-08-01 13:20:20 +02:00
WerWolv
3d5568f65f
sys: Fixed global shortcuts not working correctly
...
Fixes #606
2022-07-30 22:01:49 +02:00
WerWolv
004cab13dc
sys: Replaced many info logs with debug logs
2022-07-30 11:26:51 +02:00
WerWolv
24c243bcf6
sys: Reset settings if it cannot be parsed anymore
2022-07-30 11:19:56 +02:00
WerWolv
2b9e43db82
fix: Crash when using BufferedReader ReverseIterator
2022-07-29 21:44:00 +02:00
WerWolv
419a2875b3
sys: Added filter option to find view
2022-07-29 18:49:43 +02:00
WerWolv
6f3a5e896c
sys: Fixed hidpi framebuffer scaling
...
Actually fixes #598
2022-07-29 17:37:30 +02:00
WerWolv
b7324913e9
sys: Replaced Search view with a generic Find view
...
Closes #551
2022-07-29 13:59:57 +02:00
WerWolv
fb4c21b97a
build: Fix weird macOS build errors ( #591 )
...
* cleanup
* Remove prints
2022-07-26 14:59:08 +02:00
WerWolv
d356993e33
fix: Various search issues
2022-07-26 13:28:21 +02:00
WerWolv
c1a2697e42
ui: Added filter to bookmarks view
2022-07-23 20:38:38 +02:00
WerWolv
31a746f3fc
fix: Issue opening files that contain special characters on Linux
...
This is a (hopefully temporary) hack. Fixes #568
2022-07-06 11:29:24 +02:00
WerWolv
e981fa53f3
fix: std::u8string usage with nlohmann::json
2022-07-05 09:01:09 +02:00
WerWolv
4cd390ab02
fix: Various more unicode issues
2022-07-05 00:00:00 +02:00
WerWolv
de269e7a48
sys: Remove remaining references to hex.builtin from libimhex
2022-07-02 17:53:13 +02:00
WerWolv
0ed885fe0f
sys: Removed all references to hex.builtin from main application
2022-07-02 16:22:38 +02:00
WerWolv
f9fc7051fc
tests: Added UTF-8 file operation tests
2022-07-02 10:05:25 +02:00
Shiroki Satsuki
ef5fbba56b
feature: Added network proxy support for hex::Net ( #562 )
...
* feat(i18n): update Chinese(Simplified) translation
* feat: proxy setting
* refactor: add hex::Net::setProxy
* fix: undefined symbol: hex::Net::m_proxyUrl
* style: m_proxyUrl -> s_proxyUrl
2022-07-01 14:05:32 +02:00
WerWolv
3db50a690c
fix: Various issues with UTF-8 paths
2022-06-30 19:39:06 +02:00
WerWolv
bb429aae62
fix: Theme detection issues on all OSes
2022-06-30 15:09:57 +02:00
WerWolv
ac964dc5ec
fix: Path handling and plugin loading breaking with non-ASCII paths
2022-06-29 21:34:17 +02:00
WerWolv
3471b314dd
build: Switch to GCC on MacOS ( #552 )
...
* build: Experimentally switch to gcc on macOS
* build: Corrected gcc paths
* build: Enable objective c support on macOS
* build: Enable ObjC and ObjC++ on macOS
* build: Add ObjC and ObjC++ flags
* build: Try compiling objc with clang
* build: Remove invalid flags again
* fix: Let's not include objc headers in C++ code
* sys: Move macos utils code to its own file
* fix: Missing unistd include on mac
* sys: Removed loader script stuff since it's currently unused and broken
* fix: Missing include
* fix: Another missing include
* fix: CFURLCreateWithBytes wants a pointer to mutable data
* fix: Try disabling name mangling of ObjC functions
* sys: Move macos utils declarations to its own header file
* fix: C Linkage
* fix: Move objc function prototypes to C++ headers
* fix: More missing includes
* fix: Warning error
* sys: Call ObjC with C ABI instead of trying to use C++
* build: Update libraries
* sys: Fixed build errors
* sys: No const correctness I guess
* sys: Fixed prototypes
* sys: This is C now
* sys: More nullptr -> NULL
* sys: Fix crash on exit
* sys: Try using proper std concepts instead of custom ones
* sys: Replaced another hex::is_signed
* build: Upgrade to gcc 12 and MacOS Monterey
* build: Fixed MacOS runner name
* build: Cache correct ccache folder on macOS
2022-06-25 12:19:59 +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
WerWolv
5e67a1f27b
sys: Refactor tar file operations into their own class
2022-06-16 15:42:08 +02:00
WerWolv
5551e82fea
ui: Fix hash function name localization
2022-06-14 11:54:34 +02:00
WerWolv
fe6be686b7
ui/ux: Complete rewrite of the Hash view
2022-05-30 16:36:46 +02:00
WerWolv
f1b2d5881e
tools: Added IEEE 756 floating point number tester
2022-05-29 14:57:59 +02:00
WerWolv
8a24517fb9
fix: Disable warnings only on GCC 12 and higher
2022-05-28 19:59:38 +02:00
WerWolv
a4c8bcab18
fix: Disable another warning to make macOS happy
2022-05-28 16:36:00 +02:00
WerWolv
7bf94ffe42
fix: Compile errors on platforms that don't support -Wstringop-overread yet
2022-05-28 16:24:57 +02:00
WerWolv
088205385f
fix: Workaround that broke functionality. Instead disable warnings
...
This actually fixes #515 for now
2022-05-28 16:19:08 +02:00
WerWolv
b751f98e91
ui/ux: Rewrite of the entire hex editor view to make it more flexible ( #512 )
...
* ui/ux: Initial recreation of the hex editor view
* ui/ux: Added back support for editing cells
* ux: Make scrolling and selecting bytes feel nice again
* ui/ux: Improved byte selecting, added footer
* sys: Make math evaluator more generic to support integer only calculations
* patterns: Moved value formatting into pattern language
* ui/ux: Added Goto and Search popups, improved selection
* ui: Added better tooltips for bookmarks and patterns
* sys: Use worse hex search algorithm on macOS
Sadly it still doesn't support `std::boyer_moore_horsepool_searcher`
* ui: Added back missing events, menu items and shortcuts
* fix: Bookmark highlighting being rendered off by one
* fix: Various macOS build errors
* fix: size_t is not u64 on macos
* fix: std::fmod and std::pow not working with integer types on macos
* fix: Missing semicolons
* sys: Added proper integer pow function
* ui: Added back support for custom encodings
* fix: Editor not jumping to selection when selection gets changed
* ui: Turn Hexii setting into a data visualizer
* sys: Added back remaining shortcuts
* sys: Remove old hex editor files
* sys: Moved more legacy things away from the hex editor view, updated localization
* fix: Hex editor scrolling behaving weirdly and inconsistently
* sys: Cleaned up Hex editor code
* sys: Added selection color setting, localized all new settings
* fix: Search feature not working correctly
* ui: Replace custom ImGui::Disabled function with native ImGui ones
* ui: Fix bookmark tooltip rendering issues
* fix: Another size_t not being 64 bit issue on MacOS
2022-05-27 20:42:07 +02:00
WerWolv
c4b7d89713
fix: Random build errors with GCC 12.1.0
2022-05-17 20:46:42 +02:00
WerWolv
5f17d7aa75
fix: Narrowing conversion error in Encoding File parsing
2022-05-17 17:49:14 +02:00
WerWolv
17383083fb
patterns: Use standalone pattern language library instead of built-in one
2022-04-17 16:57:30 +02:00
WerWolv
f5fe49923b
fix: Let's not cause UB on every event call...
2022-04-15 19:02:36 +02:00
Polshakov Dmitry
4928c044af
patterns: Move pattern drawer into builtin plugin ( #482 )
...
Co-authored-by: Dmitry Polshakov <dmitry.polshakov@dsr-corporation.com>
2022-04-08 16:08:02 +02:00
WerWolv
b7132af214
patterns: Added missing override
2022-04-07 18:19:19 +02:00
WerWolv
74a5c974e6
patterns: Fixed comments behind pre-processor defines
2022-04-07 13:15:07 +02:00
WerWolv
942a4e9616
patterns: Fixed selection of static array entries
2022-04-07 12:59:23 +02:00
WerWolv
76f732dc53
patterns: Fixed various render issues
2022-04-07 12:47:45 +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
e72a30ca59
patterns: Make default parameters work properly with parameter packs
2022-03-25 09:53:58 +01:00
WerWolv
368c943040
patterns: Added default parameters
2022-03-24 20:31:45 +01:00
WerWolv
a16e387dff
patterns: Fixed copying of type decl nodes
2022-03-24 18:00:00 +01:00
WerWolv
95cf828975
patterns: Prevent usage of incomplete types
2022-03-24 17:00:10 +01:00
WerWolv
c09d85f46d
patterns: Allow forward declaring of types
2022-03-24 16:57:12 +01:00
WerWolv
c2803fe1e2
sys: Fixed build errors and warnings on Unix
2022-03-22 09:34:26 +01:00
WerWolv
98dfc2e286
sys: Replace __builtin_unreachable() with hex::unreachable()
2022-03-22 09:08:34 +01:00
WerWolv
f7cfee55d5
ui: Enable multi viewports on Linux again if you're not on Wayland
2022-03-22 08:20:14 +01:00
WerWolv
26a7b3325d
patterns: Unified displaying and stringifying string patterns
2022-03-22 08:19:46 +01:00
WerWolv
47fd5bdc00
patterns: Fixed pointer type displaying causing crashes
...
Fixes #480
2022-03-22 08:19:14 +01:00
Polshakov Dmitry
5dfa9cf501
patterns: Move logic to draw patterns into separate class ( #472 )
...
* refactor(patterns): add visitor interface
* refactor(patterns): add public accessors
* refactor(patterns): add method to get pattern value
* refactor(pattern): make some methods public
* refactor(pattern): extract code to draw GUI
* refactor(patterns): remove GUI related code from patterns
* refactor: move common GUI function from pattern to pattern_drawer
* refactor(pattern_drawer): extract common code into methods
* refactor: rename ImGuiDrawer -> PatternDrawer
* refactor(patternr): move displayEnd into PatternDrawer
* refactor: use ArrayPattern concept to restrict argument type
Co-authored-by: Dmitry Polshakov <dmitry.polshakov@dsr-corporation.com>
2022-03-21 13:52:07 +01:00
WerWolv
bc7c494316
patterns: Fixed highlighting of static array entries
2022-03-19 00:47:36 +01:00
WerWolv
17a2be41da
patterns: Fixed crash when applying certain attributes to types
2022-03-19 00:24:41 +01:00
WerWolv
89fe063b02
patterns: Fixed struct members that overlap with [[no_unique_address]] members not being highlighted
2022-03-17 23:32:22 +01:00
WerWolv
7061a1ebfa
patterns: Allow bitfield fields to be selected
2022-03-17 23:31:36 +01:00
WerWolv
ec9a947259
patterns: Fixed highlight colors of arrays not matching color shown in pattern data view
2022-03-17 23:31:16 +01:00
WerWolv
11441d632b
patterns: Fixed indentation of inlined variables
2022-03-17 23:30:38 +01:00
WerWolv
a17b647e79
patterns: Fixed static arrays showing same value for all entries
2022-03-17 23:29:52 +01:00
WerWolv
2d87d29fa0
patterns: Fixed recursive types
2022-03-17 00:10:16 +01:00
Polshakov Dmitry
d677762dff
perf(pattern): save display value in cache ( #466 )
...
Co-authored-by: Dmitry Polshakov <dmitry.polshakov@dsr-corporation.com>
2022-03-16 00:01:01 +01:00
Lukas Cone
3da1b3f05d
ui/patterns: Added settings tooltips, fixed pattern crash ( #464 )
...
* fix: pattern segfault typo
* ui: added few tooltips into settings
Co-authored-by: WerWolv <werwolv98@gmail.com>
2022-03-05 23:32:30 +01:00
WerWolv
327e904dbc
sys: Fixed many clang tidy warnings and typos
2022-03-04 20:52:39 +01:00
WerWolv
96e9400761
sys: Fixed unit test building
2022-03-04 14:34:37 +01:00
WerWolv
3b7a928313
sys: Fixed missing includes on Unix
2022-03-04 11:44:11 +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
559b86efe1
patterns: Display actual type name of types declared with using
2022-03-03 13:33:45 +01:00
WerWolv
949a26ca0e
patterns: Fixed memory leak when using format
attribute
2022-03-03 12:11:47 +01:00
WerWolv
2880ca00da
patterns: Fixed crash when using attributes
2022-03-03 11:19:46 +01:00
WerWolv
483ba95d80
fix: Some text boxes not being writable
2022-03-03 09:24:09 +01:00
WerWolv
cc59b36c54
patterns: Properly reset back current control flow type in arrays
...
Fixes issue mentioned in #460
2022-03-01 20:57:21 +01:00
WerWolv
61d9918dae
patterns: Evaluate return value before setting control flow type
...
Fixes another issue mentioned in #460
2022-03-01 20:37:27 +01:00
WerWolv
775b3e8c52
patterns: Fixed crash when using control flow statements without value
...
Fixes #460
2022-03-01 20:17:03 +01:00
WerWolv
540f468e8a
patterns: Fixed offset being incorrectly incremented when calling functions
2022-03-01 09:40:08 +01:00
WerWolv
b57730c28b
sys: Disable buffering on log files
2022-03-01 00:03:28 +01:00
WerWolv
5a02c38fcd
store: Fixed more download issues when some folders don't have write perms
2022-02-28 23:10:04 +01:00
Lukas Cone
2847098020
patterns: Added bitfield_order pragma ( #457 )
2022-02-28 00:07:04 +01:00
WerWolv
0cc6d90e3d
patterns: Fixed off-by-one error when calculating unsized array sizes
...
Closes #453 , thanks to @Dyddye
2022-02-27 23:28:34 +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
191a99f91b
fix: Crash when trying to read from an empty file or a directory
2022-02-26 16:43:38 +01:00
WerWolv
75bd7805c9
ux: Added custom font and font size setting to settings menu, improve rebooting behaviour
2022-02-21 21:46:25 +01:00
WerWolv
7d9c24ff51
net: Increase store load timeout to 30 seconds
2022-02-21 18:57:53 +01:00
jam1garner
57e1f7ee10
Rework libimhex-rs to use autocxx ( #451 )
...
* Rework libimhex-rs to use autocxx
* Remove Bookmarks::add overload
* Remove manual usage of cxx-rs
2022-02-20 19:14:11 -05:00
WerWolv
754eb89f04
patterns: Fixed jumping to and displaying tooltips of static array entries
2022-02-20 23:54:31 +01:00
WerWolv
9deab9c497
pattern: Allow many variable attributes to be applied directly to custom types
2022-02-19 18:03:07 +01:00
WerWolv
5ae6c8a627
fix: ImGui::TextFormattedCentered didn't properly pass format arguments forward
2022-02-19 18:02:44 +01:00
Lukas Cone
26f998ecb6
feature: User now can add custom directories ( #444 )
...
* feat: user directories
* ux: show setting categories in order they were created
* feat: add descriptable setting categories
2022-02-18 22:34:54 +01:00
Lukas Cone
6c8b75a05f
pattern: add single_color attribute, fixed static array color override ( #443 )
2022-02-18 13:31:44 +01:00
WerWolv
7e075e5ebb
sys: Added editing support for strings and chars in the data inspector
2022-02-17 14:43:04 +01:00
WerWolv
b9508d853e
build: Fixed building and loading of Rust plugins
2022-02-17 11:42:56 +01:00
WerWolv
90753f4d42
sys: Fixed logging to file omitting all tags and new lines
2022-02-16 21:31:47 +01:00
WerWolv
7117592f38
sys: Add highlighting provider function support, move pattern highlighting code out of hex editor
2022-02-16 14:57:13 +01:00
WerWolv
33a1e7f055
sys: Added setting to override borderless window mode even on Intel
2022-02-15 23:07:48 +01:00
WerWolv
f72e9700ab
sys: Move Windows theme detection to Windows plugin
2022-02-15 22:50:04 +01:00
WerWolv
d6b887b7db
sys: Added basic editing support to data inspector
2022-02-15 21:50:27 +01:00
Polshakov Dmitry
038b7961db
pattern: Fix scopes not always getting popped again correctly ( #440 )
...
Co-authored-by: Dmitry Polshakov <dmitry.polshakov@dsr-corporation.com>
2022-02-14 20:44:43 +01:00
Polshakov Dmitry
9399cf873f
pattern: Add attribute to format array entries ( #435 )
...
Co-authored-by: Dmitry Polshakov <dmitry.polshakov@dsr-corporation.com>
2022-02-12 15:40:42 +01:00
WerWolv
585058b500
pattern: Fixed control flow statements not being applied correctly
2022-02-11 21:02:18 +01:00
WerWolv
57f31123e7
pattern: Cleanup log console a bit
2022-02-11 16:53:01 +01:00
WerWolv
b4a3eb240e
pattern: Don't allow negative array sizes
2022-02-11 16:52:51 +01:00
WerWolv
0e40b8a81a
pattern: Don't reset offset back after variable placements in global scope
2022-02-09 08:55:51 +01:00
WerWolv
2510f61a4e
pattern: Fixed array pattern data columns being offset
2022-02-09 08:55:00 +01:00
WerWolv
28e5f62c60
fix: ImU64 is somehow not the same as u64 on Linux
2022-02-08 22:25:25 +01:00
WerWolv
1b95722757
ui: Added hexadecimal input text box
2022-02-08 21:10:48 +01:00
WerWolv
1738c3f50a
build: Use correct include directory for capstone
2022-02-08 19:22:52 +01:00
WerWolv
18169b461a
pattern: Fixed selecting first member of nested patterns
2022-02-08 18:39:47 +01:00
WerWolv
abd3fe6ed1
sys/ux: Improved selection requests
2022-02-08 18:38:54 +01:00
WerWolv
e918a594f3
pattern: Improved attribute handling
2022-02-08 17:50:42 +01:00
WerWolv
37ea9c6656
pattern: Allow pattern with nested children to be selectable, make pointers inlinable
2022-02-07 23:21:04 +01:00
WerWolv
137bfe48ca
pattern: Fixed precedence of comparison operators
2022-02-07 21:37:10 +01:00
WerWolv
94506848e0
pattern: Added left_to_right and right_to_left attribute for bitfields
2022-02-07 20:08:19 +01:00
WerWolv
decfad5c99
pattern: Properly treat calculated pointers as not part of the struct
2022-02-06 19:46:39 +01:00
WerWolv
334939324c
pattern: Fixed use-after-free when accessing arrays through an r-value
2022-02-06 18:04:33 +01:00
WerWolv
99f8efac9a
pattern: Fixed pragma once memory corruption
2022-02-06 15:28:20 +01:00
WerWolv
69c48edfdf
nodes: Added Image visualizer
...
Supports JPG, PNG, TGA, BMP, PSD, GIF, HDR and PIC via stb_image
2022-02-06 01:32:15 +01:00
WerWolv
16a9d0c0c6
sys: Streamline logger functions, reorder tags for better readability
2022-02-06 00:42:38 +01:00
WerWolv
d42d87280d
pattern: Allow pattern function code to be executed separately
2022-02-06 00:18:04 +01:00
WerWolv
5c3bfa690b
pattern: Improved error messages when including std files or calling unknown std functions
2022-02-05 23:02:38 +01:00
WerWolv
618eead341
sys: Drastically improve highlighting performance
2022-02-04 00:29:47 +01:00
WerWolv
ba68f463e5
ui: Added to matched yara rules
2022-02-02 21:08:46 +01:00
WerWolv
df1d302bcb
sys: Added time and source to logger output
2022-02-02 17:19:50 +01:00
WerWolv
876dbe8179
sys: Final cleanup to get rid of everything builtin in the main application
2022-02-02 00:36:09 +01:00
WerWolv
ce59226909
sys: Reformat all
2022-02-01 22:09:44 +01:00
WerWolv
1991afb87b
sys: Get rid of SharedData struct and cleanup code structure ( #411 )
...
* sys: Initial refactoring of the SharedData class
* sys/pattern: More refactoring, make every provider have its own patterns
* sys: Finished up refactoring. No more SharedData!
* sys: Fixed compile on Unix
* tests: Fixed unit tests
* sys: Moved view and lang files
* pattern: Added assignment operator support to for loops
* tests: Fixed compile issue
2022-02-01 18:09:40 +01:00
WerWolv
61fc479c79
pattern: Fixed many code inconsistencies and bugs
2022-01-31 14:37:12 +01:00
WerWolv
8f8f3c5415
pattern: Actually fix strings being displayed wrong
2022-01-31 12:53:04 +01:00
WerWolv
af57b39d8f
pattern: Added #pragma once to prevent multi-includes of files
2022-01-30 17:49:18 +01:00
WerWolv
7321d205fe
pattern: Make parameter packs work inside later scopes
2022-01-30 17:48:51 +01:00
WerWolv
69bd438fe1
pattern: Added parameter packs
2022-01-30 15:18:45 +01:00
WerWolv
dd572ba024
sys: Return std::nullopt instead of {} for empty optional values
2022-01-30 12:43:43 +01:00
WerWolv
bfa3538745
pattern: Fixed color overriding of struct members when struct has a color set already
...
Fixes #409
2022-01-29 22:17:51 +01:00
WerWolv
e6f1dd0490
tests: Improved testing environment, added helpers tests
2022-01-29 17:14:15 +01:00
WerWolv
7b1a146976
pattern: Fixed crashes, removed reference to evaluator in every pattern
2022-01-29 12:40:49 +01:00
WerWolv
75331cda94
pattern: Added compound assignment operators
2022-01-29 04:16:32 +01:00
WerWolv
a0a39f1c04
pattern: Added dollar operator assignment
2022-01-29 03:06:34 +01:00
WerWolv
48de158d7c
pattern: Fixed broken removing of zero-characters from strings
2022-01-29 02:52:20 +01:00
WerWolv
e71091f4a8
pattern: Fixed endian setting applied to structs not applying to its members
2022-01-29 02:52:20 +01:00
WerWolv
0e08b0226b
sys: Added clang-format file, formatted entire project
2022-01-24 20:53:17 +01:00
WerWolv
a66fec489c
ui: Added some hint text for in/out variable tab, improved centered hints
2022-01-24 00:46:19 +01:00
WerWolv
541c0d7547
build/plugin: Make plugins no longer depend on their file name
2022-01-23 23:28:56 +01:00
WerWolv
b3a8d02d19
lang: Don't hardcode fallback language anymore
2022-01-23 22:08:19 +01:00
WerWolv
49610f59ea
ux: Added interface to choose encoding files more easily
2022-01-23 21:52:43 +01:00
WerWolv
9cf7fc4a2e
store: Added encoding files to store, fixed crash when folder doesn't exist
2022-01-23 21:52:24 +01:00
WerWolv
8397af5c9b
api: Make main menus use the same priority API
2022-01-23 20:45:51 +01:00
WerWolv
714d421334
api: Moved menu item adding to a new registry-type API
2022-01-23 11:54:21 +01:00
WerWolv
48aacc0c2e
sys: (s8, s16, s32, s64, s128) -> (i8, i16, i32, i64, i128)
2022-01-22 22:37:52 +01:00
WerWolv
4e047beabb
ui/api: Added sidebar
2022-01-22 22:03:54 +01:00
WerWolv
d5d1577b43
pattern: Make sure hidden variables don't get highlighted anymore
2022-01-22 22:03:54 +01:00
WerWolv
42eea8ffba
pattern: Fixed highlighting issues with structs and arrays
2022-01-22 22:03:49 +01:00
WerWolv
10df0175d5
pattern: Added [[no_unique_address]]
attribute
2022-01-22 22:03:44 +01:00
WerWolv
d69eb440d8
pattern: Fixed memory leak when using conditionals in structs
2022-01-22 22:03:37 +01:00
WerWolv
768e74d9d3
pattern: Fixed highlighting of arrays
2022-01-22 22:03:26 +01:00
WerWolv
355b99c68f
pattern: Fixed continue and break statements in structs
2022-01-22 12:32:16 +01:00
WerWolv
9ddd97a6eb
provider: Added insert bytes feature
2022-01-20 23:24:26 +01:00
WerWolv
ee8b665472
ui: Added API to add custom layouts, imhex application and api cleanup
2022-01-18 00:10:10 +01:00
WerWolv
8701e0f402
sys: Log to a file when ImHex wasn't opened though a terminal
2022-01-17 20:06:00 +01:00
WerWolv
40d7e4aa6e
build: More repo cleanup, move libimhex and external libs to /lib folder
2022-01-16 14:20:52 +01:00