1
0
mirror of synced 2024-11-16 03:53:22 +01:00
Commit Graph

659 Commits

Author SHA1 Message Date
WerWolv
8448c3367b fix: In variables resetting on evaluation 2022-08-14 19:12:46 +02:00
WerWolv
cc29707bb1 fix: Recent entries with same name not being clickable 2022-08-14 19:12:24 +02:00
WerWolv
eff9ecf7cd fix: Crash when closing provider tab
Fixes #674
2022-08-14 19:11:49 +02:00
WerWolv
49d47a0eed feat: Added bookmark import/export function 2022-08-14 14:45:32 +02:00
WerWolv
78785ddc3c fix: More provider display issues 2022-08-14 14:45:18 +02:00
WerWolv
85f0e04d0e feat: Allow recents to also display other providers 2022-08-14 10:07:45 +02:00
WerWolv
440ba3823e fix: Hex editor displaying ?? for every byte after editing 2022-08-14 09:38:38 +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
d55c59c796 feat: Added close button for welcome screen 2022-08-10 10:28:40 +02:00
WerWolv
5c13cf9dbf sys: Added support for providers with unreadable regions 2022-08-10 09:26:48 +02:00
WerWolv
19a0dc80db fix: Window title not always updating correctly 2022-08-10 00:11:16 +02:00
WerWolv
4b720ee3a2 fix: More crashes with multi-byte visualizers 2022-08-09 15:00:31 +02:00
WerWolv
0192c791ce sys: Updated llvm demangler, now supports D-Lang and Rust symbols 2022-08-09 13:51:03 +02:00
WerWolv
f1ec2ef0c4 lang: Added some unlocalized values 2022-08-09 08:38:41 +02:00
WerWolv
f349aafc37 fix: Crash when auto-load-patterns is being disabled 2022-08-09 09:38:43 +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
2c740cab06 sys: Added select region command 2022-08-08 12:57:44 +02:00
WerWolv
f62ca307b0 ui: Streamline region selection in different views
Fixes #660
2022-08-07 12:20:40 +02:00
WerWolv
edfac4ef60 fix: Evaluating patterns not creating a Task 2022-08-07 12:13:08 +02:00
WerWolv
916962cf83 ui: Added hexadecimal size of file and selection to hex editor footer 2022-08-07 00:35:36 +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
69d000488e api: Added api function to create pattern 2022-08-06 22:29:59 +02:00
WerWolv
88f8bb9848 sys: Updated to new pattern language library structure 2022-08-06 21:38:09 +02:00
WerWolv
4f37345324 fix: Crash when exiting hex editor editing mode
Fixes #658
2022-08-06 17:47:11 +02:00
WerWolv
b2b753c2b3 ui: Fix displaying of advanced decoding row with multi-byte visualizers 2022-08-06 13:23:40 +02:00
WerWolv
a97f853110 fix: More search issues 2022-08-06 13:16:53 +02:00
WerWolv
d7accb6916 feat: Allow Find view to find overlapping occurrences
Closes #653
2022-08-06 12:57:47 +02:00
Berylskid
9c01f3efe3
lang: Updated Japanese translation (#654)
* Update ja_JP.cpp

- Corrected some mistranslations
- Updated some outdated class names
- Added some translations
- Replaced all exclamation marks (!) with Japanese reading marks (。)
- Replaced all 3-dot readers (...) with 2-byte character versions (…)

* Update ja_JP.cpp

Corrected mistranslation of "Contributors"
2022-08-05 20:31:20 +02:00
WerWolv
58f54caf55 ui: Added u24, i24, u48 and i48 to data inspector
Closes #651
2022-08-05 12:19:50 +02:00
WerWolv
0e2bfa25ab ui: Use easier to read float representation in various places 2022-08-05 09:36:04 +02:00
WerWolv
e2d75ad6bf tools: Added support for Inf and NaN to the IEEE 754 tester 2022-08-04 13:24:53 +02:00
WerWolv
a1a3fcbe65 ui: Improved footer item displaying 2022-08-04 11:00:49 +02:00
WerWolv
400bdaa52c fix: Auto evaluate pattern code not working 2022-08-04 10:52:01 +02:00
WerWolv
be37228dc6 sys: Fixed resize cursors not appearing in non-borderless window mode 2022-08-04 09:46:17 +02:00
WerWolv
de386a9927 ui: Replace forced exponential float display in hex editor with conditional one 2022-08-04 09:05:46 +02:00
WerWolv
deabacbd50 sys: Updated ImGui, ImPlot and imnodes to latest versions 2022-08-03 23:32:34 +02:00
WerWolv
c468801c6e feat: Added support for ASCII + UTF16 string extraction
Closes #641
2022-08-03 11:38:36 +02:00
WerWolv
0ac8fcd1eb feat: Added binary pattern search to find view 2022-08-03 10:19:34 +02:00
WerWolv
1d9e8dbda7 fix: Always evaluate in/out variables correctly
Fixes #629
2022-08-02 23:36:18 +02:00
WerWolv
6de00b3a6a ui: Fixed displaying of truncated strings in the data inspector 2022-08-02 23:07:35 +02:00
WerWolv
bed9f324ce feat: Added RGB565 color row to data inspector 2022-08-01 13:58:23 +02:00
WerWolv
3859336f0c fix: Crash when selecting folder as custom font path
Fixes #626
2022-08-01 13:57:52 +02:00
gudzpoz
eca5fb894f
feat: Added LEB128 in data inspector (#615)
* feat: Added LEB128 in data inspector

* feat: Added support for editing LEB128 values

* Moved LEB functions from utils.cpp to crypto.cpp

* Added placeholders for translations

* Made DataInspector::impl::Entry.maxSize mandatory

* Fixed undefined leftshifting behaviour
2022-08-01 13:20:20 +02:00
WerWolv
64f962dbb2 patterns: Updated pattern language 2022-08-01 12:46:45 +02:00
WerWolv
763f15fa36 sys: Added setting to synchronize pattern source code between providers 2022-07-31 20:07:15 +02:00
WerWolv
43988b8a7e ui: Modernize look and feel of data information view 2022-07-31 16:57:35 +02:00
WerWolv
4460d09140 ui: Fixed highlighting alpha value 2022-07-31 16:09:57 +02:00
WerWolv
a2443b26f7 fix: Crash when searching for an empty string 2022-07-31 15:17:24 +02:00
WerWolv
de2458f72d patterns: Added support for the new [[sealed]] attribute 2022-07-31 15:10:59 +02:00
WerWolv
4d3538781b sys: Copy pattern source code from current provider to newly created one 2022-07-31 11:09:20 +02:00
WerWolv
623756c4f4 fix: Duplicate provider tabs not being selectable
Fixes #616
2022-07-31 10:55:15 +02:00
WerWolv
1ed88f3910 fix: Byte editing mode not exiting when clicking somewhere else
Fixes #607
2022-07-30 23:01:25 +02:00
WerWolv
45ea22083e fix: Out of bounds memory read in hex editor with multi-byte visualizers 2022-07-30 22:44:02 +02:00
WerWolv
9ede1ab32c sys: Added provider open error message 2022-07-30 22:34:23 +02:00
WerWolv
3d5568f65f sys: Fixed global shortcuts not working correctly
Fixes #606
2022-07-30 22:01:49 +02:00
WerWolv
a097f162a7 ui: Added x3.0 and x4.0 scaling options
Closes #489
2022-07-30 21:38:46 +02:00
WerWolv
7a4541dac7 ui: Change the provider selector from a dropdown to a tab bar 2022-07-30 21:25:18 +02:00
WerWolv
004cab13dc sys: Replaced many info logs with debug logs 2022-07-30 11:26:51 +02:00
WerWolv
419a2875b3 sys: Added filter option to find view 2022-07-29 18:49:43 +02:00
WerWolv
ce193a0098 ui: Improved hovering detection for drawing hex editor tooltips 2022-07-29 18:02:44 +02:00
WerWolv
6f3a5e896c sys: Fixed hidpi framebuffer scaling
Actually fixes #598
2022-07-29 17:37:30 +02:00
WerWolv
19222aefcc fix: Accidental syntax error 2022-07-29 14:05:30 +02:00
WerWolv
b7324913e9 sys: Replaced Search view with a generic Find view
Closes #551
2022-07-29 13:59:57 +02:00
WerWolv
1b68ea4eba sys: Prevent providers from being modified when any async task is running 2022-07-29 11:35:29 +02:00
WerWolv
621c28bf6f sys: Fix Intel GPU detection not being used 2022-07-29 11:34:55 +02:00
SiderealArt
864b853306
lang; Added Chinese (Traditional) translation (#593)
* add zh-tw translation

* translator name & remove duplicate
2022-07-27 16:47:03 +02:00
WerWolv
93aa1247df fix: Switching page when jumping to selection not working 2022-07-26 15:01:21 +02:00
WerWolv
fb4c21b97a
build: Fix weird macOS build errors (#591)
* cleanup

* Remove prints
2022-07-26 14:59:08 +02:00
WerWolv
d356993e33 fix: Various search issues 2022-07-26 13:28:21 +02:00
WerWolv
cf017540e2 ui: Fixed rendering of advanced decoding highlighting with multi-byte visualizers 2022-07-25 23:46:32 +02:00
WerWolv
c776bb6c03 ui: Fixed hex editor highlighting with multi-byte visualizers 2022-07-25 15:13:26 +02:00
Polshakov Dmitry
e7399d223d
fix: Bitfields not being displayed correctly in Pattern Data view (#580)
Co-authored-by: Dmitry Polshakov <dmitry.polshakov@dsr-corporation.com>
2022-07-25 12:09:28 +02:00
xtexChooser
2cb65aac72
lang: Fix typo in Chinese translation (#589) 2022-07-25 12:07:18 +02:00
WerWolv
74f17fd638 ui: Properly hide hidden patterns in hex editor view 2022-07-25 11:33:30 +02:00
WerWolv
f3f13ae4d3 fix: Jumping to selection not working correctly with set base address 2022-07-23 21:31:54 +02:00
WerWolv
daffa4e555 fix: Edit -> Create Bookmark shortcut creating bookmark at wrong address 2022-07-23 21:17:17 +02:00
WerWolv
c618eec843 fix: Hex editor selection not working correctly when setting base address 2022-07-23 20:46:20 +02:00
WerWolv
c1a2697e42 ui: Added filter to bookmarks view 2022-07-23 20:38:38 +02:00
WerWolv
d4dd57c7c8 fix: Setting base address causing hex editor to display zeros 2022-07-23 18:21:37 +02:00
WerWolv
9e3c6898ad fix: Multi-byte hex editor visualizers displaying incorrect bytes 2022-07-23 15:21:24 +02:00
WerWolv
fe86f69da3 fix: Duplicate pattern data view entries when sorting the list
Fixes #584
2022-07-18 11:40:49 +02:00
WerWolv
ca3b5b72ca ui: Fixed highlighting color and tooltips 2022-07-17 13:12:28 +02:00
WerWolv
2e3bb8e555 patterns: Don't display empty strings in pattern data view 2022-07-16 13:08:08 +02:00
WerWolv
0c9eab70d5 fix: Crash when searching for an empty string 2022-07-16 13:01:40 +02:00
WerWolv
c20634e093 sys: Fixed crash on exit 2022-07-16 12:14:15 +02:00
WerWolv
5ee3b550bc ui: Fixed advanced decoding cell sizes 2022-07-16 12:14:06 +02:00
WerWolv
831dac9b47 patterns: Updated pattern language 2022-07-15 11:38:46 +02:00
WerWolv
626c34dce8 sys: Upgrade codebase to C++23 2022-07-15 11:37:10 +02:00
Lukas Cone
ed67c20cba
fix: User folders didnt load at startup (#578) 2022-07-14 11:38:23 +02:00
Lukas Cone
35c209c791
fix: In/Out variables not working, add recusive pattern scan (#579) 2022-07-14 11:37:02 +02:00
WerWolv
315109aa1f fix: Open File shortcut only working when Hex Editor view is selected
Fixes #576
2022-07-08 14:26:13 +02:00
WerWolv
8382f68601 fix: Data inspector string row not being editable correctly
Fixes #575
2022-07-08 09:21:49 +02:00
WerWolv
0571fe383c fix: Duplicate file chooser popup entries not being selectable 2022-07-07 23:29:50 +02:00
WerWolv
9f4625aa00 fix: Editing float and double data inspector rows yielding wrong values
Fixes #571
2022-07-07 18:35:10 +02:00
WerWolv
c8b7f350ad ui: Fix rendering and default view initializing 2022-07-07 07:16:38 +02:00
WerWolv
c752fba1c4 ui: Added backdrop image when no views are open 2022-07-06 11:30:06 +02:00
WerWolv
b401059678 ux: Automatically restore default layout when no view is open and a file is loaded 2022-07-05 12:10:54 +02:00
WerWolv
e981fa53f3 fix: std::u8string usage with nlohmann::json 2022-07-05 09:01:09 +02:00
WerWolv
4cd390ab02 fix: Various more unicode issues 2022-07-05 00:00:00 +02:00
WerWolv
d0f1a40f16 fix: Command Palette focus not working 2022-07-02 21:38:58 +02:00
WerWolv
de269e7a48 sys: Remove remaining references to hex.builtin from libimhex 2022-07-02 17:53:13 +02:00
WerWolv
0ed885fe0f sys: Removed all references to hex.builtin from main application 2022-07-02 16:22:38 +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
Shiroki Satsuki
ef5fbba56b
feature: Added network proxy support for hex::Net (#562)
* feat(i18n): update Chinese(Simplified) translation

* feat: proxy setting

* refactor: add hex::Net::setProxy

* fix: undefined symbol: hex::Net::m_proxyUrl

* style: m_proxyUrl -> s_proxyUrl
2022-07-01 14:05:32 +02:00
WerWolv
eadcc6f38c sys: Modernize some constexpr arrays 2022-07-01 12:14:15 +02:00
WerWolv
3db50a690c fix: Various issues with UTF-8 paths 2022-06-30 19:39:06 +02:00
WerWolv
034cc0cd2f ui: Improved byte selection text 2022-06-30 11:29:20 +02:00
WerWolv
8db2bdb6a7 fix: In/Out parameters not working correctly when using the preprocessor 2022-06-29 10:25:30 +02:00
Shiroki Satsuki
60c6abbfcc
lang: Update Chinese(Simplified) translation (#556)
* feat(i18n): update Chinese(Simplified) translation

* format: plugins/builtin/source/lang/zh_CN.cpp

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

* fix: revert submodule downgrade
2022-06-28 08:39:30 +02:00
WerWolv
d50be26771 lang: Fixed hardcoded localization string
#556
2022-06-27 18:41:13 +02:00
WerWolv
673027c82d fix: Crash on exit 2022-06-27 17:01:21 +02:00
WerWolv
b1b33b2ae4 ui: Added back missing selection byte count value 2022-06-25 23:01:38 +02:00
WerWolv
6506291e4e ui: Updated About page icon 2022-06-25 12:29:16 +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
c238767750 fix: Hex editor selection moving with shift + arrow keys not working correctly 2022-06-19 15:09:38 +02:00
WerWolv
116aeede2d lang: Fixed some localization issues 2022-06-17 14:35:54 +02:00
Polshakov Dmitry
662d80abea
feat: Add ability to remove bytes (#531)
Co-authored-by: Dmitry Polshakov <dmitry.polshakov@dsr-corporation.com>
2022-06-17 14:21:56 +02:00
WerWolv
f6ddb3c5e7 fix: Hex editor cell editing value taking value of next cell when double clicking
Fixes #541
2022-06-17 14:08:12 +02:00
WerWolv
4dcd26a21f fix: Editing value not being updated correctly when moving to next hex cell
Fixes #538
2022-06-17 10:16:58 +02:00
WerWolv
5e67a1f27b sys: Refactor tar file operations into their own class 2022-06-16 15:42:08 +02:00
WerWolv
6266883e81 fix: Crash when undocking hex editor view 2022-06-14 13:37:37 +02:00
WerWolv
5551e82fea ui: Fix hash function name localization 2022-06-14 11:54:34 +02:00
WerWolv
1e511acf37 fix: More vector out of bounds accesses 2022-06-14 10:17:50 +02:00
WerWolv
141ee62af9 ui: Fixed various background color issues with the new hex editor view
Closes #533
2022-06-13 23:43:34 +02:00
WerWolv
a5d202ffc8 fix: Vector out of bounds access 2022-06-13 21:56:02 +02:00
Polshakov Dmitry
91ac9ca120
fix: change displayEnd by reference in case of double click (#530)
Co-authored-by: Dmitry Polshakov <dmitry.polshakov@dsr-corporation.com>
2022-06-09 15:58:18 +02:00
WerWolv
a56ba50cf9 ux: Improved scrolling behaviour in hex editor view
Fixes #528
2022-06-09 15:57:25 +02:00
WerWolv
fdaad55cc6 ui: Fix misaligned selection highlighting in very big files 2022-06-09 15:10:33 +02:00
gordon--
038a6b9757
fix: Fallback languge being set to Portuguese (#524) 2022-06-04 15:52:02 +02:00
WerWolv
bad109ef8d fix: Resize and Insert bytes popups not working correctly 2022-06-03 18:47:03 +02:00
WerWolv
5623e1342b fix: Crashes when parsing invalid wstrings 2022-06-03 18:46:38 +02:00
WerWolv
6929ffb865 lang: Hooked up Brazilian Portuguese translation to the interface 2022-06-03 11:34:31 +02:00
WerWolv
2d7fdc0896 ui: Added hovering zoom popup to all visualizer nodes
Closes #519
2022-06-03 11:17:41 +02:00
WerWolv
d1d73bcff6 fix: Editing bytes in the hex editor being broken
Fixed #521
2022-06-03 10:53:03 +02:00
WerWolv
fadca9a34a fix: Bookmark header collapsing when name gets changed 2022-06-03 10:35:47 +02:00
Douglas Vianna
2ef3a0c157
lang: Added Brazilian Portuguese translation (#520)
* Add files via upload

* Add files via upload

* Update pt_BR.cpp
2022-06-01 20:17:28 +02:00
WerWolv
c96a0a7bda lang: Added missing localization for the hash view rewrite 2022-05-30 16:53:01 +02:00
WerWolv
fe6be686b7 ui/ux: Complete rewrite of the Hash view 2022-05-30 16:36:46 +02:00
WerWolv
6a6b6b94cf fix: std::pow on macOS not supporting i128 2022-05-29 20:52:22 +02:00
WerWolv
4701b1b67c fix: Pasting bytes in hex editor yielding wrong results
Closes #516
2022-05-29 19:00:21 +02:00
WerWolv
f1b2d5881e tools: Added IEEE 756 floating point number tester 2022-05-29 14:57:59 +02:00
WerWolv
efed07ac8b ux: Fixed another hex editor scroll issue 2022-05-28 22:31:40 +02:00
WerWolv
28a8adb26d fix: Hex editor selection scrolling not working correctly 2022-05-28 13:38:36 +02:00
WerWolv
e2bfd26bb3 fix: Bookmark menu entry causing wrong region to be marked 2022-05-28 12:56:26 +02:00
WerWolv
b8bbbd5489 feature: Added bool, DOS Date and DOS Time data inspector line 2022-05-27 20:49:38 +02:00
WerWolv
ffb9a8b7ed feature: Added Invert option to data inspector 2022-05-27 20:46:16 +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
xtexChooser
610f189839
feat(wiki): Support custom language for Wikipedia (#505)
* sys: support typeless settings

* feat(wiki): support custom language for Wikipedia

* update
2022-05-22 23:26:46 +02:00
WerWolv
c4b7d89713 fix: Random build errors with GCC 12.1.0 2022-05-17 20:46:42 +02:00
xtexChooser
3595a94b67
feat(i18n): update Chinese(Simplified) translation (#502) 2022-05-11 21:52:50 +02:00
WerWolv
87e616ad23 patterns: Fixed MIME pragma not being registered correctly 2022-04-27 08:54:38 +02:00
WerWolv
ea2c2df614 sys: Updated pattern language library 2022-04-18 01:22:06 +02:00
Lukas Cone
202a02af10
fix: Crash on linux when opened file gets modified (#487) 2022-04-17 23:07:14 +02:00
WerWolv
6ee71e3a9e sys: Fixed log spam when displaying the custom paths settings tab 2022-04-17 23:05:03 +02:00
WerWolv
17383083fb patterns: Use standalone pattern language library instead of built-in one 2022-04-17 16:57:30 +02:00
Polshakov Dmitry
4928c044af
patterns: Move pattern drawer into builtin plugin (#482)
Co-authored-by: Dmitry Polshakov <dmitry.polshakov@dsr-corporation.com>
2022-04-08 16:08:02 +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
965207d688 ui: Replace data inspector endian and format radio boxes with sliders 2022-03-26 17:44:01 +01:00
WerWolv
0f0a836fa0 ui: Enable undo and redo menu items only if that action is available 2022-03-26 17:21:51 +01:00
WerWolv
29fb1de882 ui/ux: Make information view plots not capture scroll, removed plot background 2022-03-26 17:19:08 +01:00
WerWolv
a807dc81a0 ui: Fixed displaying of file stat times in information view 2022-03-26 17:18:40 +01:00
WerWolv
a4d3173da9 ux: Moved bookmark remove button from body to header 2022-03-26 16:55:48 +01:00
WerWolv
35a520f132 ux: Disable various menu items when no provider is active 2022-03-26 16:42:11 +01:00
WerWolv
1c53d2c123 ux: Automatically remove recently opened file entries if the file doesn't exist anymore 2022-03-26 16:34:29 +01:00
WerWolv
591d98b55b sys: Improved string search filtering 2022-03-25 21:08:38 +01:00
WerWolv
f39ec58435 ui: Use pretty hexadecimal input fields in more places 2022-03-25 21:07:41 +01:00
WerWolv
368c943040 patterns: Added default parameters 2022-03-24 20:31:45 +01:00
WerWolv
ea848dbfc0 ux: Added support for mathematical expressions in goto fields 2022-03-22 09:06:02 +01:00
Polshakov Dmitry
5dfa9cf501
patterns: Move logic to draw patterns into separate class (#472)
* refactor(patterns): add visitor interface

* refactor(patterns): add public accessors

* refactor(patterns): add method to get pattern value

* refactor(pattern): make some methods public

* refactor(pattern): extract code to draw GUI

* refactor(patterns): remove GUI related code from patterns

* refactor: move common GUI function from pattern to pattern_drawer

* refactor(pattern_drawer): extract common code into methods

* refactor: rename ImGuiDrawer -> PatternDrawer

* refactor(patternr): move displayEnd into PatternDrawer

* refactor: use ArrayPattern concept to restrict argument type

Co-authored-by: Dmitry Polshakov <dmitry.polshakov@dsr-corporation.com>
2022-03-21 13:52:07 +01:00
Lukas Cone
ab5966fa9d
ui: fixed theme not changing on startup (#474) 2022-03-18 17:01:39 +01:00
WerWolv
2d87d29fa0 patterns: Fixed recursive types 2022-03-17 00:10:16 +01:00
WerWolv
f6a498854c ui: Added console to yara view, add support for yara's new console module 2022-03-15 23:48:49 +01:00
WerWolv
af882b172e sys: Cache provider validity when drawing toolbar items
Possibly addresses issue mentioned in #465
2022-03-13 17:46:59 +01:00
WerWolv
74ef9ece30 ui: Properly clear highlighting cache when switching provider
Fixes #471
2022-03-13 17:33:27 +01:00
Lukas Cone
3da1b3f05d
ui/patterns: Added settings tooltips, fixed pattern crash (#464)
* fix: pattern segfault typo

* ui: added few tooltips into settings

Co-authored-by: WerWolv <werwolv98@gmail.com>
2022-03-05 23:32:30 +01:00
xtexChooser
f21b22ae15
feat(i18n): update Chinese(Simplified) translations (#463)
* feat(i18n): update Chinese(Simplified) translations

* fix(i18n): fix typo

* feat(i18n): update translations
2022-03-05 23:30:21 +01:00
WerWolv
327e904dbc sys: Fixed many clang tidy warnings and typos 2022-03-04 20:52:39 +01:00
WerWolv
57c449936f sys: Improved math evaluator 2022-03-04 19:20:21 +01:00
WerWolv
efe6137067 ui: Improved look of the about page 2022-03-04 19:06:29 +01:00
WerWolv
2739320f10 sys: Refactor of filesystem functions. Fixed crashes where fs errors weren't caught correctly
Addresses the crash mentioned in #462
2022-03-04 11:36:37 +01:00
WerWolv
949a26ca0e patterns: Fixed memory leak when using format attribute 2022-03-03 12:11:47 +01:00
WerWolv
39da62532b fix: Trailing zero at end of string input buffers 2022-03-03 09:27:27 +01:00
WerWolv
483ba95d80 fix: Some text boxes not being writable 2022-03-03 09:24:09 +01:00
WerWolv
2300b0c692 fix: Searching not working at all 2022-03-03 09:06:10 +01:00
WerWolv
3d7adf6483 patterns: Make std::mem::find_sequence_in_range return -1 when no sequence is found 2022-03-01 16:55:45 +01:00
WerWolv
56079f70c7 ui: Added alpha preview to color picker tool 2022-03-01 16:36:06 +01:00
WerWolv
6c9e969099 ui: Improved base address setter popup 2022-03-01 16:23:53 +01:00
WerWolv
76f8e6d6ef fix: Crash when searching for empty strings 2022-03-01 16:18:39 +01:00
WerWolv
174cf3ed95 fix: Crash when entering too much text in various text boxes 2022-03-01 16:12:00 +01:00
WerWolv
5a02c38fcd store: Fixed more download issues when some folders don't have write perms 2022-02-28 23:10:04 +01:00
WerWolv
66d1b3fd2f
patterns: Huge refactor of Pattern Language runtime to use smart pointers (#458)
* patterns: Initial work to refactor pattern language to use smart pointers

* patterns: Fixed remaining issues, moved patterns to unique files

* sys: Added missing includes for macOS
2022-02-27 23:25:39 +01:00
Lukas Cone
9737b9cd62
patterns: Added find_sequence_in_range function (#448) 2022-02-26 15:53:18 +01:00
WerWolv
73d74f6cde fix: Crash when changing font size 2022-02-23 10:16:27 +01:00
WerWolv
75bd7805c9 ux: Added custom font and font size setting to settings menu, improve rebooting behaviour 2022-02-21 21:46:25 +01:00
WerWolv
7d9c24ff51 net: Increase store load timeout to 30 seconds 2022-02-21 18:57:53 +01:00
WerWolv
a8e83154f0 fix: Remove button of content store entries not updating correctly 2022-02-21 18:40:51 +01:00
WerWolv
27c2c4dc33 fix: Compile error because of prematurely committed change 2022-02-21 13:52:13 +01:00
WerWolv
754eb89f04 patterns: Fixed jumping to and displaying tooltips of static array entries 2022-02-20 23:54:31 +01:00
WerWolv
08da408471 ui: Added help text to data processor 2022-02-19 16:54:43 +01:00
WerWolv
4a4d5ac694 lang: Fixed broken localization in the Slice node 2022-02-19 16:31:04 +01:00
Lukas Cone
3b4d6d465b
fix: Welcome screen corrupted banner when settings are open (#447) 2022-02-19 00:35:07 +01:00
Lukas Cone
26f998ecb6
feature: User now can add custom directories (#444)
* feat: user directories

* ux: show setting categories in order they were created

* feat: add descriptable setting categories
2022-02-18 22:34:54 +01:00
WerWolv
4c8efed256 fix: Crashing when scrolling through the hex editor too quickly 2022-02-17 21:49:40 +01:00
WerWolv
7e075e5ebb sys: Added editing support for strings and chars in the data inspector 2022-02-17 14:43:04 +01:00
WerWolv
716d52f3e3 sys: Register languages before registering any other things 2022-02-16 21:32:33 +01:00
WerWolv
7117592f38 sys: Add highlighting provider function support, move pattern highlighting code out of hex editor 2022-02-16 14:57:13 +01:00
WerWolv
b9030d7e47 fix: Issue with erasing characters when pasting then into ImHex 2022-02-16 10:54:17 +01:00
WerWolv
b79cfa213d fix: Opening recent files with unicode characters in their path 2022-02-16 10:53:48 +01:00
WerWolv
60af9970c1 fix: Opening files with unicode characters in their path 2022-02-16 10:04:05 +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
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
4c51efc5e0 pattern: Improved parsing of integer literals, added support for hex floats 2022-02-02 16:03:18 +01:00
WerWolv
876dbe8179 sys: Final cleanup to get rid of everything builtin in the main application 2022-02-02 00:36:09 +01:00
WerWolv
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