1
0
mirror of synced 2024-11-15 11:33:23 +01:00
Commit Graph

738 Commits

Author SHA1 Message Date
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
adfaa95149 lang: Added translation to long double inspector line 2022-02-15 21:53:39 +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
twevs
de86aee6a2
ui: Fixed columns in diffing view. (#441) 2022-02-14 21:35:55 +01:00
Polshakov Dmitry
8be39488ec
fix: Hex editor search buttons not working (#439)
* fix: reset focus only once after window opening

* refactor: extract search functions

* fix: restore focus after search/goto

Co-authored-by: Dmitry Polshakov <dmitry.polshakov@dsr-corporation.com>
2022-02-13 20:13:59 +01:00
Bigfoot
2f61a91459
Prevent crash when opening a file w/o read access (#437) 2022-02-13 01:05:19 +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
bd30411ba7 ui: Replaced all hex input textboxes with the new ones 2022-02-08 21:51:09 +01:00
WerWolv
42c0b6145b ux: Disable bookmark toolbar button if nothing is selected 2022-02-08 18:39:15 +01:00
WerWolv
abd3fe6ed1 sys/ux: Improved selection requests 2022-02-08 18:38:54 +01:00
dianwoshishi
56277ae6da
build: fix errors when compiling example_cpp (#426) 2022-02-08 08:32:38 +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
a8e49c5a85 nodes: Added Selected Region node 2022-02-07 22:46:22 +01:00
gnuhead-chieb
d17cd64fea
lang: Fixed Japanese mistranslation (#419) 2022-02-07 17:17:27 +01:00
gnuhead-chieb
949d036a81
lang: Add Japanese Translation (#418)
* Add Japanese Translation

* Add files via upload

* Update plugin_builtin.cpp

* Added Japanese translation to build script

Co-authored-by: WerWolv <werwolv98@gmail.com>
2022-02-07 15:42:38 +01:00
WerWolv
2577a2f637 ux: Fixed docking to main window 2022-02-06 21:39:10 +01:00
WerWolv
b3728ae658 ui/ux: hexeditor -> hex_editor, Improved performance and flickering when highlighting bytes 2022-02-06 21:02:31 +01:00
WerWolv
c1b4c4e42a nodes: Added layered distribution visualizer 2022-02-06 14:44:03 +01:00
WerWolv
a48a1ef272 nodes: Added byte distribution visualizer node 2022-02-06 13:55:19 +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
eade95dff7 fix: Pattern source code being deleted when closing a provider 2022-02-05 22:26:00 +01:00
WerWolv
ca57f91bfa nodes: Added Digram visualizer node 2022-02-05 22:19:32 +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
4c51efc5e0 pattern: Improved parsing of integer literals, added support for hex floats 2022-02-02 16:03:18 +01:00
WerWolv
f19944f54d lang: Added German translation for Windows plugin 2022-02-02 00:36:25 +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
6977061227 ux: Fixed tips popup and properly apply default layout on first start 2022-02-01 23:33:42 +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
02fc175289 pattern: Make math functions not dangerous 2022-01-30 20:48:44 +01:00
WerWolv
6ae38aead8 pattern: Added extra math functions 2022-01-30 20:46:02 +01:00
WerWolv
52fa2b4479 pattern: Moved all built-in functions to the builtin namespace 2022-01-30 17:49:38 +01:00
WerWolv
af57b39d8f pattern: Added #pragma once to prevent multi-includes of files 2022-01-30 17:49:18 +01:00
WerWolv
111c4b71aa lang: Updated Italian translation. Thanks a lot to @CrustySean 2022-01-30 12:47:28 +01:00
WerWolv
dd572ba024 sys: Return std::nullopt instead of {} for empty optional values 2022-01-30 12:43:43 +01:00
WerWolv
66a13266e6 fix: Pasting bytes not working at all 2022-01-30 11:58:03 +01:00
WerWolv
3f5b258629 ux: Auto focus goto and find text box. Execute function on enter 2022-01-29 21:49:15 +01:00
xtexChooser
3987a5df6a
feat(i18n): update Chinese(Simplified) translation (#406)
* feat(i18n): update Chinese(Simplified) translation

* feat(i18n): update Chinese(Simplified) translation

* fix(i18n): cpp syntax error
2022-01-29 01:21:52 +01:00
WerWolv
6319449cbd sys: Added RISC-V, M68K, M680X, Webassembly, MOS65XX and BPF architecture to disassembler 2022-01-24 23:56:02 +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
2aed6ec13f ux: Added option to save and load data processors 2022-01-23 11:54:25 +01:00
WerWolv
714d421334 api: Moved menu item adding to a new registry-type API 2022-01-23 11:54:21 +01:00
WerWolv
6c6fe8ad5c ui: Added license to about page 2022-01-22 23:11:28 +01:00
WerWolv
48aacc0c2e sys: (s8, s16, s32, s64, s128) -> (i8, i16, i32, i64, i128) 2022-01-22 22:37:52 +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
40d7e4aa6e build: More repo cleanup, move libimhex and external libs to /lib folder 2022-01-16 14:20:52 +01:00
WerWolv
a5a1ae6725 fix: Providers not compiling on Unix 2022-01-16 02:29:25 +01:00
WerWolv
a70ece7b9c sys: Bunch of cleanup, use fs::path instead of std::string for paths 2022-01-16 01:51:31 +01:00
WerWolv
ed8ee35a86 ui: Fixed sizing of several popups 2022-01-16 00:48:35 +01:00
WerWolv
8a6b110d0b ux: Improve loading of encoding files, make advanced encoding enabled by default 2022-01-15 23:44:15 +01:00
WerWolv
1f65fbf422 ui: Fixed hex editor selection frame 2022-01-15 20:56:06 +01:00
WerWolv
25e4902a1c ui: Improved displaying of a bunch of values in the inspector 2022-01-15 15:15:25 +01:00
WerWolv
bcbda85a40 fix: Compiling of time functions on Unix 2022-01-15 15:03:15 +01:00
WerWolv
abac42826c fix: Many security and format issues 2022-01-15 14:14:53 +01:00
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