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

192 Commits

Author SHA1 Message Date
RADICS Áron
a6b8597f5a
Fix CRC and hash calculations (#321)
* Fix CRC calculation, add more CRC parameters

Use the Boost CRC module to calculate the CRC values.
Add options for final xor value, reflectIn and reflectOut.
Fixes #320

* Cleanup Hash view combo box, add CRC8

* Use offset/size consistently

* Cleanup: unify processing data by chunks

* Change CRC algorithm back, drop boost dependency

This is mostly the original algorithm, with a few fixes and small
additions (support for reflect In / Out, final XOR value).

* Use size_t for file read size consistently
2021-10-26 17:21:48 +02:00
WerWolv
d6f9ec3f8f tests: Improved pattern unit tests 2021-10-20 11:06:24 +02:00
WerWolv
9ccfadfb54 sys: Fixed uninitialized variable 2021-10-20 10:35:26 +02:00
WerWolv
6408741733 sys: Fixed changeEndianess function being completely broken for non-integers 2021-10-20 10:04:52 +02:00
WerWolv
1b66c84303 patterns: Fixed [[name]] attribute setting variable name instead of display name 2021-10-18 09:57:26 +02:00
WerWolv
9b1c09818c patterns: Fixed accessing global scope items through the parent keyword 2021-10-17 21:49:33 +02:00
WerWolv
46ba46ce9d
build/plugins: Added initial support for Rust plugins (#327)
* build: Added initial support for Rust plugins

* github: Install correct rust version

* github: Fixed rustup command

* github: Fix swapped win/linux commands

* github: Install linux rust toolchain on Linux

* github: Add rustup parameters to correct command

* build: libimhex-rust -> hex

* rust-plugins: Disable optimization to export functions correctly

* build: Use cdylib instead of dylib

* build: Fixed rust building and artifact copying

* build: Fixed installing plugins

* build: Fix copying and installing on Windows

* github: Added windows debugging

* github: Use curl instead of wget

* github: Added debug on failure

* github: Update path variable with rust toolchain path

* build/github: Set rust location so cmake can find it

* build: Remove leftovers

* api: Added rust wrappers for the ImHexAPI

* rust: Fixed compile flags with older gcc/clang

* build: Enable concepts for cxx.rs

* build: Explicitly set compiler for cxx.rs

* rust: Added imgui-rs to libimhex-rust

* rust: Export functions with double underscore prefix on mac

* rust: Export functions adjusted for ABI

* Add Rust target folder to gitignore

* Add vendored imgui-rs copy

* Add Context::current() to vendored imgui-rs

* Fix libimhex not exporting cimgui symbols

* Simplify plugin export mangling

* build: Fixed cimgui linking

* build: Only specify --export-all-symbols on Windows

* Add context setting to Rust plugins

* rust: Cleanup

* deps: Update curl

Co-authored-by: jam1garner <8260240+jam1garner@users.noreply.github.com>
2021-10-16 11:37:29 +02:00
WerWolv
3e5d6cf88c patterns: Added padding expressions in bitfields.
Closes #326
2021-10-14 20:28:21 +02:00
WerWolv
b12cd66679 patterns: Make global scope available for use in custom types 2021-10-11 22:01:15 +02:00
WerWolv
aac1a37a3f patterns: Limit number of characters displayed in a string pattern 2021-10-11 20:59:14 +02:00
WerWolv
ec9715f326 patterns: Added for loops 2021-10-10 13:47:48 +02:00
WerWolv
69ca14bf46 patterns: Allow function variables to be assigned immediately 2021-10-10 13:05:32 +02:00
WerWolv
0226f3d047 patterns: Fixed color attribute taking BGR instead of RGB 2021-10-09 23:38:00 +02:00
Kuruyia
72ec6baf79
sys: Fix macOS compilation (as of 2dc1886) (#317)
* sys: Updated curl to latest version

* sys: Fix macOS compilation

* ui: Fix splash screen OpenGL init for macOS

* sys: Fix std::min compile errors

* git: Re-enabled macos workflow

* sys: Remove includes of the range library

* build: Find OpenGL using CMake

* sys/build: Fix bundled plugins on macOS

* build: Copy plugins to bundle when creating a bundle

* build: Fixup bundled plugins

* sys: Search for plugins in the bundle instead of in Application Support

* sys: Allow resources to be placed in multiple directories on macOS

* build: Output built plugins to the plugins/ directory when not creating a bundle on macOS

* sys: Fix Application Support paths on macOS

* sys: Define ftruncate64 on macOS

* sys: Fix absolute value computation for std::string::at on macOS

Co-authored-by: WerWolv <werwolv98@gmail.com>
2021-10-09 23:07:58 +02:00
WerWolv
2dc1886ee9 patterns: Fixed wrong offsets when passing custom types to functions 2021-10-08 21:39:30 +02:00
WerWolv
7498a72f70 patterns: Fixed null bytes being included in read strings 2021-10-07 21:47:39 +02:00
WerWolv
6d8b7bef09 patterns: Added button to abort evaluation 2021-10-07 11:34:46 +02:00
WerWolv
3e30f75e7b patterns: Fixed endian pragma not working 2021-10-06 15:19:32 +02:00
WerWolv
e3a6ac548b pattern: Make current data offset in attributes point to start address of pattern 2021-10-05 21:55:30 +02:00
WerWolv
4b9aff5b29 patterns: Allow str to be used in function bodies 2021-10-04 20:26:34 +02:00
WerWolv
3543fa4caa patterns: Fixed pattern limitting dangling pointer 2021-10-03 23:07:33 +02:00
WerWolv
51a98736e8 tests: Fixed compile errors 2021-10-03 12:32:58 +02:00
WerWolv
12a8cadcfe patterns: Limit max number of patterns
Can be overriden with the pattern_limit pragma
Further improves situation with #313
2021-10-02 15:22:38 +02:00
WerWolv
a9e3db0464 patterns: Fixed inlined variable drawing 2021-09-29 20:51:57 +02:00
WerWolv
d5ca4c4f28 patterns: Fixed pointer name displaying 2021-09-27 20:16:23 +02:00
WerWolv
08c2e1cd4e patterns: Added [[transform]] and [[pointer_base]] attributes 2021-09-27 18:32:48 +02:00
WerWolv
888976873a patterns: Added [[inline]] attribute 2021-09-27 13:31:10 +02:00
WerWolv
5db608c3fc ui: Fixed automatic pattern loading, added better pattern browse popup 2021-09-26 21:18:25 +02:00
WerWolv
7da8a5b1d8 patterns: Unified expression body parsing 2021-09-26 18:27:18 +02:00
WerWolv
ae9f4fa876 patterns: Increased highlighting performance 2021-09-26 02:23:27 +02:00
WerWolv
aab865fe25 patterns: Fix member access inside if body 2021-09-26 02:22:50 +02:00
WerWolv
62656f4c51 tests: Added pointer test 2021-09-25 23:31:37 +02:00
WerWolv
b323d711cf patterns: Respect endianess when accessing rvalues 2021-09-25 22:46:16 +02:00
WerWolv
9b4cf917d9 patterns: Fixed recursive types 2021-09-25 22:03:55 +02:00
WerWolv
ba97573f93 patterns: Fixed pointers not working correctly 2021-09-25 18:45:23 +02:00
WerWolv
a8526585cb patterns: Fixed string access 2021-09-25 14:52:34 +02:00
WerWolv
3850349eae patterns: Fixed enum entry scope resolution 2021-09-25 14:52:17 +02:00
WerWolv
71be77c54b patterns: Fix boolean operations and cast syntax 2021-09-24 12:15:50 +02:00
WerWolv
93c1fbd65e patterns: Fixed function parameters being set in the wrong order 2021-09-24 11:34:06 +02:00
WerWolv
2edd6cd6c4 patterns: Added inheritance for structs 2021-09-24 00:47:34 +02:00
WerWolv
6713f65040 patterns: Added auto type 2021-09-23 23:43:16 +02:00
WerWolv
e57481b87c tools: Added file shredder, splitter and combiner 2021-09-22 17:56:06 +02:00
WerWolv
755642862f patterns: Added recursion and array size limit pragma 2021-09-22 00:45:04 +02:00
WerWolv
d1c05174b6 patterns: Allow casting integers to str 2021-09-21 23:45:45 +02:00
WerWolv
c051f5d3e7
patterns: Rewrite evaluation engine (#306)
* patterns: Rewrite most of the evaluator to mainly use polymorphism instead of just RTTI

* patterns: Fixed a couple of AST memory leaks

* patterns: Parse string operations correctly

* patterns: Various fixes and cleanup

* patterns: Implement primitive function definitions

Function parameters now need to provide their type in the definition

* patterns: Added function variable definition and assignment

* patterns: Added remaining function statements

* patterns: Added unsized and while-sized arrays

* patterns: Added multi variable declarations to functions

* patterns: Added std::format built-in function

* patterns: Allow passing custom types to functions

* patterns: Added attributes and new "format" attribute

* patterns: Use libfmt for std::print instead of custom version

* patterns: Remove unnecessary string compare function

* pattern: Fix preprocessor directives

* patterns: Fix unit tests

* patterns: Added cast expression

* patterns: Handle endianess in function parameters

* patterns: Added casting to different endian

* patterns: Added 'str' type for functions
2021-09-21 21:29:18 +02:00
WerWolv
ed9e463550 ui: Added diff view 2021-09-21 19:54:13 +02:00
WerWolv
26a0352851 tests: Fixed unit test compiling 2021-09-21 02:48:41 +02:00
WerWolv
8631cb0c2a sys: Allow multiple files to be loaded simultaneously 2021-09-21 02:29:54 +02:00
WerWolv
fef072f721 ui: Moved hex editor settings to settings menu 2021-09-20 23:40:36 +02:00
WerWolv
c5cd6422c6 fix: Settings menu closing when changing language 2021-09-20 20:42:30 +02:00