WerWolv
1a157c7256
sys: Fixed variable name copy-paste
2021-08-29 22:17:43 +02:00
WerWolv
633fa7213a
sys: More compile time improvements
2021-08-29 22:15:18 +02:00
WerWolv
02d31d2d2a
sys: First attempt at reducing build times
2021-08-29 14:18:45 +02:00
WerWolv
f60f9f9fc9
patterns: Fix endian settings not applying to char16
2021-08-29 11:10:48 +02:00
WerWolv
a7e2c06bc4
sys: Better name for the pattern editor view
2021-08-28 21:51:33 +02:00
WerWolv
4b0b9acceb
sys: Create all new directory structures in init
2021-08-28 16:29:15 +02:00
WerWolv
a9a2ec7c7b
sys: Properly trigger debugger in signal handler
2021-08-28 16:28:58 +02:00
WerWolv
16d9571743
sys: Mark project file as dirty when modifying pattern
2021-08-28 16:16:06 +02:00
WerWolv
c1751f39ae
tools: Added wikipedia term definition search
2021-08-28 16:02:53 +02:00
WerWolv
e9c349fc55
ui: Correct some uses of ImGui::EndChild()
2021-08-28 14:22:02 +02:00
WerWolv
8dcd5c6e34
ui: Improve byte displaying in bookmarks
2021-08-28 01:47:26 +02:00
WerWolv
3138d2c4a2
tools: Added Anonfiles uploader
2021-08-28 00:45:59 +02:00
WerWolv
c56159da89
sys: Only restart ImHex when a relevant setting changed
2021-08-27 09:57:03 +02:00
WerWolv
d0aec62997
patterns: Move builtin functions to namespace. Add string functions
2021-08-27 09:56:20 +02:00
jam1garner
a7b9b185bb
ui: Update cheat sheet with recent changes ( #278 )
...
* Add Built-in functions section to cheat sheet
* Add Math Expressions section to cheat sheet
* Move variable placement to follow 'Structs' section
* Add undocumented built-in functions to cheat sheet
2021-08-25 19:54:59 +02:00
WerWolv
48b5262855
ui: Fix restoring window after minimized
2021-08-25 19:32:47 +02:00
WerWolv
9289ebf4c9
patterns: Initial namespace support
2021-08-25 17:07:01 +02:00
WerWolv
a88cd4d23d
ui: Improved welcome screen drawing
2021-08-22 22:11:55 +02:00
WerWolv
d3a227d0bc
sys: Fixed open webpage command, added run command
2021-08-22 21:43:31 +02:00
WerWolv
c84c106b17
ui: Add tips of the day
2021-08-22 21:11:01 +02:00
WerWolv
2362e7a11f
sys: Enable logging colors on Windows, hide console
...
Console log can still be seen now when running ImHex through the console but the window won't pop up by default anymore
2021-08-22 20:24:42 +02:00
WerWolv
6e0249d6ea
sys: Bye bye glad
2021-08-21 15:03:44 +02:00
WerWolv
72cf94106c
ui: Add interface scaling setting. Closes #7 , #283
2021-08-21 13:55:21 +02:00
WerWolv
8ad0239bca
ui/ux: Implement toolbar button functions
2021-08-21 13:53:50 +02:00
WerWolv
37d2d58d2f
ui: Added toolbar
2021-08-21 00:52:11 +02:00
WerWolv
0f45bef980
sys: Update ImGui and ImPlot
2021-08-21 00:51:50 +02:00
WerWolv
5b84011888
ux: Only save a crash backup when there actually were any changes
2021-08-18 23:12:54 +02:00
WerWolv
63f4d553cc
ui: Add tooltips to custom titlebar buttons
2021-08-18 23:12:27 +02:00
WerWolv
b66304fc91
ui: Use borderless window on Windows
2021-08-18 22:36:46 +02:00
WerWolv
48f27c2174
sys: Added "Restore auto backup" popup on first launch after crash
2021-08-17 22:54:09 +02:00
WerWolv
4d677f430b
sys: Save project backup if ImHex crashes
2021-08-17 13:41:44 +02:00
WerWolv
551da69a4c
sys: Fixed file modification detection
2021-08-17 13:41:19 +02:00
WerWolv
218f284678
nodes: Move ImNodes initialization to window class
2021-08-17 13:39:46 +02:00
WerWolv
d7c6451f53
nodes: Updated imnodes, added minimap
2021-08-17 13:38:59 +02:00
WerWolv
41db0bfafa
ui: Fixed welcome screen banner and hyperlink rendering
2021-08-16 23:55:06 +02:00
WerWolv
c75659db82
ui: Make splash screen DPI aware
2021-08-04 18:57:53 +02:00
WerWolv
0093d4418e
ui: Added icons to welcome screen
2021-08-04 14:01:24 +02:00
jam1garner
68df6d37f7
fix: Ensure projects have .hexproj extension on save ( #274 )
2021-07-31 18:05:21 +02:00
WerWolv
d345508195
fix: ImHex should crash less often now when exiting
2021-07-31 17:11:10 +02:00
WerWolv
e8d77f8269
sys: Embed resources into rodata
2021-07-31 17:10:19 +02:00
WerWolv
f4046fb8fc
fix: Keyboard shortcuts didn't work. Added Select all menu item
2021-07-29 21:09:18 +02:00
WerWolv
c6bd6d4a3b
ui: Added banner to welcome screen, improved laggy animations
2021-07-29 00:39:58 +02:00
WerWolv
07ad9ed772
tools: Added UNIX permissions calculator
2021-07-27 22:46:37 +02:00
WerWolv
fcb00292a5
fix: More invalid use of file io functions on Unix
2021-07-27 22:04:46 +02:00
WerWolv
af1d687758
fix: ImHex using way too much resources still
...
Now frames are rendered at only 5 FPS if no input events are being processed. Thanks a lot to @Tey. Properly fixes #189 now
2021-07-27 21:50:49 +02:00
WerWolv
d4e484e982
fix: File creation on Unix caused compile errors
2021-07-27 21:49:17 +02:00
WerWolv
2ccf8e777c
sys: Added create file and resize option
...
Fixes #172
2021-07-27 21:07:36 +02:00
WerWolv
35c7f826bc
views: Added constants search view
2021-06-26 01:18:33 +02:00
WerWolv
7f0bdc95da
patterns: Added support for declaring custom functions
2021-06-20 21:22:31 +02:00
Foster Brereton
ac53b4bcab
Add rpath to binary executable on macOS ( #258 )
...
* removing superfluous slash from paths
* Add a necessary rpath to the imhex binary
* add a little error handling to dlopen
* fall back on en-US if no language specified in prefs
* PR changes as per @WerWolv
2021-06-18 20:09:36 +02:00
WerWolv
b4b2c41b34
patterns: Added hidden
attribute
2021-06-17 23:42:43 +02:00
WerWolv
21f8fb4090
patterns: Added while statement for array sizing
2021-06-17 23:13:58 +02:00
WerWolv
8b7583e628
fix: Save As command was never executed
2021-06-08 23:04:28 +02:00
WerWolv
fff91d555b
ui/ux: Allow ImHex to redraw the screen while moving and resizing
2021-06-07 18:14:40 +02:00
WerWolv
e0112472d6
ui: Moved FPS counter to footer
2021-06-07 18:13:54 +02:00
WerWolv
1843db91af
fix: Drastically reduce CPU usage when using FPS limit
2021-06-06 19:16:53 +02:00
WerWolv
be81a6dc34
sys: Fixed disassembler selecting wrong region
2021-06-06 18:01:52 +02:00
WerWolv
73b5c8512d
sys: Added default polynomial and inital value for CRC16 and CRC32
2021-06-06 18:00:14 +02:00
WerWolv
b1adfe38e1
sys: Fixed wrong region being selected in Hash view
2021-06-06 17:59:54 +02:00
WerWolv
639ae7be4d
sys: Added CTRL + A to select all bytes in hex view
2021-06-06 17:33:14 +02:00
WerWolv
c42bd6008a
sys: Fixed various issues related to plugins
2021-05-29 21:51:00 +02:00
WerWolv
00236de741
ui: Added spinner to splash screen
2021-05-26 00:11:22 +02:00
WerWolv
6219743c82
ux: Fix a bunch of weird behaviour in the data information view
2021-05-25 23:47:38 +02:00
WerWolv
4de8990b5c
fix: Update prompt button not appearing properly
2021-05-24 23:34:17 +02:00
WerWolv
21525a7261
ui: Added ImHex directories table to about page
2021-05-23 23:35:04 +02:00
WerWolv
c760ccb5bb
ui: Fixed broken header text in about popup
2021-05-23 23:07:49 +02:00
WerWolv
7cca646e3f
ui/ux: Put capstone into SKIPDATA mode to always disassemble everything
...
If invalid data is reached, instead of stopping it will now insert a `.byte 0x00, 0x00, 0x00, 0x00` "instruction"
2021-05-23 23:04:20 +02:00
WerWolv
1aa21b8a2d
ui: Display correct offsets in hex editor header when base address is not aligned
2021-05-23 22:52:09 +02:00
WerWolv
143cdbd44b
ux: Update region setting after ticking "Match Selection" checkbox
2021-05-23 22:46:33 +02:00
WerWolv
fe977f4ba9
ui: Improve confusing "Quit application" popup text
...
This fixes #234
2021-05-21 23:59:28 +02:00
WerWolv
4ccd963037
ui: Properly display git info in help menu in release builds again
...
This fixes #233
2021-05-21 23:53:16 +02:00
WerWolv
b1c597e662
fix: ImHex crashing when default folders couldn't get created
...
This fixes #238
2021-05-21 23:46:36 +02:00
WerWolv
b6f76ad8ed
ux: Fixed MIME-based pattern loading popup not working properly
...
Fixed issues addressed in #225
2021-05-18 18:27:36 +02:00
WerWolv
0d11f4460f
nodes: Allow data processor content to be stored in project files
2021-05-18 18:06:47 +02:00
WerWolv
ee2b412a10
nodes: Added primitive saving and loading mechanism
...
Not fully integrated yet. Also doesn't yet save any node settings, just nodes and links
2021-05-17 23:17:58 +02:00
WerWolv
cf67adfa42
patterns: Added $ to keyword highlight list
2021-05-17 23:17:00 +02:00
WerWolv
4029c333ed
patterns: Added UTF-16 character type and string parsing
2021-05-02 20:13:37 +02:00
WerWolv
0c6bd73996
fix: After a init task failure, future tasks didn't run at all
2021-04-22 00:20:16 +02:00
WerWolv
d177d69724
fix: ImHex no longer behaves weirdly or crashes when no plugins are loaded
2021-04-21 23:31:51 +02:00
WerWolv
64e35886b7
fix: Possibly fix crashes on macos
2021-04-21 20:06:48 +02:00
WerWolv
7f75f814e3
ui: Added some more icons in various places
2021-04-21 19:27:05 +02:00
WerWolv
6527c942c2
ui: Fixed FPS display not being visible
2021-04-21 19:26:50 +02:00
WerWolv
32d47456de
patterns: Added array index syntax to rvalues and turned addressof/sizeof into operators
2021-04-21 10:17:42 +02:00
WerWolv
1f2fe6b93d
sys: Merge splash screen and ImHex into one application
...
This fixes so many issues the previous implementation had, especially on Unix
2021-04-20 21:46:48 +02:00
WerWolv
d7811e2c55
sys: Inverted logic in imhex args checking
2021-04-18 20:27:16 +02:00
WerWolv
ebbbcafe5c
sys: Implement more functionality into splash screen ( #223 )
...
* build: Add libcurl
* build: Stop the whole static linking on Windows mess. There's no use anymore
* sys: Added update detector and moved some startup tasks to splash screen
* sys: Updated ImHex icon
* fix: Settings button on welcome page once again works
* build: Fix build on Linux
* sys: Fixed splash window not searching all paths for resources
2021-04-18 20:24:42 +02:00
WerWolv
24c7f1d5b7
ui: Added really fancy splash screen (updater in the future)
2021-04-17 15:46:26 +02:00
WerWolv
93e1c4c4e8
sys: Drastically revamp the relative vs absolute address mess
2021-04-16 21:50:15 +02:00
WerWolv
72eac9f149
ux: Fixed goto to work with base addresses and added absolute goto
2021-04-16 19:44:52 +02:00
WerWolv
fddb790c70
fix: Pasting values properly works now
2021-04-16 19:44:22 +02:00
WerWolv
771bb22962
sys: Improve shortcut api
2021-04-16 19:43:54 +02:00
WerWolv
59dd372ec8
ux: Added support for pasting bytes
2021-04-16 17:01:01 +02:00
WerWolv
7795872be1
ux: Fix jumping to addresses when base address is not 0x00
2021-04-16 13:24:34 +02:00
WerWolv
2e338ebc01
fix: Properly localize Undo and Redo
2021-04-14 09:03:41 +02:00
WerWolv
45b00c8b5f
patterns: Make placements respect set base addresses and discard out of bounds variables
2021-04-13 21:50:24 +02:00
WerWolv
8a485575f5
ui: Added recent files to File menu
2021-04-13 08:41:59 +02:00
WerWolv
1e6b493b41
ux: Add slider to entropy plot
2021-04-12 22:20:05 +02:00
WerWolv
959988a670
fix: Stop all views from opening automatically on launch
2021-04-12 21:08:36 +02:00
WerWolv
907f25c231
patterns: Added parent
keyword to access members of the parent struct
2021-04-12 20:49:37 +02:00
ThisALV
0168a3b741
Fix: ignore non-existent magic directories ( #215 )
2021-04-03 17:08:16 +02:00
WerWolv
2f19ff768d
sys: Improved ScopeGuard syntax a lot
2021-03-31 22:54:43 +02:00
WerWolv
6223b26888
ui: Added hex editor highlight opacity setting
2021-03-29 23:07:18 +02:00
WerWolv
147aefc7e5
ux: Add close file button to file menu
2021-03-29 22:44:35 +02:00
WerWolv
0cc7004d0d
ux: Show currently loaded file name in window name
2021-03-29 22:44:23 +02:00
WerWolv
f263685e44
bug: Fix loading of bookmark name and comment from project file
...
Fixes #211
2021-03-27 22:54:26 +01:00
WerWolv
d805d976a6
sys: Replace the terrible event manager with a much better one
2021-03-27 11:36:36 +01:00
WerWolv
688ca01b1b
ux: Added undo and redo option
2021-03-26 21:43:24 +01:00
WerWolv
42461c467f
ux: Properly use current key layout for shortcuts
2021-03-26 21:40:35 +01:00
WerWolv
2c3a6d38ab
nodes: Properly reset data overlays when errors occurred
2021-03-21 14:52:21 +01:00
WerWolv
ce22028781
imgui: Fix floating windows creating their own task bar items
2021-03-21 14:51:21 +01:00
WerWolv
2a7b698a3d
prv: Make data overlays work everywhere, not just in the hex editor view
2021-03-21 14:50:47 +01:00
WerWolv
ef747cc4c0
sys: Explicitly delete views so destructors get called properly
2021-03-16 22:44:37 +01:00
WerWolv
2326e090af
sys: Properly delete data provider on exit
2021-03-09 19:32:04 +01:00
WerWolv
8423f78586
nodes/patterns: Fixed crashes when recursion occurred
2021-03-07 13:20:33 +01:00
WerWolv
d4265f16eb
node: Added arithmetic nodes (add, sub, mul, div, mod)
2021-03-06 14:46:47 +01:00
WerWolv
cadd4e5c2b
sys: Lower down FPS to 5 when ImHex loses focus
...
#189
2021-03-06 13:36:20 +01:00
WerWolv
6cba868e20
sys: Added FPS limit, some power saving
...
#189
2021-03-06 13:09:20 +01:00
Robin Lambertz
4f98149fa7
api: Fix various crashes on bad settings data. ( #186 )
...
getSetting now returns a straight nlohmann::json instead of an optional.
If the data isn't present, it will return a json null.
All accesses to the settings will first check that the data has the
expected type.
2021-03-06 12:40:29 +01:00
WerWolv
4a908a314f
lang: Added German translation, improved language handling
2021-03-03 22:26:17 +01:00
WerWolv
188723e888
sys: Replace printf formatting with libfmt
2021-03-03 19:58:22 +01:00
WerWolv
a91afdb6ae
ux: Allow copying value from data inspector
2021-03-02 22:09:38 +01:00
WerWolv
b5912c59cc
sys: Last one
2021-03-02 16:45:39 +01:00
WerWolv
a9635bb78a
sys: Missed one
2021-03-02 14:36:29 +01:00
WerWolv
9481c70ecd
sys: ImU64 is not 64 bit everywhere...
2021-03-02 14:32:18 +01:00
WerWolv
c84ac0bc10
sys: Fix compile on Unix
2021-03-02 14:22:47 +01:00
WerWolv
de327cf3a4
ui: Make use of ImPlot to drastically improve information view
2021-03-02 13:49:45 +01:00
WerWolv
2e4eaf8d33
ux: Fixed region selection only selecting one byte
2021-03-02 13:49:23 +01:00
WerWolv
f0b392575f
ui: Added ImPlot library
2021-03-02 13:48:23 +01:00
Robin Lambertz
293fc17aa6
events: Fix passing path through argv ( #187 )
2021-03-01 20:45:13 +01:00
WerWolv
7838d420d8
ui/ux: Updated dependencies list, make them hyperlinks
2021-03-01 08:59:29 +01:00
WerWolv
3e6865ffa9
sys/build: Properly support per-system metadata file paths ( #181 )
...
* sys: Move away from metadata paths next to executable in the application
Build system doesn't properly install / pack stuff yet
* build: Updated README to contain better install instructions
* sys: Search for imhex resource files in ~/Application Support
* sys: MAX_PATH -> PATH_MAX
* sys: Seach for imhex resource files in Application Support using NSFileManager (#180 )
* sys: Allow for multiple file search paths
Also use install prefix instead of just /usr on Linux
* build: Fixed IMHEX_INSTALL_PREFIX macro definition
* build: Fix duplicate switch entry on Linux
* docs: Updated readme to properly reflect new paths and dependencies
* sys: Install files in their proper paths on linux (#183 )
* Install files in their proper paths on linux
* Only create user directories
* Follow the XDG specification on linux
XDG specification specifies how to find config and data directories on
linux systems. Specifically, it says this:
- Data should be written to $XDG_DATA_HOME
- Config should be written to $XDG_CONFIG_HOME
- Data should be read from $XDG_DATA_HOME:$XDG_DATA_DIRS
- Config should be read from $XDG_CONFIG_HOME:$XDG_CONFIG_DIRS
The default values are this:
- XDG_DATA_HOME: $HOME/.local/share
- XDG_CONFIG_HOME: $HOME/.config
- XDG_DATA_DIRS: /usr/share:/usr/local/share
- XDG_CONFIG_DIRS: /etc/xdg
Platforms with non-standard filesystems (like NixOS) will correctly set
up those environment variables, allowing softwares to work unmodified.
In order to make integration as simple as possible, we use a simple
header-only dependency called XDGPP which does all the hard work for us
to find the default directories.
* Look for plugins in all Plugin Paths
If the plugin folder was missing from one of the PluginPaths, we would
immediately stop loading plugins. We now keep looking even if one of the
path is missing.
Co-authored-by: Nichole Mattera <me@nicholemattera.com>
Co-authored-by: Robin Lambertz <unfiltered@roblab.la>
2021-03-01 08:56:49 +01:00
WerWolv
31e5ec7bc3
Add Yara rule matching interface ( #178 )
...
* build: Added YARA as submodule
* ui: Added basic yara rules matching interface
* build: Make libyara link libpthread on Unix
* ui: Add jump-to feature to yara matches list
* yara: Add more modules and patch yara to support mbedtls crypto
* yara: Started to fix scanning of bigger data
* yara: Fixed implementation
* ui: Improved yara matcher interface and added localization
* build: Ignore changed files in yara submodule
* yara: Fixed rules matching agianst entire file
* yara: Properly handle compiler errors
2021-02-26 13:35:19 +01:00
@xAndy
372981920e
Don't dlclose nullptrs in plugins ( #179 )
...
* dont dlclose nullptrs in plugins
this fixes a segmentation fault at startup when dlclose is called with a nullptr
* Style fixes
Co-authored-by: WerWolv <werwolv98@gmail.com>
2021-02-26 12:49:33 +01:00
WerWolv
4c9459def3
ui: Various ui improvements
2021-02-25 21:51:12 +01:00
WerWolv
205d88cd23
ui: Added custom theme colors, improved look of description button
2021-02-25 00:17:41 +01:00
WerWolv
02a63639da
ui: Add font awesome icons font
2021-02-24 22:42:26 +01:00
WerWolv
4a1de5d1cb
bookmarks: Added ability to lock bookmarks
2021-02-24 21:42:18 +01:00
WerWolv
209d33ca57
ui: Fixed bookmark name and comment not accepting changes
2021-02-24 21:24:43 +01:00
WerWolv
0af8b8155f
ui/ux: Give up on custom ImGui file browsers and just use the system one
2021-02-22 23:36:13 +01:00
WerWolv
7f97416e6e
ui/ux: Improve data analyzer interface, make it run asynchronously
2021-02-22 13:08:06 +01:00
WerWolv
3cbbfb1782
lang: Localize provider data information strings
2021-02-22 13:07:25 +01:00
WerWolv
ced9706c5b
ui: Turned spinner into ImGui widget
2021-02-22 13:06:53 +01:00
WerWolv
0e2add204b
ux: Disassemble asynchronously
2021-02-22 11:56:33 +01:00
WerWolv
490c7e8fec
ux: Search for strings asynchronously
2021-02-22 10:16:58 +01:00
WerWolv
0a29f25330
ui: Open all views and create default layout on first launch
2021-02-21 13:49:03 +01:00
WerWolv
5532a0673f
ui: Localized new strings
2021-02-20 22:41:17 +01:00
WerWolv
9b9c040d2d
ui: Run pattern language runtime asynchronously, added compile button
2021-02-20 22:38:31 +01:00
WerWolv
0da508594b
ui/api: Added loaded plugin information to welcome screen
2021-02-19 13:22:12 +01:00
WerWolv
89643d1538
lang: Added some strings that went missing
2021-02-19 11:16:09 +01:00
WerWolv
e8027293bf
Disabled multi viewports support on Linux as it didn't work well
...
Also cleanup and fixing a typo
2021-02-18 17:10:56 +01:00