1
0
mirror of synced 2024-12-12 07:51:05 +01:00
Commit Graph

465 Commits

Author SHA1 Message Date
WerWolv
033a0dfbb9 patterns: Updated pattern language 2022-09-05 14:16:44 +02:00
WerWolv
cb682b6e21 ui: Fixed graphics artifacts on welcome screen 2022-09-05 14:16:31 +02:00
WerWolv
c60c1154b9 patterns: Updated pattern language
Fixes #276
2022-09-04 20:37:40 +02:00
WerWolv
22b6bdb5cf feat: Added Copy as -> Address option to Edit menu
Closes #725
2022-09-04 14:23:09 +02:00
WerWolv
4df1496a0f patterns: Properly set current base address in pattern language runtime
Fixes #714
2022-09-03 22:04:41 +02:00
WerWolv
b68eb0bb5e patterns: Fixed accessing global variables inside [[format]] functions
Fixes #720
2022-09-03 21:34:54 +02:00
WerWolv
7c0fb7c4f2 patterns: Updated pattern language 2022-09-03 17:15:42 +02:00
WerWolv
6689b8ebfa patterns: Updated pattern language 2022-08-29 16:33:40 +02:00
WerWolv
a620400e4e patterns: Fixed unions 2022-08-28 17:53:47 +02:00
WerWolv
2b9c6ec447 patterns: Updated pattern language 2022-08-28 12:35:36 +02:00
WerWolv
742a4e53b5 patterns: Updated pattern language 2022-08-27 14:29:04 +02:00
WerWolv
0cd10b6b70 patterns: Updated pattern language 2022-08-27 13:20:28 +02:00
WerWolv
aabf718e60 patterns: Updated pattern language 2022-08-27 12:55:11 +02:00
WerWolv
03116c4ab8 patterns: Updated pattern language 2022-08-27 11:43:43 +02:00
WerWolv
f62edea450 build: Fix various clang build issues 2022-08-26 00:18:08 +02:00
WerWolv
940f1e30c5 patterns: Updated pattern language 2022-08-25 21:14:20 +02:00
WerWolv
eb874ac810 patterns: Updated pattern language 2022-08-25 19:31:06 +02:00
WerWolv
a79bf4c3ec patterns: Updated pattern language 2022-08-25 13:53:21 +02:00
WerWolv
90adacab9f fix: Build issues 2022-08-24 14:55:11 +02:00
WerWolv
cc09014e6e patterns: Updated pattern language 2022-08-24 00:17:31 +02:00
WerWolv
de98b40c93 fix: Build failing on macOS 2022-08-22 11:12:50 +02:00
WerWolv
c0a5e2012f patterns: Updated pattern language 2022-08-21 23:34:02 +02:00
WerWolv
d004962e3a patterns: Updated pattern language 2022-08-20 13:58:58 +02:00
WerWolv
93be4c8ed1 fix: Resource embedding not working correctly on Linux and macOS 2022-08-20 13:38:56 +02:00
WerWolv
491ee6aa2f patterns: Updated pattern language 2022-08-18 23:51:50 +02:00
WerWolv
a56a8c1d6c fix: Some clang issues 2022-08-18 00:24:29 +02:00
WerWolv
7e01ff451f patterns: Fixed return statements inside of loops acting like breaks
Fixes #675
2022-08-16 09:49:29 +02:00
WerWolv
0e2c1f1355 fix: Syntax errors 2022-08-16 00:39:56 +02:00
WerWolv
0ed7341f71 patterns: Updated pattern language 2022-08-16 00:35:24 +02:00
WerWolv
9b2ee998de git: Enabled address, leak and UB sanitizers in unit tests CI 2022-08-15 23:33:04 +02:00
WerWolv
e1c5cd1e86 patterns: Updated pattern language 2022-08-15 22:35:24 +02:00
WerWolv
0d0301f4f6 patterns: Updated pattern language 2022-08-15 22:22:05 +02:00
WerWolv
e938b75acd patterns: Fixed out of bounds read 2022-08-15 17:34:09 +02:00
WerWolv
b580691871
feat: Added Intel Hex and Motorola SREC provider (#670)
* feat: Initial implementation of an Intel Hex provider

* fix: Reading of bytes from intel hex files

* lang: Added localization for new provider

* ui: Only show file name in intel hex provider name

* feat: Added Motorola SREC provider
2022-08-12 15:11:27 +02:00
WerWolv
5c13cf9dbf sys: Added support for providers with unreadable regions 2022-08-10 09:26:48 +02:00
WerWolv
a3132b7d13 build: Fixed system llvm linking errors 2022-08-09 14:59:58 +02:00
WerWolv
0192c791ce sys: Updated llvm demangler, now supports D-Lang and Rust symbols 2022-08-09 13:51:03 +02:00
WerWolv
8ebbe6fb4e patterns: Fixed crash when preprocessor throws an error 2022-08-09 08:58:31 +02:00
WerWolv
e38b6ecd2c patterns: Fixed reading from strings passed to functions 2022-08-08 23:51:13 +02:00
WerWolv
966f3b8597
sys: Replace existing bad project system with a much better one (#663)
* sys: Initial effort to replace existing project files with a better system

* sys: Added back marking provider as dirty

* sys: Remove git commit information from project files

* sys: Format data processor save file nicely

* fix: Automatic pattern loading not working correctly

* ui: Added warning popup when closing a provider with modifications

Closes #604

* sys: Fixed build issues

* tests: Removed useless debug logs

* patterns: Updated pattern language

* sys: Added log message when crashing with a signal

* sys: Make sure abnormal termination handlers are being called more reliably
2022-08-08 21:23:52 +02:00
WerWolv
e16216b39e patterns: Fixed for-loop parsing 2022-08-07 23:27:25 +02:00
WerWolv
738a537723 patterns: Fixed display issue with static array entries 2022-08-07 22:03:32 +02:00
Bernard Teo
d8d3a315a4
build: Update nfd-extended to get correct feature test detection (#661) 2022-08-07 15:32:56 +02:00
WerWolv
2200e11e85 fix: Pattern language runtime not being reset properly after checking MIME types 2022-08-07 00:11:54 +02:00
WerWolv
88f8bb9848 sys: Updated to new pattern language library structure 2022-08-06 21:38:09 +02:00
WerWolv
7d93c54444 build: Updated nfd-extended to prevent linking of macOS 11 framework 2022-08-06 14:33:23 +02:00
WerWolv
e3ef7d53a7 ui: Fixed pattern tooltip of static array only showing value of last entry 2022-08-05 10:55:29 +02:00
WerWolv
0e2bfa25ab ui: Use easier to read float representation in various places 2022-08-05 09:36:04 +02:00
WerWolv
881b633006 patterns: Updated pattern language 2022-08-04 10:52:50 +02:00
WerWolv
0f8ac672f3 sys: Fixed compile issue on non-Windows 2022-08-04 09:51:07 +02:00
WerWolv
be37228dc6 sys: Fixed resize cursors not appearing in non-borderless window mode 2022-08-04 09:46:17 +02:00
WerWolv
14150b5a04 sys: Fix macOS build issues 2022-08-03 23:48:39 +02:00
WerWolv
deabacbd50 sys: Updated ImGui, ImPlot and imnodes to latest versions 2022-08-03 23:32:34 +02:00
ogarvey
09a1e59b8c
fix: Allow Numpad Enter to work in text editor (#645)
Fixes #590
2022-08-03 19:52:45 +02:00
WerWolv
fdcce1c046 patterns: Updated pattern language 2022-08-02 22:56:07 +02:00
WerWolv
84e049be07 build: Fixed some issues to make porting to other systems easier 2022-08-01 14:35:25 +02:00
WerWolv
e530cdbc7f patterns: Updated pattern language 2022-08-01 13:20:54 +02:00
WerWolv
64f962dbb2 patterns: Updated pattern language 2022-08-01 12:46:45 +02:00
WerWolv
de2458f72d patterns: Added support for the new [[sealed]] attribute 2022-07-31 15:10:59 +02:00
WerWolv
fb4c21b97a
build: Fix weird macOS build errors (#591)
* cleanup

* Remove prints
2022-07-26 14:59:08 +02:00
WerWolv
0c8deecfc5 patterns: Updated pattern language 2022-07-25 11:50:46 +02:00
WerWolv
2fb51d1a56 patterns: Fixed Bit and Bool operator mixup 2022-07-18 11:39:50 +02:00
WerWolv
499b68b7ad build: Updated nativefiledialog library 2022-07-16 13:26:07 +02:00
WerWolv
0d3eaa5d86 patterns: Updated pattern language 2022-07-16 12:57:33 +02:00
WerWolv
831dac9b47 patterns: Updated pattern language 2022-07-15 11:38:46 +02:00
WerWolv
071bae345e patterns: Fixed passing placed values to functions 2022-07-07 21:32:25 +02:00
WerWolv
b6b5045340 build: Downgrade nativefiledialog again 2022-07-06 16:58:36 +02:00
WerWolv
ab4f17a6f4 patterns: Fixed provider operation crash 2022-07-06 16:46:33 +02:00
WerWolv
12942a4e71 build: Updated libromfs 2022-07-06 16:29:26 +02:00
WerWolv
1a378381bd build: Updated pattern language 2022-07-06 11:30:23 +02:00
WerWolv
e0cae1dacb patterns: Improved pattern formatting 2022-07-06 11:30:06 +02:00
WerWolv
f9fc7051fc tests: Added UTF-8 file operation tests 2022-07-02 10:05:25 +02:00
WerWolv
ab1f4df9d9 fix: In/Out variables not being added to the interface when using menu item to load pattern 2022-07-01 19:56:28 +02:00
WerWolv
710771b8b1 patterns: Cleanup pattern search 2022-07-01 19:12:01 +02:00
WerWolv
2d982e2088 fix: Drastically improve pattern highlighting performance 2022-07-01 19:05:53 +02:00
WerWolv
19f99bab0c fix: Issues when opening files with unicode names 2022-06-30 14:57:05 +02:00
WerWolv
3efdc02fed patterns: Improved automatic heap management 2022-06-30 11:19:37 +02:00
WerWolv
501d141e13 patterns: Added support for custom local types 2022-06-30 08:14:33 +02:00
WerWolv
9c1006f3ae fix: Compile errors because of Windows function defined on all systems 2022-06-30 07:47:32 +02:00
WerWolv
5b0813478e fix: Copying to clipboard not working correctly with non-english locales
Fixes #563
2022-06-30 07:44:22 +02:00
WerWolv
e02ccd9b9b patterns: Actually fixed endian inversion in functions 2022-06-27 16:27:19 +02:00
WerWolv
956276d1ee patterns: Fixed endian inversion in functions
Fixes #555
2022-06-27 15:15:10 +02:00
WerWolv
a936cf1ce4 fix: Another file read issue 2022-06-27 15:08:22 +02:00
WerWolv
5800546369 fix: Tar extraction and file string read error 2022-06-27 14:58:40 +02:00
WerWolv
3471b314dd
build: Switch to GCC on MacOS (#552)
* build: Experimentally switch to gcc on macOS

* build: Corrected gcc paths

* build: Enable objective c support on macOS

* build: Enable ObjC and ObjC++ on macOS

* build: Add ObjC and ObjC++ flags

* build: Try compiling objc with clang

* build: Remove invalid flags again

* fix: Let's not include objc headers in C++ code

* sys: Move macos utils code to its own file

* fix: Missing unistd include on mac

* sys: Removed loader script stuff since it's currently unused and broken

* fix: Missing include

* fix: Another missing include

* fix: CFURLCreateWithBytes wants a pointer to mutable data

* fix: Try disabling name mangling of ObjC functions

* sys: Move macos utils declarations to its own header file

* fix: C Linkage

* fix: Move objc function prototypes to C++ headers

* fix: More missing includes

* fix: Warning error

* sys: Call ObjC with C ABI instead of trying to use C++

* build: Update libraries

* sys: Fixed build errors

* sys: No const correctness I guess

* sys: Fixed prototypes

* sys: This is C now

* sys: More nullptr -> NULL

* sys: Fix crash on exit

* sys: Try using proper std concepts instead of custom ones

* sys: Replaced another hex::is_signed

* build: Upgrade to gcc 12 and MacOS Monterey

* build: Fixed MacOS runner name

* build: Cache correct ccache folder on macOS
2022-06-25 12:19:59 +02:00
WerWolv
a5aa002752 patterns: Moved most built-in functions to the pattern language repo 2022-06-23 19:33:30 +02:00
WerWolv
6490e565d3 patterns: Fixed formatting issue with values of static arrays
Fixes #540
2022-06-17 13:47:49 +02:00
WerWolv
653a688fe6 fix: Very inefficient iterating over static array patterns
Fixes #532
2022-06-14 10:29:41 +02:00
WerWolv
dfc1dc2529 fix: Highlighting of static arrays that start at uneven addresses
Fixes #534
2022-06-14 10:19:59 +02:00
WerWolv
a5d202ffc8 fix: Vector out of bounds access 2022-06-13 21:56:02 +02:00
WerWolv
5623e1342b fix: Crashes when parsing invalid wstrings 2022-06-03 18:46:38 +02:00
WerWolv
05862ae991 ui: Make pattern editor error popup text more readable
Closes #517
2022-05-29 21:54:40 +02:00
WerWolv
603a95debb patterns: Updated pattern language 2022-05-28 14:14:12 +02:00
WerWolv
b751f98e91
ui/ux: Rewrite of the entire hex editor view to make it more flexible (#512)
* ui/ux: Initial recreation of the hex editor view

* ui/ux: Added back support for editing cells

* ux: Make scrolling and selecting bytes feel nice again

* ui/ux: Improved byte selecting, added footer

* sys: Make math evaluator more generic to support integer only calculations

* patterns: Moved value formatting into pattern language

* ui/ux: Added Goto and Search popups, improved selection

* ui: Added better tooltips for bookmarks and patterns

* sys: Use worse hex search algorithm on macOS

Sadly it still doesn't support `std::boyer_moore_horsepool_searcher`

* ui: Added back missing events, menu items and shortcuts

* fix: Bookmark highlighting being rendered off by one

* fix: Various macOS build errors

* fix: size_t is not u64 on macos

* fix: std::fmod and std::pow not working with integer types on macos

* fix: Missing semicolons

* sys: Added proper integer pow function

* ui: Added back support for custom encodings

* fix: Editor not jumping to selection when selection gets changed

* ui: Turn Hexii setting into a data visualizer

* sys: Added back remaining shortcuts

* sys: Remove old hex editor files

* sys: Moved more legacy things away from the hex editor view, updated localization

* fix: Hex editor scrolling behaving weirdly and inconsistently

* sys: Cleaned up Hex editor code

* sys: Added selection color setting, localized all new settings

* fix: Search feature not working correctly

* ui: Replace custom ImGui::Disabled function with native ImGui ones

* ui: Fix bookmark tooltip rendering issues

* fix: Another size_t not being 64 bit issue on MacOS
2022-05-27 20:42:07 +02:00
WerWolv
775e87ff1f patterns: Updated pattern language 2022-05-22 09:27:02 +02:00
WerWolv
435edad604 patterns: Updated pattern language 2022-04-29 23:02:10 +02:00
WerWolv
ea2c2df614 sys: Updated pattern language library 2022-04-18 01:22:06 +02:00
WerWolv
1e7ed14810 tests: Removed pattern language tests as they are now done in their own repo 2022-04-17 18:11:39 +02:00
WerWolv
17383083fb patterns: Use standalone pattern language library instead of built-in one 2022-04-17 16:57:30 +02:00
WerWolv
0462cc3d0c
sys: Enable -Wall, -Wextra, -Werror and fix all warnings on all Platforms (#483)
* sys: Make ImHex compile with -Wall -Wextra -Werror

* sys: Fixed various build errors on Linux

* sys: Explicitly ignore return value of `system` function

* sys: More fixes for the warnings GitHub Actions enables somehow

* sys: More fixes

* sys: Remove -Werror again to see all GitHub Actions warnings

* sys: Hopefully fixed all remaining warnings

* sys: Added back -Werror

* git: Change windows icon in GitHub Actions
2022-03-27 00:01:28 +01:00
WerWolv
f2159e26d2 build: Updated libromfs 2022-03-16 00:15:06 +01:00
WerWolv
3801e0d60b build: Remove yara's cuckoo module again since we don't have jansson available 2022-03-15 23:54:55 +01:00
WerWolv
050e17298a build: Updated various dependencies 2022-03-15 23:45:33 +01:00
Polshakov Dmitry
07ae00aa20
fix: misuse of clipper (#445)
clipper.Step() should be called in a loop until it returns false.
You don't need to call End() after it.

Co-authored-by: Dmitry Polshakov <dmitry.polshakov@dsr-corporation.com>
2022-02-18 13:32:36 +01:00
WerWolv
4c8efed256 fix: Crashing when scrolling through the hex editor too quickly 2022-02-17 21:49:40 +01:00
WerWolv
227040f82f fix: Undo points not being created correctly 2022-02-15 21:50:02 +01:00
WerWolv
abd3fe6ed1 sys/ux: Improved selection requests 2022-02-08 18:38:54 +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
97db5e9698 external: Updated STB Image library
Fixes #421
2022-02-07 18:34:16 +01:00
WerWolv
4c51efc5e0 pattern: Improved parsing of integer literals, added support for hex floats 2022-02-02 16:03:18 +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
053c897056 ui: Added ImHex logo to about page 2022-01-23 20:46:19 +01:00
WerWolv
48aacc0c2e sys: (s8, s16, s32, s64, s128) -> (i8, i16, i32, i64, i128) 2022-01-22 22:37:52 +01:00
WerWolv
e756c9d46f fix: Jumping to bytes would move view to wrong offset 2022-01-20 23:50:57 +01:00
WerWolv
40d7e4aa6e build: More repo cleanup, move libimhex and external libs to /lib folder 2022-01-16 14:20:52 +01:00