1
0
mirror of synced 2024-12-05 04:27:56 +01:00
Commit Graph

232 Commits

Author SHA1 Message Date
WerWolv
1ddd3ea2b9 fix: Custom pattern include paths not working correctly 2022-08-18 00:30:02 +02:00
WerWolv
e779285be4 feat: Added basic ability to interrupt long running tasks 2022-08-17 16:15:36 +02:00
WerWolv
aa01d58b33 ui: Increase window size when a bigger font is being used 2022-08-16 11:49:07 +02:00
WerWolv
0c0caf6942 fix: Restarting ImHex not working correctly 2022-08-16 11:48:37 +02:00
WerWolv
29e970fd81
fix: Out of bounds strlen read 2022-08-16 00:29:53 +02:00
WerWolv
6b62a1963e fix: Some occurrences of undefined behaviour 2022-08-15 21:08:09 +02:00
WerWolv
85f0e04d0e feat: Allow recents to also display other providers 2022-08-14 10:07:45 +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
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
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
a97f853110 fix: More search issues 2022-08-06 13:16:53 +02:00
WerWolv
3dc5f0e2be fix: Buffered Reader not reading last byte
Closes #653
2022-08-06 13:07:02 +02:00
WerWolv
d7accb6916 feat: Allow Find view to find overlapping occurrences
Closes #653
2022-08-06 12:57:47 +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
352df24160 build: Move another warning disable to the build script 2022-08-05 08:42:09 +02:00
WerWolv
ace25d353b fix: GLFW error on exit 2022-08-03 10:45:50 +02:00
WerWolv
0ac8fcd1eb feat: Added binary pattern search to find view 2022-08-03 10:19:34 +02:00
WerWolv
59449bbe47 fix: Portable version detection not working correctly 2022-08-01 23:25:13 +02:00
WerWolv
b8c034f8c5 sys: Prevent portable Windows version from writing to AppData
Fixes #627
2022-08-01 14:51:40 +02:00
WerWolv
84e049be07 build: Fixed some issues to make porting to other systems easier 2022-08-01 14:35:25 +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
3d5568f65f sys: Fixed global shortcuts not working correctly
Fixes #606
2022-07-30 22:01:49 +02:00
WerWolv
004cab13dc sys: Replaced many info logs with debug logs 2022-07-30 11:26:51 +02:00
WerWolv
24c243bcf6 sys: Reset settings if it cannot be parsed anymore 2022-07-30 11:19:56 +02:00
WerWolv
2b9e43db82 fix: Crash when using BufferedReader ReverseIterator 2022-07-29 21:44:00 +02:00
WerWolv
419a2875b3 sys: Added filter option to find view 2022-07-29 18:49:43 +02:00
WerWolv
6f3a5e896c sys: Fixed hidpi framebuffer scaling
Actually fixes #598
2022-07-29 17:37: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
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
c1a2697e42 ui: Added filter to bookmarks view 2022-07-23 20:38:38 +02:00
WerWolv
31a746f3fc fix: Issue opening files that contain special characters on Linux
This is a (hopefully temporary) hack. Fixes #568
2022-07-06 11:29:24 +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
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
f9fc7051fc tests: Added UTF-8 file operation tests 2022-07-02 10:05:25 +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
3db50a690c fix: Various issues with UTF-8 paths 2022-06-30 19:39:06 +02:00
WerWolv
bb429aae62 fix: Theme detection issues on all OSes 2022-06-30 15:09:57 +02:00
WerWolv
ac964dc5ec fix: Path handling and plugin loading breaking with non-ASCII paths 2022-06-29 21:34:17 +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
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
5e67a1f27b sys: Refactor tar file operations into their own class 2022-06-16 15:42:08 +02:00
WerWolv
5551e82fea ui: Fix hash function name localization 2022-06-14 11:54:34 +02:00
WerWolv
fe6be686b7 ui/ux: Complete rewrite of the Hash view 2022-05-30 16:36:46 +02:00
WerWolv
f1b2d5881e tools: Added IEEE 756 floating point number tester 2022-05-29 14:57:59 +02:00
WerWolv
8a24517fb9 fix: Disable warnings only on GCC 12 and higher 2022-05-28 19:59:38 +02:00
WerWolv
a4c8bcab18 fix: Disable another warning to make macOS happy 2022-05-28 16:36:00 +02:00
WerWolv
7bf94ffe42 fix: Compile errors on platforms that don't support -Wstringop-overread yet 2022-05-28 16:24:57 +02:00
WerWolv
088205385f fix: Workaround that broke functionality. Instead disable warnings
This actually fixes #515 for now
2022-05-28 16:19:08 +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
c4b7d89713 fix: Random build errors with GCC 12.1.0 2022-05-17 20:46:42 +02:00
WerWolv
5f17d7aa75
fix: Narrowing conversion error in Encoding File parsing 2022-05-17 17:49:14 +02:00
WerWolv
17383083fb patterns: Use standalone pattern language library instead of built-in one 2022-04-17 16:57:30 +02:00
WerWolv
f5fe49923b fix: Let's not cause UB on every event call... 2022-04-15 19:02:36 +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
b7132af214 patterns: Added missing override 2022-04-07 18:19:19 +02:00
WerWolv
74a5c974e6 patterns: Fixed comments behind pre-processor defines 2022-04-07 13:15:07 +02:00
WerWolv
942a4e9616 patterns: Fixed selection of static array entries 2022-04-07 12:59:23 +02:00
WerWolv
76f732dc53 patterns: Fixed various render issues 2022-04-07 12:47:45 +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
e72a30ca59 patterns: Make default parameters work properly with parameter packs 2022-03-25 09:53:58 +01:00
WerWolv
368c943040 patterns: Added default parameters 2022-03-24 20:31:45 +01:00
WerWolv
a16e387dff patterns: Fixed copying of type decl nodes 2022-03-24 18:00:00 +01:00
WerWolv
95cf828975 patterns: Prevent usage of incomplete types 2022-03-24 17:00:10 +01:00
WerWolv
c09d85f46d patterns: Allow forward declaring of types 2022-03-24 16:57:12 +01:00
WerWolv
c2803fe1e2 sys: Fixed build errors and warnings on Unix 2022-03-22 09:34:26 +01:00
WerWolv
98dfc2e286 sys: Replace __builtin_unreachable() with hex::unreachable() 2022-03-22 09:08:34 +01:00
WerWolv
f7cfee55d5 ui: Enable multi viewports on Linux again if you're not on Wayland 2022-03-22 08:20:14 +01:00
WerWolv
26a7b3325d patterns: Unified displaying and stringifying string patterns 2022-03-22 08:19:46 +01:00
WerWolv
47fd5bdc00 patterns: Fixed pointer type displaying causing crashes
Fixes #480
2022-03-22 08:19:14 +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
WerWolv
bc7c494316 patterns: Fixed highlighting of static array entries 2022-03-19 00:47:36 +01:00
WerWolv
17a2be41da patterns: Fixed crash when applying certain attributes to types 2022-03-19 00:24:41 +01:00
WerWolv
89fe063b02 patterns: Fixed struct members that overlap with [[no_unique_address]] members not being highlighted 2022-03-17 23:32:22 +01:00
WerWolv
7061a1ebfa patterns: Allow bitfield fields to be selected 2022-03-17 23:31:36 +01:00
WerWolv
ec9a947259 patterns: Fixed highlight colors of arrays not matching color shown in pattern data view 2022-03-17 23:31:16 +01:00
WerWolv
11441d632b patterns: Fixed indentation of inlined variables 2022-03-17 23:30:38 +01:00
WerWolv
a17b647e79 patterns: Fixed static arrays showing same value for all entries 2022-03-17 23:29:52 +01:00
WerWolv
2d87d29fa0 patterns: Fixed recursive types 2022-03-17 00:10:16 +01:00
Polshakov Dmitry
d677762dff
perf(pattern): save display value in cache (#466)
Co-authored-by: Dmitry Polshakov <dmitry.polshakov@dsr-corporation.com>
2022-03-16 00:01:01 +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
WerWolv
327e904dbc sys: Fixed many clang tidy warnings and typos 2022-03-04 20:52:39 +01:00
WerWolv
96e9400761 sys: Fixed unit test building 2022-03-04 14:34:37 +01:00
WerWolv
3b7a928313 sys: Fixed missing includes on Unix 2022-03-04 11:44:11 +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
559b86efe1 patterns: Display actual type name of types declared with using 2022-03-03 13:33:45 +01:00
WerWolv
949a26ca0e patterns: Fixed memory leak when using format attribute 2022-03-03 12:11:47 +01:00
WerWolv
2880ca00da patterns: Fixed crash when using attributes 2022-03-03 11:19:46 +01:00
WerWolv
483ba95d80 fix: Some text boxes not being writable 2022-03-03 09:24:09 +01:00
WerWolv
cc59b36c54 patterns: Properly reset back current control flow type in arrays
Fixes issue mentioned in #460
2022-03-01 20:57:21 +01:00
WerWolv
61d9918dae patterns: Evaluate return value before setting control flow type
Fixes another issue mentioned in #460
2022-03-01 20:37:27 +01:00
WerWolv
775b3e8c52 patterns: Fixed crash when using control flow statements without value
Fixes #460
2022-03-01 20:17:03 +01:00
WerWolv
540f468e8a patterns: Fixed offset being incorrectly incremented when calling functions 2022-03-01 09:40:08 +01:00
WerWolv
b57730c28b sys: Disable buffering on log files 2022-03-01 00:03:28 +01:00