WerWolv
68d72eac16
sys: Move imhex path resolution away from utils
2021-09-03 02:33:15 +02:00
WerWolv
19c367b540
ui: Added strings to data inspector
2021-09-01 02:01:50 +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
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
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
9289ebf4c9
patterns: Initial namespace support
2021-08-25 17:07:01 +02:00
WerWolv
d3a227d0bc
sys: Fixed open webpage command, added run command
2021-08-22 21:43:31 +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
63f4d553cc
ui: Add tooltips to custom titlebar buttons
2021-08-18 23:12:27 +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
d7c6451f53
nodes: Updated imnodes, added minimap
2021-08-17 13:38:59 +02:00
jam1garner
68df6d37f7
fix: Ensure projects have .hexproj extension on save ( #274 )
2021-07-31 18:05:21 +02:00
WerWolv
f4046fb8fc
fix: Keyboard shortcuts didn't work. Added Select all menu item
2021-07-29 21:09:18 +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
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
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
6219743c82
ux: Fix a bunch of weird behaviour in the data information view
2021-05-25 23:47:38 +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
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
d177d69724
fix: ImHex no longer behaves weirdly or crashes when no plugins are loaded
2021-04-21 23:31:51 +02:00
WerWolv
7f75f814e3
ui: Added some more icons in various places
2021-04-21 19:27:05 +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
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
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
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
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
2a7b698a3d
prv: Make data overlays work everywhere, not just in the hex editor view
2021-03-21 14:50:47 +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
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
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
WerWolv
4c9459def3
ui: Various ui improvements
2021-02-25 21:51:12 +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
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