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
4b6a76bf02
fix: Bookmarks not always creating new highlights correctly
2022-03-26 16:54:15 +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
Polshakov Dmitry
937ccbc5bd
patterns: Restore data offset for local variables / added array, nested structs and functions tests ( #475 )
...
* fix(eval): restore data offset for local variables
* test(pattern_lang): add tests for arrays, nested structs and functions
Co-authored-by: Dmitry Polshakov <dmitry.polshakov@dsr-corporation.com>
2022-03-20 21:42:21 +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
WerWolv
f2159e26d2
build: Updated libromfs
2022-03-16 00:15:06 +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
WerWolv
3801e0d60b
build: Remove yara's cuckoo module again since we don't have jansson available
2022-03-15 23:54:55 +01:00
WerWolv
29ded2483c
sys: Make sure deferred call adding is thread safe
2022-03-15 23:46:02 +01:00
WerWolv
050e17298a
build: Updated various dependencies
2022-03-15 23:45:33 +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
efe6137067
ui: Improved look of the about page
2022-03-04 19:06:29 +01:00
WerWolv
96e9400761
sys: Fixed unit test building
2022-03-04 14:34:37 +01:00
WerWolv
6a517feda3
sys: More Linux and macOS build fixes
2022-03-04 14:00:02 +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
8b2dcf976f
patterns: Fixed auto parameter crash
2022-03-03 13:34:05 +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
39da62532b
fix: Trailing zero at end of string input buffers
2022-03-03 09:27:27 +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
174cf3ed95
fix: Crash when entering too much text in various text boxes
2022-03-01 16:12:00 +01:00
WerWolv
540f468e8a
patterns: Fixed offset being incorrectly incremented when calling functions
2022-03-01 09:40:08 +01:00
WerWolv
e4a3181e1d
fix: Crash when saving projects
2022-03-01 00:03:39 +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
b28eaf2dbf
sys: Catch error produced in file size querying
2022-02-26 17:15:35 +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
f3f1ac939a
fix: Executable directory not getting added to paths correctly on Linux
2022-02-26 16:25:15 +01:00
WerWolv
e3fbb490df
fix: ImHex not properly loading plugins on first launch
2022-02-26 00:10:23 +01:00
WerWolv
1487f760b0
build: Bundle files from the ImHex-Patterns repo with the installation
2022-02-21 22:47:56 +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
ef8e9a83bb
patterns: Properly treat arrays and custom types as references
2022-02-21 20:00:54 +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
2e95184d30
patterns: Allow variables to be named the same as types
2022-02-20 20:50:02 +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
Polshakov Dmitry
07ae00aa20
fix: misuse of clipper ( #445 )
...
clipper.Step() should be called in a loop until it returns false.
You don't need to call End() after it.
Co-authored-by: Dmitry Polshakov <dmitry.polshakov@dsr-corporation.com>
2022-02-18 13:32:36 +01:00
Polshakov Dmitry
39cc845df3
Fix crash on typing "#include " ( #446 )
...
* fix: scan include name until end of line
* fix: correctly check file existance
Co-authored-by: Dmitry Polshakov <dmitry.polshakov@dsr-corporation.com>
2022-02-18 13:32:05 +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
4c8efed256
fix: Crashing when scrolling through the hex editor too quickly
2022-02-17 21:49:40 +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
60af9970c1
fix: Opening files with unicode characters in their path
2022-02-16 10:04:05 +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
WerWolv
227040f82f
fix: Undo points not being created correctly
2022-02-15 21:50:02 +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
24f3b8dd3d
pattern: Make preprocessor not drop defines after include ( #433 )
...
Co-authored-by: Dmitry Polshakov <dmitry.polshakov@dsr-corporation.com>
2022-02-13 11:50:13 +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
Polshakov Dmitry
63455ce2be
fix: don't change list while iteration ( #434 )
...
Co-authored-by: Dmitry Polshakov <dmitry.polshakov@dsr-corporation.com>
2022-02-12 15:39:47 +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
586bca4bf6
ui: Make hexadecimal prefix slightly darker than rest of text
2022-02-08 22:19:54 +01:00
WerWolv
bd30411ba7
ui: Replaced all hex input textboxes with the new ones
2022-02-08 21:51:09 +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
Mark Nokalt
a52fee2248
nodes: Validate some buffer operations ( #425 )
...
* fix: NodeBufferSlice bounds validation
* fix: Make sure buffer is within u64 bounds in NodeCastBufferToInteger
* nodes: Use specific output methods in number constants
2022-02-08 08:32:10 +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
97db5e9698
external: Updated STB Image library
...
Fixes #421
2022-02-07 18:34:16 +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
b8026398e0
pattern: Allow variable placements inside of structs
...
Fixes #364
2022-02-05 23:34:52 +01:00
WerWolv
cff8bab3d3
pattern: Allow assigning to global variables inside of structs
2022-02-05 23:20:44 +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
8ab4d25e33
ux: Only show file chooser popup when there's files in the the relevant folder
2022-02-05 22:35:42 +01:00
WerWolv
eade95dff7
fix: Pattern source code being deleted when closing a provider
2022-02-05 22:26:00 +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
c2bcbfb1e0
pattern: std::from_chars is not widely supported and doesn't support u128...
2022-02-02 17:12:19 +01:00
WerWolv
4c51efc5e0
pattern: Improved parsing of integer literals, added support for hex floats
2022-02-02 16:03:18 +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
6a724352b0
pattern: Fixed sizeof and addressof operator parsing
2022-01-30 17:48:20 +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
4bc074fa84
sys: Remove patched bytes when their value is the same as the original
2022-01-30 11:58:32 +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
da16be7ad8
net: Use system certificate on Linux and MacOS
2022-01-29 13:40:17 +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
65212f22a6
pattern/ux: Added copying support to console, clip content, removed prefix
2022-01-24 00:45:46 +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
053c897056
ui: Added ImHex logo to about page
2022-01-23 20:46:19 +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
e756c9d46f
fix: Jumping to bytes would move view to wrong offset
2022-01-20 23:50:57 +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