WerWolv
012b82c395
fix: Crash on exit due to bug in libromfs
2022-01-15 02:46:24 +01:00
WerWolv
23190e1f87
build: Fixed cmake policy warnings for capstone
2022-01-15 01:20:59 +01:00
WerWolv
d8219ad971
build: Cleaned up cmake build structure ( #399 )
...
* build: Cleanup build process, move main application to /main folder
* build: Try fixing MacOS bundling
* build: Fixed swapped parameters
* build: One imhex -> main too much
* build: Move resources to a better location
* build: Try to fix macos bundle creation
* build: More bundle fixes
* build: Fixed syntax
* build: Another try
* build: Added macos debugging stuff
* build: Fix bundle path
* build: Removed duplicated adding of Frameworks folder to rpath
* build: Removed debugging
2022-01-15 00:14:12 +01:00
WerWolv
0864d582a2
build: Update curl
2022-01-13 21:30:42 +01:00
WerWolv
3f936b57f5
sys: Added a bunch of logging
2022-01-13 14:34:27 +01:00
WerWolv
54785b29dd
api: Moved file extension handling to plugin and added API
2022-01-13 14:34:19 +01:00
WerWolv
c88d428fb5
sys: std::filesystem -> fs
2022-01-13 14:33:30 +01:00
WerWolv
27c08c1edf
fix: SSL verification being broken due to a off-by-one error
2022-01-13 09:05:16 +01:00
WerWolv
1f8c9b9f71
api: Move copy-as data formatting code to builtin-plugin, add api for it
2022-01-13 00:27:31 +01:00
WerWolv
f6e4d56de6
patterns: Fixed [[static]] attribute and majorly reduced memory usage
...
Fixes #394
2022-01-12 22:02:47 +01:00
WerWolv
0d02af3cf0
patterns: Fixed arrays overriding the color of all its entries
2022-01-12 12:51:29 +01:00
WerWolv
a7a57e2bd0
patterns: Fixed local variable truncation
2022-01-12 11:59:08 +01:00
WerWolv
25df658653
fix: ImHex directories not being created correctly
2022-01-12 09:02:03 +01:00
WerWolv
6b20a9bdd5
patterns: Fix local variables holding larger values than allowed
2022-01-12 08:59:14 +01:00
WerWolv
d399a6427a
sys: Use custom literals for scaled values
2022-01-11 23:48:18 +01:00
WerWolv
2f1a707fd3
ui: Improve layout of hex editor footer
2022-01-11 23:05:02 +01:00
WerWolv
cbfe52c756
patterns/ui: Limit displaying of array entries to 50 with option to double click last entry for more
2022-01-11 22:38:50 +01:00
WerWolv
3c1f0057ae
patterns: Improve PatternData size as much as possible
2022-01-11 22:38:04 +01:00
WerWolv
b9034523b5
patterns: Allow [[format]] attribute to work with custom types
2022-01-11 19:35:28 +01:00
WerWolv
dc064008f3
build: Fix use of libromfs in plugin templates
2022-01-10 22:06:37 +01:00
WerWolv
652896bd3a
lang: Added missing translation
2022-01-10 21:44:42 +01:00
WerWolv
1fe6dc4c6e
fix: Occasional crash when disassembling files
2022-01-10 21:38:52 +01:00
WerWolv
e35ea13f60
sys: Improved view const-correctness
2022-01-10 21:05:37 +01:00
WerWolv
e1fb0a5d72
ui: Fixed settings window being huge
2022-01-10 21:05:18 +01:00
WerWolv
e204ef629f
patterns: Fixed passing structs to functions as argument
...
Fixes #385
2022-01-10 20:02:18 +01:00
WerWolv
d2704242f2
patterns: Fixed pointer_base
attribute
...
Hopefully takes care of #367
2022-01-10 00:40:34 +01:00
WerWolv
6ada7885b1
fix: Opening files as read-only if user doesn't have permissions
2022-01-09 21:57:43 +01:00
WerWolv
d38d261bbc
provider: Fixed applying of IPS patches. Handle applying asynchronously
2022-01-09 21:27:59 +01:00
WerWolv
4e636381fd
fix: Magic and EOF value for IPS and IPS32 patches not getting added properly
2022-01-09 20:16:05 +01:00
draftshade
fe04d05c28
sys: Add functionality to clear recent files ( #395 )
...
* sys: Add functionality to clear recent files
* sys: Remove clear recent files from welcome window
2022-01-08 23:17:47 +01:00
WerWolv
f45cc3fc73
patterns: Potentially fix issues with nested pointers with custom base addresses
...
Closes #367
2021-12-31 11:05:02 +01:00
WerWolv
490eaef5c1
patterns: Fixed color attribute not working correctly for arrays and structs
...
Fixes #388
2021-12-31 11:01:22 +01:00
WerWolv
077bc45b7d
fix: Many format string warnings on MacOS and some Linux distros
2021-12-31 01:10:06 +01:00
WerWolv
0884025b82
patterns: Added continue and break statements to arrays of structs
2021-12-30 18:31:24 +01:00
WerWolv
3ce0f8f4a8
patterns: Added break and continue statements for loops
2021-12-30 14:44:46 +01:00
WerWolv
c76bfceb3e
fix: Compile issue on MacOS because Apple's just using fucking outdated stuff
2021-12-23 16:09:29 +01:00
WerWolv
7c2e060a5f
fix: Provider reading from invalid addresses on later pages
...
This fixes #384
2021-12-23 15:57:22 +01:00
WerWolv
936d1d6072
sys: Moved to a better shortcut handling system
2021-12-23 15:11:38 +01:00
WerWolv
85f276c259
resources: Start using libromfs to embed resources
2021-12-22 15:06:16 +01:00
qxxxb
28e51309cc
Fix saving files ( #382 )
2021-12-22 13:36:26 +01:00
WerWolv
c1bb407b34
ui: Make diff hex view more consistent with the normal hex editor view
...
Fixes #381 . Thanks a lot to @qxxxb
2021-12-22 13:33:22 +01:00
qxxxb
b047fc0063
Store environment variables and use on restart ( #380 )
...
- Fixes WerWolv/ImHex#373
2021-12-22 13:16:51 +01:00
WerWolv
78f6ef464a
ui: Improved look and feel of some tool entries
2021-12-20 22:04:10 +01:00
WerWolv
b3906e770f
sys: Fixed Windows TTY COM Port view
2021-12-20 21:50:59 +01:00
WerWolv
e11a5d0d44
ui: Added link to discord server to welcome page
2021-12-20 21:38:52 +01:00
WerWolv
ad223a4e5c
sys: Refactor pattern language api functions a bit
2021-12-20 20:40:28 +01:00
WerWolv
376cb01a16
patterns: Disallow calling of dangerous functions by default
...
Closes #330
2021-12-19 12:32:15 +01:00
WerWolv
0efb226c2f
patterns: Make std::env return an empty string and throw a warning if env var doesn't exist
2021-12-18 23:38:16 +01:00
WerWolv
ea92e17ca0
patterns: Added basic support for in/out variables
2021-12-18 22:56:36 +01:00
WerWolv
c56408640f
build: Don't try to do anything with windows plugin on Unix
2021-12-17 09:56:46 +01:00
WerWolv
bc53109a1f
sys: Added timeout setting to curl code. Make splash screen not hang as long
2021-12-17 09:52:58 +01:00
WerWolv
b082a28cc4
build: Mark libraries as PIC properly
2021-12-17 09:52:11 +01:00
WerWolv
891cc42f08
ui: Added global running tasks progress bar
2021-12-16 23:48:52 +01:00
WerWolv
fe1ab12fec
build: Enable fPIC for libcapstone
2021-12-16 12:48:36 +01:00
WerWolv
b17808c6c7
build: Completely get rid of system capstone
2021-12-16 12:37:22 +01:00
WerWolv
6b22464771
fix: Loading a project crashes imhex
2021-12-16 10:07:31 +01:00
WerWolv
1770235648
build: Build and statically link capstone to work around Ubuntu issues
...
Sigh...
2021-12-15 23:28:47 +01:00
WerWolv
f325d50ab8
yara: Actually fixed reading data
2021-12-15 22:52:35 +01:00
WerWolv
7d0d8d5649
yara: Fix address offset after the first page of data
2021-12-15 21:13:45 +01:00
WerWolv
23085aee6d
fix: Heap(?) corruption when one of ImHex's resource paths points to a file instead of a directory
2021-12-15 00:21:34 +01:00
WerWolv
0ee4b1e336
build: Link mbedtls to libyara
2021-12-14 21:27:15 +01:00
WerWolv
78b3f5aef1
build: Link libraries to relevant projects
2021-12-14 20:16:59 +01:00
WerWolv
e25d98ef63
provider: Fixed opening zero sized files
2021-12-14 20:16:00 +01:00
WerWolv
51474b2eae
ui: Added icon to footer when ImHex has elevated permissions
2021-12-13 22:58:23 +01:00
WerWolv
9bf9788689
fix: Error when opening a file
2021-12-12 21:46:48 +01:00
WerWolv
b372d20ab0
fix: Missing includes on Linux and Mac
2021-12-12 13:42:01 +01:00
WerWolv
d1ce8a5f9b
ui: Fix size of settings window
2021-12-12 13:35:23 +01:00
WerWolv
41ce0f57ed
ui: Improved About page, removed super outdated cheat sheets
2021-12-12 13:35:07 +01:00
WerWolv
1a0b0e2385
provider: Automatically load available disks on windows
2021-12-12 11:56:26 +01:00
WerWolv
443dedd832
ui/lang: Improved localization and interface glitches of GDB provider ui
2021-12-12 11:55:38 +01:00
WerWolv
caf9ee0c58
ux: Added "Open Other" option to open other providers to File menu
2021-12-12 11:53:56 +01:00
WerWolv
b2a9965617
api: Improved Provider registering api, hide implementation functions better
2021-12-12 11:52:58 +01:00
WerWolv
883207bc6b
fix: Compile on MacOS
2021-12-12 01:06:24 +01:00
WerWolv
15e38e1012
ux: Added save pattern option to File menu
2021-12-12 00:52:54 +01:00
WerWolv
8a36897fd9
provider: Added raw disk provider
2021-12-12 00:42:12 +01:00
WerWolv
3e736b36b6
api: Refactored providers to allow for loading interfaces and config views
2021-12-12 00:41:44 +01:00
WerWolv
2e90abd2c5
patterns: Fix indexing of static arrays
2021-12-10 18:53:19 +01:00
WerWolv
fb99674217
lang: Added missing localization, changed pattern editor lang keys
2021-12-10 18:00:43 +01:00
WerWolv
e3106eaa2a
ux: Use native APIs to open websites to prevent terminal from appearing
2021-12-10 16:10:34 +01:00
WerWolv
8f2e382c8a
patterns: Added std::env and ability to pass parameters to patterns from the UI
2021-12-10 11:55:27 +01:00
WerWolv
6a0ad22774
fix: Inconsistent provider address reading
2021-12-09 21:10:24 +01:00
WerWolv
2ac6348fbf
ui: Welcome screen, GDB Provider and memory editor ui fixes
2021-12-08 22:18:59 +01:00
WerWolv
ea4f4c45cb
sys: std::jthread -> std::thread to support libc++
2021-12-07 23:36:28 +01:00
WerWolv
808b051a3e
sys: Fixed sockets compiling on MacOS
2021-12-07 23:21:07 +01:00
WerWolv
c55146a78c
sys: Fix sockets compiling on Unix
2021-12-07 23:09:30 +01:00
WerWolv
cc5a437573
provider: Added basic GDB Server provider
2021-12-07 22:47:57 +01:00
WerWolv
4a53717676
sys: Moved all views to builtin plugin
2021-12-07 22:47:41 +01:00
WerWolv
c2d1589e74
patterns: Fixed variable access inside pointer pattern yielding invalid results
2021-12-05 21:54:09 +01:00
WerWolv
e720b61df6
patterns: Fix casts unexpectedly increasing cursor position
2021-12-03 16:06:40 +01:00
WerWolv
19b80a1c2d
build: Who is that?
2021-12-03 09:24:41 +01:00
WerWolv
a000b1a2fe
common: Added missing include
2021-12-03 00:00:25 +01:00
qdlmcfresh
0da31b6bbb
ui: Add result count to string view ( #353 )
...
* Add result count to string view
* Localization
* formating and logic fix
2021-11-30 21:02:37 +01:00
WerWolv
9340c8aae3
patterns: Fixed placed signed integers not being sign extended correctly
2021-11-27 14:34:59 +01:00
WerWolv
9158d79126
patterns: Don't display strings with zero length. Fixes crash
2021-11-27 14:02:14 +01:00
WerWolv
ded452fdfc
patterns: Allow functions to be called inside structs
2021-11-27 12:57:59 +01:00
RADICS Áron
467e9d1463
Tests for the CRC and hash algorithms ( #335 )
...
* Update TEST_ASSERT to do nothing if condition is true
The TEST_ASSERT should not return if the condition is true, because:
- it prevents the usage of multiple TEST_ASSERT in a single test case,
- that behavior differs from how the assert in the standard library
works, and thus may give unexpected results.
Make the TEST_ASSERT to print an error message (with an formatted
optional user part) when it fails to make debugging easier.
* Fix some bugs in TestProvider, add unit tests
Use pointer-to-vector in TestProvider so writes can be tested, too.
* Add test EncodeDecode16, fix some encode16 bugs
The function mbedtls_mpi_write_string needs a bit longer buffer than the
resulting string actually will be.
Known bug: mbedtls_mpi_read_binary ingores initial null bytes
* Add test EncodeDecode64, fix some bugs
The functions mbedtls_base64_encode and mbedtls_base64_decode needs a
bit longer buffer than the resulting string actually will be.
* Remove check for empty data from TestProvider
It can be valid to get the hash of empty string.
* Add tests for CRC calculation
Two type of thests:
- compare the result of the CRC calculation to a known to be good
results,
- generate random data as message, calculate of it's CRC and append that
to the message, the CRC of this new data should be 0.
* Add test for hash algorithms
* Add includes in tests
* Remove the use of C++20 ranges
It seems that Apple Clang does not support range-based constrained
algorithms at this time.
* Replace encode16 implementation
To encode the zero bytes at the begining of the input vector, too.
2021-11-26 22:14:44 +01:00
qdlmcfresh
372908ba9d
add regex filter in string view ( #345 )
...
* Filter by regex in string view
* Dont recompile the regex for every string, display error message
* localization
* Use data->Buf for pattern creation / searching
The filter string seems to get updated after the callback finished.
Therefore the search string was always 1 character behind the actual
string in the textfield when calling find() / creating the regex.
2021-11-25 08:46:42 +01:00
WerWolv
aa527ba29b
patterns: Fixed double free crash
2021-11-21 00:48:07 +01:00
xtex
9e808f3ecd
Update zh_CN.cpp ( #343 )
2021-11-12 13:10:48 +01:00
qdlmcfresh
2e3c43ad9e
Fix buffer sizes of PatternDataString16 ( #339 )
2021-11-11 13:24:01 +01:00
WerWolv
594a6c1c0f
patterns: Remove null bytes before displaying/printing string patterns
2021-11-10 14:45:26 +01:00
WerWolv
434de44ef5
yara: Added support for displaying variable names
2021-11-04 20:41:56 +01:00
WerWolv
1c1396bf4b
patterns: Added ability to format patterns as strings.
...
This adds support for printing char16 strings
2021-11-04 20:41:56 +01:00
WerWolv
673d43b526
sys: Fixed copy-paste error
2021-10-31 16:36:45 +01:00
WerWolv
c88053a575
windows: Added context menu entry option
...
Closes #333
2021-10-31 16:28:10 +01:00
WerWolv
1f250e87a3
patterns: Added support for changing pointer endian
2021-10-31 15:20:19 +01:00
WerWolv
cd89b55f5b
patterns: ASTNode and LogConsole cleanup
2021-10-31 15:06:48 +01:00
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
c95e12c136
ui: Increased maximum FPS limit to 200FPS, added unlocked FPS setting
...
Closes #329
2021-10-23 12:59:13 +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
8b6de30e92
ui: Fixed invalid call to ImGui::EndChild causing crashes sometimes
2021-10-20 10:05:20 +02:00
WerWolv
6408741733
sys: Fixed changeEndianess function being completely broken for non-integers
2021-10-20 10:04:52 +02:00
WerWolv
7562e8b172
patterns: Fixed #include not properly searching all include folders
2021-10-19 21:42:04 +02:00
WerWolv
929437c159
patterns: Added global variables
2021-10-19 18:33:59 +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
140234aef3
patterns: Fixed using declaration parsing
2021-10-10 15:38:58 +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
a29e3789d2
patterns: If a main function exists, automatically call it
2021-10-08 18:47:05 +02:00
xtex
17db605b17
i18n: Chinese(Simplified) ( #316 )
...
* i18n: Chinese(Simplified)
* i18n: Chinese(Simplified)
fix: half-width symbol
* i18n: Chinese(Simplified)
2021-10-08 13:26:14 +02:00
WerWolv
7498a72f70
patterns: Fixed null bytes being included in read strings
2021-10-07 21:47:39 +02:00
WerWolv
241bbd80bc
ui: Fixed pattern data view lang name overlap
2021-10-07 20:34:18 +02:00
WerWolv
2e05845410
ui: Improved command palette
2021-10-07 16:25:59 +02:00
WerWolv
a67263fa27
patterns: Added basic file i/o functions
2021-10-07 14:49:49 +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
7eb4b40dc7
patterns: Fixed multi-variable decl crash
2021-10-05 22:08:05 +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
044e65eb20
sys: Fixed non-existing files being created in Read mode
2021-10-05 18:47:10 +02:00
WerWolv
545604da63
sys: Fixed reading empty file as string crashing
2021-10-05 18:46:57 +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
aef959854f
patterns: Correctly reset data offset each evaluation
...
Fixes a bug mentioned in #313
2021-10-02 13:41:56 +02:00
WerWolv
d3e3de3fa2
ux: Improved dropped file loading; Added magic db loading
2021-09-30 12:29:03 +02:00
WerWolv
194bc3e5be
settings: Add option for auto-loading patterns
2021-09-30 12:00:11 +02:00
WerWolv
a9e3db0464
patterns: Fixed inlined variable drawing
2021-09-29 20:51:57 +02:00
WerWolv
7978964995
ui: Centered "No bookmarks" text
2021-09-27 23:19:41 +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
e3dd5900e2
patterns: Added parse_int and parse_float functions
2021-09-26 02:23:10 +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
9dc62e1469
patterns: Added std::http::get
2021-09-25 16:24:08 +02:00
WerWolv
55c0cb66e3
patterns: Ignore comments inside strings
2021-09-25 16:23:51 +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
f5bd0b7971
patterns: Moved std::str to std::string
2021-09-25 00:04:54 +02:00
WerWolv
42d9753bdb
patterns: Fixed std::str::substr
2021-09-25 00:04:40 +02:00
WerWolv
17d5a5309a
patterns: Fixed setting variables in functions
2021-09-25 00:03:32 +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
3c2c2b003f
patterns: Fixed unary expressions in parenthesis
2021-09-24 01:55:00 +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
d9134f7fe1
store: Added support for downloading tar'd folders
2021-09-23 22:56:49 +02:00
KokaKiwi
ee26839292
build: Fix system libraries usage ( #308 )
...
Signed-off-by: KokaKiwi <kokakiwi+git@kokakiwi.net>
2021-09-23 22:01:38 +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
85b8698e35
patterns: Add std::mem::read_string
2021-09-21 23:29:30 +02:00
WerWolv
9dd555f111
build: Added minimum library versions to cmake
2021-09-21 22:21:43 +02:00
WerWolv
7df1ff07a7
lang: Added diffing view localization
2021-09-21 22:06:30 +02:00
xtex
eb779c5986
i18n: more zh_CN, fix: crashes when connecting with no COM port, feat: remove View
suffix for view menu ( #305 )
...
* fix: crashes when connecting with no COM port
* feat: remove `View` suffix for view menu
* i18n: add more to Chinese(Simplified)
* Revert "Merge branch 'master' of github.com:xtexChooser/ImHex"
This reverts commit 8afcfe8f9d
, reversing
changes made to 7651ad6661
.
2021-09-21 21:30:52 +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
a7ebf1f60e
build: Adjust old file name in cmake
2021-09-21 03:20:17 +02:00
WerWolv
6ab0ec547c
ui: Make footer items jump around less
2021-09-21 03:10:09 +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
a302448b76
tools: Fixed regex replacer
2021-09-20 23:50:37 +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
xtex
5edc0b876c
i18n: Chinese(Simplified) ( #303 )
...
* feat(i18n): add Chinese(Simplified) translations
* feat: keep console window on Windows for debug builds
* feat(18n)
* feat(i18n): improve Chinese translation
* fix: unify the line terminators
* feat(build): formatting
* fix: exclude from SysWow64 for 64bits windows
* Revert "fix: exclude from SysWow64 for 64bits windows"
This reverts commit a6d66a4a56
.
* Revert "feat: keep console window on Windows for debug builds"
This reverts commit 9fd4699c9f
.
2021-09-20 18:41:22 +02:00
WerWolv
131699d309
ui: Fixed language list crashing
2021-09-20 12:44:12 +02:00
WerWolv
bf493c5763
ui: Add follow system theme option
2021-09-16 22:23:51 +02:00
WerWolv
d3fb00d441
sys: Allow resources to be placed in appdata on windows
2021-09-13 23:55:50 +02:00
WerWolv
01670e5e85
patterns: Ignore superfluous semicolons
2021-09-13 10:48:45 +02:00
WerWolv
82cc528c49
api: Fix loading of string array settings (Recent files)
2021-09-12 20:29:05 +02:00
WerWolv
1df64031c8
patterns: Fix bitfield member access
2021-09-12 20:29:05 +02:00
WerWolv
ea2d181741
utils: Fix file wrapper
2021-09-12 20:29:05 +02:00
WerWolv
132fc181cd
patterns: Fix bitfields with unaligned sizes
...
Correction for #292
2021-09-12 14:28:13 +02:00
WerWolv
987840e480
sys: Fixed settings not initializing correctly
2021-09-12 13:59:23 +02:00
WerWolv
86096708da
patterns: Fixed bitfields not respecting endian setting
...
Various other improvements. Fixes #292
2021-09-12 13:08:52 +02:00
WerWolv
635f0606e0
patterns: Fixed enums not counting properly
2021-09-11 23:14:22 +02:00
WerWolv
8396e40fa0
tests: Added initial test structure
2021-09-11 14:41:18 +02:00
WerWolv
a5274daeaa
patterns: Fixed padding not padding
2021-09-10 22:12:37 +02:00
WerWolv
36f51c427b
ui: Added "Quit ImHex" option to File menu
2021-09-10 21:48:51 +02:00
WerWolv
b3d102419b
sys: Fixed opening custom protocols in the web browser
2021-09-10 21:42:35 +02:00
WerWolv
f96e529230
patterns: Fixed parent keyword
2021-09-10 21:00:18 +02:00
WerWolv
717f78ce7f
patterns: Fix negative array sizes causing crashes
2021-09-10 17:33:02 +02:00
WerWolv
31ef6173a1
lang: Updated Italian translation. Thanks to @CrustySean
2021-09-10 15:30:49 +02:00
WerWolv
f0697679f4
sys: Add local search for plugins and resources on Linux
2021-09-10 15:30:49 +02:00
WerWolv
8657cf26de
fix: Data inspector causing crashes when failing to decode UTF-16 chars
2021-09-10 15:30:49 +02:00
WerWolv
1a9e3944dc
patterns: snake_case all built-in functions
2021-09-09 23:18:10 +02:00
WerWolv
1da2ca1eb8
ui: Added ImHex's official documentation to help menu and welcome screen
2021-09-09 23:17:55 +02:00
WerWolv
ccac2e497d
sys: Finish implementing constants view and its store
2021-09-09 12:58:44 +02:00
WerWolv
a1d9794c0e
lang: Correct spelling mistakes. Thanks to @friedkeenan
2021-09-09 10:22:58 +02:00
WerWolv
6ee8c37cf5
ui: Fixed duplicate store localization ids
2021-09-09 02:03:39 +02:00
WerWolv
a8c9e96b72
fix: Inverted logic when checking for libmagic error
2021-09-09 01:56:48 +02:00
WerWolv
4cc637c0b2
sys: Finish up the online store
2021-09-08 17:22:54 +02:00
WerWolv
4b41ae6980
sys: Include correct file for size_t
2021-09-08 16:41:00 +02:00
WerWolv
e74c0f5cf5
sys: Tons of long overdue cleanup
...
- std::string -> const std::string& where needed
- Added a FileIO abstraction class
- Fixed recent files not updating
- Removed localization file from global include
- Renamed lang to pattern_language/pl
- Renamed EventFileDropped to RequestFileOpen
2021-09-08 15:18:24 +02:00
WerWolv
d7707bae62
fix: Multiple definitions of literals
2021-09-06 23:08:02 +02:00
WerWolv
ee7c6a91a7
patterns: Add optimization for arrays of statically sized types
2021-09-06 20:35:38 +02:00
WerWolv
6879cf765f
sys: Cleanup libmagic mess
2021-09-06 16:15:05 +02:00
WerWolv
f29febdc86
patterns: Fix unions causing crashes on cleanup
2021-09-03 10:30:40 +02:00
WerWolv
4b40546750
views: Add simple pattern, library and magics store
2021-09-03 02:34:40 +02:00
WerWolv
fcfaaacdcc
patterns: Fix enum constant resolution
2021-09-03 02:33:45 +02:00
WerWolv
68d72eac16
sys: Move imhex path resolution away from utils
2021-09-03 02:33:15 +02:00
WerWolv
19c367b540
ui: Added strings to data inspector
2021-09-01 02:01:50 +02:00
WerWolv
82cb7917e4
ui: Added half floats to data inspector
2021-09-01 00:23:45 +02:00
WerWolv
5d4b998be4
sys: Added missing optional header include
2021-08-31 20:03:08 +02:00
WerWolv
5f63db4a34
ui: Add first unifont plane by default
2021-08-31 15:22:00 +02:00
WerWolv
32eddbf581
ui: Fix wide characters and utf-8 display in inspector
2021-08-30 19:12:46 +02:00
WerWolv
ef9f0cfca7
sys: Fixed broken concept
2021-08-30 19:12:19 +02:00
WerWolv
633fa7213a
sys: More compile time improvements
2021-08-29 22:15:18 +02:00
WerWolv
02d31d2d2a
sys: First attempt at reducing build times
2021-08-29 14:18:45 +02:00
WerWolv
f60f9f9fc9
patterns: Fix endian settings not applying to char16
2021-08-29 11:10:48 +02:00
WerWolv
7285537d73
tools: Various fixes and improvements
2021-08-28 18:15:47 +02:00
WerWolv
12f975fa70
tools: Added input buttons to the calculator
2021-08-28 18:15:20 +02:00
WerWolv
c1751f39ae
tools: Added wikipedia term definition search
2021-08-28 16:02:53 +02:00
WerWolv
3138d2c4a2
tools: Added Anonfiles uploader
2021-08-28 00:45:59 +02:00
WerWolv
c56159da89
sys: Only restart ImHex when a relevant setting changed
2021-08-27 09:57:03 +02:00
WerWolv
d0aec62997
patterns: Move builtin functions to namespace. Add string functions
2021-08-27 09:56:20 +02:00
WerWolv
b7003d499c
patterns: Fix function parsing
2021-08-27 09:54:34 +02:00
jam1garner
76f550d9e7
ui: Format floats sensibly ( #281 )
...
* Use general form with scientific notation as fallback (i.e. `{:G}`)
2021-08-25 20:01:01 +02:00
WerWolv
c053d54d10
patterns: Add multi-variable declarations
2021-08-25 17:54:47 +02:00
WerWolv
9289ebf4c9
patterns: Initial namespace support
2021-08-25 17:07:01 +02:00
WerWolv
4ea6f61c52
lang: Added run command localization
2021-08-22 22:11:36 +02:00
WerWolv
d3a227d0bc
sys: Fixed open webpage command, added run command
2021-08-22 21:43:31 +02:00
WerWolv
c84c106b17
ui: Add tips of the day
2021-08-22 21:11:01 +02:00
WerWolv
66f94a452d
net: Fix SSL verification with curl
...
This fixes update detection
2021-08-22 20:22:46 +02:00
WerWolv
6e0249d6ea
sys: Bye bye glad
2021-08-21 15:03:44 +02:00
WerWolv
72cf94106c
ui: Add interface scaling setting. Closes #7 , #283
2021-08-21 13:55:21 +02:00
WerWolv
8ad0239bca
ui/ux: Implement toolbar button functions
2021-08-21 13:53:50 +02:00
WerWolv
37d2d58d2f
ui: Added toolbar
2021-08-21 00:52:11 +02:00
WerWolv
0f45bef980
sys: Update ImGui and ImPlot
2021-08-21 00:51:50 +02:00
WerWolv
63f4d553cc
ui: Add tooltips to custom titlebar buttons
2021-08-18 23:12:27 +02:00
WerWolv
b66304fc91
ui: Use borderless window on Windows
2021-08-18 22:36:46 +02:00
WerWolv
48f27c2174
sys: Added "Restore auto backup" popup on first launch after crash
2021-08-17 22:54:09 +02:00
WerWolv
f9f67d3bcd
sys: More mac os compile fixes
2021-08-17 21:55:06 +02:00
WerWolv
2ac1a58d5e
sys: Fix resource embedding on macos
2021-08-17 18:24:15 +02:00
WerWolv
a53cfaa63a
sys: Make crypto wrapper compatible with mbedtls 2 and 3
2021-08-17 17:28:33 +02:00
WerWolv
4d677f430b
sys: Save project backup if ImHex crashes
2021-08-17 13:41:44 +02:00
WerWolv
41db0bfafa
ui: Fixed welcome screen banner and hyperlink rendering
2021-08-16 23:55:06 +02:00
WerWolv
f8ed89ee2c
patterns: Allow bitfield fields to be accessed as like other members
2021-08-16 23:05:23 +02:00
WerWolv
0093d4418e
ui: Added icons to welcome screen
2021-08-04 14:01:24 +02:00
WerWolv
132164c3de
patterns: Fix type operators not working correctly
2021-08-02 12:08:54 +02:00
WerWolv
2c71f61bfc
git: Improve indexing performance of repo
2021-07-31 18:33:55 +02:00
WerWolv
92bb852921
fix: Resource embedding not working on Windows
2021-07-31 17:46:09 +02:00
WerWolv
d345508195
fix: ImHex should crash less often now when exiting
2021-07-31 17:11:10 +02:00
WerWolv
e8d77f8269
sys: Embed resources into rodata
2021-07-31 17:10:19 +02:00
WerWolv
bca7f738a1
patterns: Fixed local member access not working
2021-07-31 12:18:32 +02:00
WerWolv
f4046fb8fc
fix: Keyboard shortcuts didn't work. Added Select all menu item
2021-07-29 21:09:18 +02:00
WerWolv
330b4504dc
sys: Updated curl, libfmt, nativefiledialog and yara to latest version
2021-07-28 13:23:50 +02:00
WerWolv
07ad9ed772
tools: Added UNIX permissions calculator
2021-07-27 22:46:37 +02:00
WerWolv
af1d687758
fix: ImHex using way too much resources still
...
Now frames are rendered at only 5 FPS if no input events are being processed. Thanks a lot to @Tey. Properly fixes #189 now
2021-07-27 21:50:49 +02:00
WerWolv
2ccf8e777c
sys: Added create file and resize option
...
Fixes #172
2021-07-27 21:07:36 +02:00
WerWolv
405b97e4d3
fix: is_integral and is_signed causing errors on >= gcc 11
...
This fixes #265
2021-07-19 01:11:28 +02:00
WerWolv
35c7f826bc
views: Added constants search view
2021-06-26 01:18:33 +02:00
WerWolv
1e1cdb0ef0
patterns: Fixed multiple parse and evaluate issues
2021-06-22 16:04:47 +02:00
WerWolv
fde5b39495
patterns: Added function while loops
2021-06-21 00:21:38 +02:00
WerWolv
c9fae32ddf
patterns: Added function if statements, improved returns
2021-06-20 23:46:13 +02:00
WerWolv
7f0bdc95da
patterns: Added support for declaring custom functions
2021-06-20 21:22:31 +02:00
Foster Brereton
ac53b4bcab
Add rpath to binary executable on macOS ( #258 )
...
* removing superfluous slash from paths
* Add a necessary rpath to the imhex binary
* add a little error handling to dlopen
* fall back on en-US if no language specified in prefs
* PR changes as per @WerWolv
2021-06-18 20:09:36 +02:00
WerWolv
b4b2c41b34
patterns: Added hidden
attribute
2021-06-17 23:42:43 +02:00
WerWolv
21f8fb4090
patterns: Added while statement for array sizing
2021-06-17 23:13:58 +02:00
Foster Brereton
3cef784f75
Drop deployment target flag from libimhex plugin ( #257 )
2021-06-17 20:26:12 +02:00
WerWolv
a7092ada08
fix: Parent keyword not working at all
2021-06-16 21:13:54 +02:00
WerWolv
35b92ac453
fix: Remove windows includes from built-in plugin files
2021-06-07 20:11:24 +02:00
WerWolv
e0112472d6
ui: Moved FPS counter to footer
2021-06-07 18:13:54 +02:00
WerWolv
7007fb53e7
ui: Added CPU usage to footer on windows
2021-06-06 19:18:14 +02:00
WerWolv
44000d2518
sys: Move windows-only footer items to the windows plugin
2021-06-06 19:17:51 +02:00
WerWolv
eaacb4d102
ui: Added proper localization for TTY Console
2021-06-06 18:19:17 +02:00
WerWolv
53c8f6ec74
sys: Fix crashes with TTY console, add sending of signals
2021-06-05 22:39:47 +02:00
WerWolv
d1b942cea5
plugin/windows: Fixed scrolling and last line displaying in TTY console
2021-05-29 23:47:08 +02:00
WerWolv
c22d1033eb
plugin/windows: Added TTY Console view
2021-05-29 21:52:52 +02:00
WerWolv
c373174436
plugins: Added windows-only features plugin
2021-05-29 21:52:18 +02:00
WerWolv
21525a7261
ui: Added ImHex directories table to about page
2021-05-23 23:35:04 +02:00
Matthias Mailänder
e688d34587
build: Fix yara system lib detection and add support for fmt and curl ( #241 )
...
* find yara with pkgconfig
* Use system fmt and curl.
* Flip/unify system library conditional
2021-05-23 14:16:38 +02:00
Matthias Mailänder
db5402dc09
build: Use system libraries if so desired. ( #210 )
...
Co-authored-by: WerWolv <werwolv98@gmail.com>
2021-05-23 12:16:14 +02:00
WerWolv
fe977f4ba9
ui: Improve confusing "Quit application" popup text
...
This fixes #234
2021-05-21 23:59:28 +02:00
WerWolv
fee176dc72
nodes: Added data size node
2021-05-18 21:24:33 +02:00
WerWolv
0d11f4460f
nodes: Allow data processor content to be stored in project files
2021-05-18 18:06:47 +02:00
WerWolv
ee2b412a10
nodes: Added primitive saving and loading mechanism
...
Not fully integrated yet. Also doesn't yet save any node settings, just nodes and links
2021-05-17 23:17:58 +02:00
WerWolv
4029c333ed
patterns: Added UTF-16 character type and string parsing
2021-05-02 20:13:37 +02:00
WerWolv
d177d69724
fix: ImHex no longer behaves weirdly or crashes when no plugins are loaded
2021-04-21 23:31:51 +02:00
WerWolv
ea71389982
fix: Invalid type in integer literal ast node on mac
2021-04-21 10:37:14 +02:00
WerWolv
32d47456de
patterns: Added array index syntax to rvalues and turned addressof/sizeof into operators
2021-04-21 10:17:42 +02:00
WerWolv
39b935affe
build: Fix tons of useless build artifacts to be included on install
2021-04-20 22:11:50 +02:00
WerWolv
1f2fe6b93d
sys: Merge splash screen and ImHex into one application
...
This fixes so many issues the previous implementation had, especially on Unix
2021-04-20 21:46:48 +02:00
WerWolv
5b692067d8
patterns/fix: Accessing variables in global scope no longer crashes
2021-04-18 20:26:23 +02:00
WerWolv
ebbbcafe5c
sys: Implement more functionality into splash screen ( #223 )
...
* build: Add libcurl
* build: Stop the whole static linking on Windows mess. There's no use anymore
* sys: Added update detector and moved some startup tasks to splash screen
* sys: Updated ImHex icon
* fix: Settings button on welcome page once again works
* build: Fix build on Linux
* sys: Fixed splash window not searching all paths for resources
2021-04-18 20:24:42 +02:00
WerWolv
93e1c4c4e8
sys: Drastically revamp the relative vs absolute address mess
2021-04-16 21:50:15 +02:00
WerWolv
72eac9f149
ux: Fixed goto to work with base addresses and added absolute goto
2021-04-16 19:44:52 +02:00
WerWolv
771bb22962
sys: Improve shortcut api
2021-04-16 19:43:54 +02:00
WerWolv
59dd372ec8
ux: Added support for pasting bytes
2021-04-16 17:01:01 +02:00
WerWolv
a3b3eeb56a
ui: Improve how pointers are displayed in pattern data view
2021-04-16 15:59:13 +02:00
WerWolv
c3e41710c7
patterns: Properly apply base addresses to pointers
2021-04-16 10:11:10 +02:00
WerWolv
386ae7d8c3
fix: Using pointers no longer crashes ImHex
2021-04-15 15:56:39 +02:00
WerWolv
2e338ebc01
fix: Properly localize Undo and Redo
2021-04-14 09:03:41 +02:00
WerWolv
8314b147d5
patterns: Fix sign extension for signed types.
...
Fixes #216
2021-04-13 22:30:57 +02:00
WerWolv
cab3410d23
patterns: Fix members getting added multiple times
2021-04-13 22:08:02 +02:00
WerWolv
45b00c8b5f
patterns: Make placements respect set base addresses and discard out of bounds variables
2021-04-13 21:50:24 +02:00
WerWolv
183b8770bb
patterns: Added base_address
pragma
2021-04-13 21:49:31 +02:00
WerWolv
950598911c
patterns: Allow usage of types within itself and used out-of-order
2021-04-13 20:40:21 +02:00
WerWolv
8a485575f5
ui: Added recent files to File menu
2021-04-13 08:41:59 +02:00
WerWolv
959988a670
fix: Stop all views from opening automatically on launch
2021-04-12 21:08:36 +02:00
WerWolv
907f25c231
patterns: Added parent
keyword to access members of the parent struct
2021-04-12 20:49:37 +02:00
WerWolv
2f19ff768d
sys: Improved ScopeGuard syntax a lot
2021-03-31 22:54:43 +02:00
WerWolv
a2c80e3fd6
patterns: Fixed enum constant literals not being interpreted as correct type
2021-03-31 22:10:06 +02:00
WerWolv
356273d71e
bug: Fix binary value in base converter being shifted by one
...
Fixes #212
2021-03-30 18:38:28 +02:00
WerWolv
6223b26888
ui: Added hex editor highlight opacity setting
2021-03-29 23:07:18 +02:00
WerWolv
147aefc7e5
ux: Add close file button to file menu
2021-03-29 22:44:35 +02:00
WerWolv
0cc7004d0d
ux: Show currently loaded file name in window name
2021-03-29 22:44:23 +02:00
WerWolv
a17bc43d80
lang: Improved Italian translation
2021-03-27 19:13:46 +01:00
WerWolv
d805d976a6
sys: Replace the terrible event manager with a much better one
2021-03-27 11:36:36 +01:00
WerWolv
688ca01b1b
ux: Added undo and redo option
2021-03-26 21:43:24 +01:00
WerWolv
2a7b698a3d
prv: Make data overlays work everywhere, not just in the hex editor view
2021-03-21 14:50:47 +01:00
WerWolv
ef747cc4c0
sys: Explicitly delete views so destructors get called properly
2021-03-16 22:44:37 +01:00
WerWolv
b7dd936dae
patterns: Fixed ternaries not being proper numeric expressions
2021-03-16 21:29:14 +01:00
WerWolv
f34b946ea9
patterns: Fixed eval_depth default and preprocessor errors
2021-03-15 08:11:19 +01:00
WerWolv
ee10322603
nodes: Added buffer combine, slice and repeat nodes
2021-03-07 13:44:22 +01:00
WerWolv
af444999bf
ui: Added used memory footer item on Windows
2021-03-07 13:20:55 +01:00
WerWolv
8423f78586
nodes/patterns: Fixed crashes when recursion occurred
2021-03-07 13:20:33 +01:00
WerWolv
d4265f16eb
node: Added arithmetic nodes (add, sub, mul, div, mod)
2021-03-06 14:46:47 +01:00
WerWolv
6cba868e20
sys: Added FPS limit, some power saving
...
#189
2021-03-06 13:09:20 +01:00
Robin Lambertz
4f98149fa7
api: Fix various crashes on bad settings data. ( #186 )
...
getSetting now returns a straight nlohmann::json instead of an optional.
If the data isn't present, it will return a json null.
All accesses to the settings will first check that the data has the
expected type.
2021-03-06 12:40:29 +01:00
tomGER
32cfaac1e2
lang: Small corrections to de_DE ( #193 )
...
* Small corrections to German translation
* Change wording of match_selection
2021-03-04 16:22:18 +01:00
Crusty ★
d954d9280f
lang: Added Italian translation ( #196 )
...
* Added Italian (IT) translation
* Address fixes
* fix missing file in CMakeList
2021-03-04 13:52:35 +01:00
WerWolv
0ad0a91fa4
build: Use libfmt as header-only library instead
2021-03-03 23:33:44 +01:00
WerWolv
c18cb9f61e
build: Compile libfmt with -fPIC
2021-03-03 22:51:09 +01:00
WerWolv
4a908a314f
lang: Added German translation, improved language handling
2021-03-03 22:26:17 +01:00
WerWolv
188723e888
sys: Replace printf formatting with libfmt
2021-03-03 19:58:22 +01:00
WerWolv
4e86d874a7
sys: Fixed one missed api call update on non-windows
2021-03-02 23:15:15 +01:00
WerWolv
8646fb4487
patterns: Prevent division by zero
2021-03-02 22:55:23 +01:00
WerWolv
a91afdb6ae
ux: Allow copying value from data inspector
2021-03-02 22:09:38 +01:00
WerWolv
b6939654b3
lang: Fix color attribute not being applied to array entries
2021-03-02 14:23:06 +01:00
WerWolv
3a7a3a6e9c
lang: Add dataSize
function to get size of loaded data
2021-03-02 13:55:43 +01:00
WerWolv
de327cf3a4
ui: Make use of ImPlot to drastically improve information view
2021-03-02 13:49:45 +01:00
WerWolv
f1c03f8b1d
sys: Place config files in AppData/Local/imhex folder on Windows
...
Fixes #182
2021-03-02 10:20:29 +01:00
WerWolv
7a2b3397a3
repo: Cleanup
2021-03-01 09:03:13 +01:00
WerWolv
3e6865ffa9
sys/build: Properly support per-system metadata file paths ( #181 )
...
* sys: Move away from metadata paths next to executable in the application
Build system doesn't properly install / pack stuff yet
* build: Updated README to contain better install instructions
* sys: Search for imhex resource files in ~/Application Support
* sys: MAX_PATH -> PATH_MAX
* sys: Seach for imhex resource files in Application Support using NSFileManager (#180 )
* sys: Allow for multiple file search paths
Also use install prefix instead of just /usr on Linux
* build: Fixed IMHEX_INSTALL_PREFIX macro definition
* build: Fix duplicate switch entry on Linux
* docs: Updated readme to properly reflect new paths and dependencies
* sys: Install files in their proper paths on linux (#183 )
* Install files in their proper paths on linux
* Only create user directories
* Follow the XDG specification on linux
XDG specification specifies how to find config and data directories on
linux systems. Specifically, it says this:
- Data should be written to $XDG_DATA_HOME
- Config should be written to $XDG_CONFIG_HOME
- Data should be read from $XDG_DATA_HOME:$XDG_DATA_DIRS
- Config should be read from $XDG_CONFIG_HOME:$XDG_CONFIG_DIRS
The default values are this:
- XDG_DATA_HOME: $HOME/.local/share
- XDG_CONFIG_HOME: $HOME/.config
- XDG_DATA_DIRS: /usr/share:/usr/local/share
- XDG_CONFIG_DIRS: /etc/xdg
Platforms with non-standard filesystems (like NixOS) will correctly set
up those environment variables, allowing softwares to work unmodified.
In order to make integration as simple as possible, we use a simple
header-only dependency called XDGPP which does all the hard work for us
to find the default directories.
* Look for plugins in all Plugin Paths
If the plugin folder was missing from one of the PluginPaths, we would
immediately stop loading plugins. We now keep looking even if one of the
path is missing.
Co-authored-by: Nichole Mattera <me@nicholemattera.com>
Co-authored-by: Robin Lambertz <unfiltered@roblab.la>
2021-03-01 08:56:49 +01:00
WerWolv
e6dc731921
build: Fixed libyara building on MacOS
2021-02-26 17:29:57 +01:00
WerWolv
31e5ec7bc3
Add Yara rule matching interface ( #178 )
...
* build: Added YARA as submodule
* ui: Added basic yara rules matching interface
* build: Make libyara link libpthread on Unix
* ui: Add jump-to feature to yara matches list
* yara: Add more modules and patch yara to support mbedtls crypto
* yara: Started to fix scanning of bigger data
* yara: Fixed implementation
* ui: Improved yara matcher interface and added localization
* build: Ignore changed files in yara submodule
* yara: Fixed rules matching agianst entire file
* yara: Properly handle compiler errors
2021-02-26 13:35:19 +01:00
WerWolv
26b881e4c9
imgui: Fixed fontawesome
2021-02-25 21:50:57 +01:00
WerWolv
93802f5872
patterns: Always interpret color attribute value as hexadecimal
2021-02-25 12:08:46 +01:00
WerWolv
4a1de5d1cb
bookmarks: Added ability to lock bookmarks
2021-02-24 21:42:18 +01:00
WerWolv
0af8b8155f
ui/ux: Give up on custom ImGui file browsers and just use the system one
2021-02-22 23:36:13 +01:00
WerWolv
7f97416e6e
ui/ux: Improve data analyzer interface, make it run asynchronously
2021-02-22 13:08:06 +01:00
WerWolv
3cbbfb1782
lang: Localize provider data information strings
2021-02-22 13:07:25 +01:00
WerWolv
ced9706c5b
ui: Turned spinner into ImGui widget
2021-02-22 13:06:53 +01:00
WerWolv
0e2add204b
ux: Disassemble asynchronously
2021-02-22 11:56:33 +01:00
WerWolv
490c7e8fec
ux: Search for strings asynchronously
2021-02-22 10:16:58 +01:00
WerWolv
a4b4360df6
patterns: Fixed more memory leaks
2021-02-22 10:01:58 +01:00
WerWolv
0a29f25330
ui: Open all views and create default layout on first launch
2021-02-21 13:49:03 +01:00
WerWolv
5532a0673f
ui: Localized new strings
2021-02-20 22:41:17 +01:00
WerWolv
615a96f9d8
api: Improved documentation
2021-02-19 17:36:10 +01:00
WerWolv
0da508594b
ui/api: Added loaded plugin information to welcome screen
2021-02-19 13:22:12 +01:00
WerWolv
89643d1538
lang: Added some strings that went missing
2021-02-19 11:16:09 +01:00
WerWolv
9900a51757
patterns: Fixed multiple severe memory leaks
...
#163 - probably not all yet
2021-02-19 10:51:30 +01:00
WerWolv
e8027293bf
Disabled multi viewports support on Linux as it didn't work well
...
Also cleanup and fixing a typo
2021-02-18 17:10:56 +01:00
WerWolv
0e00555703
Added Footer and API for it and the welcome screen
2021-02-18 12:09:19 +01:00
WerWolv
a251c7325a
Fixed copy-paste error in pattern language evaluator
2021-02-17 21:04:59 +01:00
WerWolv
460d5a9386
Various fixes and improvements
2021-02-17 14:47:25 +01:00
WerWolv
df06dd49c5
Added better settings API that handles errors better
...
This fixes #161
2021-02-16 23:42:35 +01:00
WerWolv
b4c2f7d371
Implemented crude support for custom encodings via thingy files
...
Relevant issue: #26
2021-02-14 01:11:55 +01:00
WerWolv
424bba71f7
Fixed localization issues when using the content registry
2021-02-13 15:15:32 +01:00
WerWolv
36a4930b35
Implement localization all throughout ImHex
...
English only for now, additional languages will come in the future
2021-02-11 23:09:45 +01:00
WerWolv
9227fba474
Revamped language system right away again to allow plugins to use it
2021-02-11 00:35:30 +01:00
WerWolv
4a8e59a95b
Fixed multiple definitions of _lang user defined literal
2021-02-10 23:38:51 +01:00
WerWolv
bd5da4a36e
Added Language setting and localization wrapper
2021-02-10 18:17:09 +01:00
WerWolv
a926b7b912
Added buffer constant node
2021-02-08 23:17:30 +01:00
WerWolv
179e222919
Fixed command palette and added /web command
2021-02-08 19:56:04 +01:00
WerWolv
1b98afe37d
Fix mbedtls finding on macos ( #156 )
2021-02-07 22:57:34 +01:00
WerWolv
8e7bfb7f1a
Fixed some popups not appearing when no views are open
2021-02-07 14:29:13 +01:00
WerWolv
5b38c43b7e
Fixed plugin loading and closing issues mainly on Windows
...
This fixes #87
2021-02-07 13:40:47 +01:00
WerWolv
4d7d449cea
Added base converter to tools window
2021-02-05 00:17:56 +01:00
WerWolv
ac100936c7
Added comments node
2021-02-04 12:46:38 +01:00
WerWolv
5eb289f1fe
Added proper error messages to data processor
2021-02-04 01:14:05 +01:00
WerWolv
91d05c5de6
Added AES decryption node
2021-02-04 00:21:53 +01:00
WerWolv
ac019a7d7e
Fixed build on Unix, move crypto wrapper to libimhex
2021-02-03 11:54:41 +01:00
WerWolv
8c306a5d3d
Make views get auto deleted
2021-02-03 00:56:33 +01:00
WerWolv
fa352b6917
Fixed linker warnings on plugins
2021-02-02 00:39:47 +01:00
WerWolv
d69eee55dd
Added recent files selection to Welcome screen
2021-02-01 19:03:45 +01:00
WerWolv
d9ec628333
Allow reading and writing settings through code
2021-02-01 19:03:28 +01:00
WerWolv
8603ec1c99
Fixed 64 bit value display in data inspector once again
2021-02-01 01:12:23 +01:00
WerWolv
ee8e1996d9
Allow reading of empty buffers passed to a node as input
2021-01-31 21:49:13 +01:00
WerWolv
744b9f574c
Fixed node links not connecting properly anymore
2021-01-31 18:59:47 +01:00
WerWolv
f259e347aa
Greatly improved Nodes API
2021-01-31 16:11:25 +01:00
WerWolv
5a59bc2abc
Added casting and control flow nodes to data processor
2021-01-31 01:42:29 +01:00
WerWolv
8dd76a6cc8
Added error messages for file opening issues
2021-01-31 00:05:07 +01:00
WerWolv
073eee8fab
Further improved UI/UX of welcome screen
2021-01-30 23:02:03 +01:00
WerWolv
5c7a529fa1
Added Data Processor using Nodes ( #152 )
...
* Added imnodes
* Added basic data processor view. Still needs to be cleaned up
* Make sure all attached links get properly removed when a Node is deleted
* Cleanup and API exposing
* Added data provider overlays and integrate them with the data processor
* Optimized data processing
* Node UI enhancements
* Added support for all themes to the nodes editor
* Improved data processor context menus
* Fixed data processor context menu showing up everywhere
* Make hex editor context menu behave the same as data processor one
* Add different node pin types and prevent incompatible ones from being connected
* Don't require explicitly marking node as end node
* Fixed plugin copying
* Added some more nodes
2021-01-30 22:39:06 +01:00
WerWolv
a3d71b1dca
Added support for Home, End, PageUp and PageDown in hex view
...
Resolves #148
2021-01-28 13:23:50 +01:00
WerWolv
319068eef5
Implemented Open File and Preferences button in Welcome screen
2021-01-27 14:26:24 +01:00
WerWolv
49b5deb9f4
Added back missing semicolons...
2021-01-27 01:11:14 +01:00
WerWolv
8990fad85a
Make File Dialogs less hacky
2021-01-27 00:44:10 +01:00
WerWolv
ab2458bdf4
Make links in About page actual hyperlinks
2021-01-27 00:00:20 +01:00
WerWolv
b58bc685e1
Extra formatting check in hex::format
2021-01-25 13:36:29 +01:00
WerWolv
51d9d37d1a
Fixed pattern language being basically completely broken
2021-01-23 14:00:09 +01:00
WerWolv
8ed03051c3
Properly statically link libwinpthread and cleanup plugins cmake files
2021-01-22 22:44:45 +01:00
WerWolv
104000fbc4
Huge refactoring of builtin features into an external plugin
2021-01-22 18:01:42 +01:00
WerWolv
0aacf1d07f
Fixed 128 bit byte swapping
2021-01-21 22:55:04 +01:00
WerWolv
b6e2bbc434
Added comments attribute
2021-01-21 20:55:10 +01:00
WerWolv
9a97c6c328
Use big endian rgb8 color for color attribute
2021-01-21 18:01:52 +01:00
WerWolv
e04511269a
Fixed one compile issue on macos
2021-01-21 17:49:46 +01:00
WerWolv
ff566aa51f
Added attributes syntax to pattern language
...
This comes with two experimental attributes for variables called `name` and `color`
2021-01-21 17:49:30 +01:00
WerWolv
f4dd79ab43
Fixed link errors in libimhex
2021-01-21 15:12:53 +01:00
WerWolv
9c055ea1fd
Allow printing of 128 bit values
2021-01-21 14:53:44 +01:00
WerWolv
046a5866bf
Added alignTo builtin function
...
Resolves #143
2021-01-21 12:10:49 +01:00
WerWolv
22d75ed856
Improved logging and aborting from pattern language builtin functions
2021-01-21 11:36:58 +01:00
WerWolv
a641f27b7e
Improved events API
2021-01-21 10:53:12 +01:00
WerWolv
f0ab13ebc3
Added "dollar operator" to get the current offset
2021-01-20 22:56:31 +01:00
WerWolv
31426a289c
Added modulus operator
2021-01-20 22:55:57 +01:00
WerWolv
78a87baa94
Added addressof, sizeof and nextAfter builtin functions.
...
Resolves #144
2021-01-20 22:54:46 +01:00
WerWolv
b2648afc7b
Improve bookmark API
2021-01-20 20:16:24 +01:00
WerWolv
be738eb5e7
Improved byte highlighting
2021-01-20 18:10:40 +01:00
WerWolv
740619529c
Allow most modal popups to be closed with escape
2021-01-14 17:01:44 +01:00
WerWolv
441f4a9fc7
Removed more static inline variables in headers to avoid duplication
2021-01-13 23:08:41 +01:00
WerWolv
9ade281a92
Use hex::derived_from for compatibility with macos
2021-01-13 17:41:16 +01:00
WerWolv
eb066b3539
Refactored libimhex to and includes to better represent it as library
2021-01-13 17:28:27 +01:00
WerWolv
4328a335ec
Added color picker for Bookmarks and highlighting in the hex view
2021-01-13 14:11:23 +01:00
WerWolv
0e32dd667d
Made tools registry more in-line with the other APIs
2021-01-13 13:18:03 +01:00
WerWolv
d15307a237
Added data inspector to content registry
2021-01-13 01:24:27 +01:00
WerWolv
ac76e47b94
No more liblib
2021-01-12 23:49:51 +01:00
WerWolv
dc85616549
Hopefully fixed the whole plugin mess I started
2021-01-12 23:28:41 +01:00
WerWolv
84a6fff034
Refactored plugin system
2021-01-12 16:50:15 +01:00
WerWolv
c09a8bca7f
Language refactoring, added builtin function registry
2021-01-11 23:54:12 +01:00
WerWolv
90e0aa83d8
Added registry for command palette commands
2021-01-11 23:02:55 +01:00
WerWolv
81652e3650
libimhex needs nlohmann json too
2021-01-11 21:51:52 +01:00
WerWolv
688e921034
Added nlohmann json to imhex directly
...
Once again Ubuntu is fucking outdated by over a year for literally no reason. Fuck this
2021-01-11 21:42:21 +01:00
WerWolv
e27993aff2
Added custom event registry
2021-01-11 21:11:03 +01:00
WerWolv
d68b931013
Added settings registry and settings menu
2021-01-11 20:31:40 +01:00
WerWolv
14adcc0e51
Added set base address function to hex editor
...
This resolves #19
2021-01-11 13:50:04 +01:00
WerWolv
3aeb9f31b0
Mark toEngineeringString inline to prevent linker errors
2021-01-11 00:36:24 +01:00
WerWolv
73e259d6e7
Added engineering display mode to calculator
2021-01-11 00:27:00 +01:00
Nobutaka Mantani
d9db8401e2
Fix build on FreeBSD ( #126 )
...
* Fix build on FreeBSD
* Use more generic way to search libcrypto
* Integrate macro for FreeBSD
2021-01-10 18:52:00 +01:00
WerWolv
e572c5776d
Only define is_integral and is_signed for 128 bit types on non-apple
...
Clang on macos already defines is_integral and is_signed for 128 bit types
2021-01-07 18:07:56 +01:00
WerWolv
b47736b595
Properly include headers for memcpy
2021-01-07 01:58:56 +01:00
WerWolv
2dbfbe70af
Fixed rvalue value evaluation
2021-01-07 01:56:15 +01:00
WerWolv
b902cc6531
Go back to static linking on WIndows
...
Everything except python is once again statically linked
2021-01-06 19:19:01 +01:00
WerWolv
eed7ef1ac3
Make sure important data is synchronized between ImHex and plugins
2021-01-04 00:19:56 +01:00
WerWolv
94a7d3116a
Fix mac build with missing concepts header
2021-01-03 16:20:28 +01:00
WerWolv
4189700a3b
Use hex::integral instead of std::integral concept
2021-01-02 22:24:52 +01:00
WerWolv
9a968674d6
Fixed compile on macos
2021-01-02 20:49:55 +01:00
WerWolv
18c9340950
Removed duplicated code from hex.hpp
2021-01-02 20:46:44 +01:00
WerWolv
78ef07cf0f
Pattern Language rewrite ( #111 )
...
* Initial parser rewrite effort
Lexer and Token cleanup, Parser started over
* Greatly improved parser syntax
* Reimplemented using declarations and variable placement parsing
* Added back unions and structs
* Added enums as well as mathematical expressions (+, -, *, /, <<, >>, &, |, ^)
* Code style improvement
* Implemented arrays and fixed memory issues
* Fixed more memory issues in parser, reimplemented validator, evaluator and patterns
* Fixed builtin types, arrays and reimplemented strings
* Improved error messages
* Made character a distinct type, used for chars and strings
* Implemented padding, fixed arrays
* Added bitfields
* Added rvalue parsing, no evaluating yet
* Added .idea folder to gitignore
* Fixed build on MacOS
* Added custom implementation of integral concept if not available
* Rebased onto master
* Fixed array variable decl crash
* Added rvalues and dot syntax
* Lower case all pattern language error messages
* Fixed typo in variable name
* Fixed bug where preprocessor would not ignore commented out directives
* Reimplemented pointers
* Fixed rebase issues
2021-01-02 20:27:11 +01:00
WerWolv
144e30775f
Fixed duplicated utils.hpp
2020-12-27 15:54:12 +01:00
WerWolv
f74eff8934
Add support for custom providers via plugins
2020-12-27 15:39:06 +01:00
WerWolv
8ba96904a6
More plugin support work
2020-12-27 14:12:53 +01:00
WerWolv
dbbc525174
Added Plugin support ( #102 )
...
* Build refactoring and initial plugin support
* Possibly fixed linux / mac build
* Added libdl to libglad build script
* Add glfw to imgui dependencies
* Refactored common functionality into "libimhex" for plugins
* Added plugin loading and example plugin
* Added proper API for creating a custom view and a custom tools entry with plugins
2020-12-22 18:10:01 +01:00