WerWolv
405b97e4d3
fix: is_integral and is_signed causing errors on >= gcc 11
...
This fixes #265
2021-07-19 01:11:28 +02:00
WerWolv
35c7f826bc
views: Added constants search view
2021-06-26 01:18:33 +02:00
WerWolv
1e1cdb0ef0
patterns: Fixed multiple parse and evaluate issues
2021-06-22 16:04:47 +02:00
WerWolv
fde5b39495
patterns: Added function while loops
2021-06-21 00:21:38 +02:00
WerWolv
c9fae32ddf
patterns: Added function if statements, improved returns
2021-06-20 23:46:13 +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
Foster Brereton
3cef784f75
Drop deployment target flag from libimhex plugin ( #257 )
2021-06-17 20:26:12 +02:00
WerWolv
a7092ada08
fix: Parent keyword not working at all
2021-06-16 21:13:54 +02:00
WerWolv
35b92ac453
fix: Remove windows includes from built-in plugin files
2021-06-07 20:11:24 +02:00
WerWolv
e0112472d6
ui: Moved FPS counter to footer
2021-06-07 18:13:54 +02:00
WerWolv
7007fb53e7
ui: Added CPU usage to footer on windows
2021-06-06 19:18:14 +02:00
WerWolv
44000d2518
sys: Move windows-only footer items to the windows plugin
2021-06-06 19:17:51 +02:00
WerWolv
eaacb4d102
ui: Added proper localization for TTY Console
2021-06-06 18:19:17 +02:00
WerWolv
53c8f6ec74
sys: Fix crashes with TTY console, add sending of signals
2021-06-05 22:39:47 +02:00
WerWolv
d1b942cea5
plugin/windows: Fixed scrolling and last line displaying in TTY console
2021-05-29 23:47:08 +02:00
WerWolv
c22d1033eb
plugin/windows: Added TTY Console view
2021-05-29 21:52:52 +02:00
WerWolv
c373174436
plugins: Added windows-only features plugin
2021-05-29 21:52:18 +02:00
WerWolv
21525a7261
ui: Added ImHex directories table to about page
2021-05-23 23:35:04 +02:00
Matthias Mailänder
e688d34587
build: Fix yara system lib detection and add support for fmt and curl ( #241 )
...
* find yara with pkgconfig
* Use system fmt and curl.
* Flip/unify system library conditional
2021-05-23 14:16:38 +02:00
Matthias Mailänder
db5402dc09
build: Use system libraries if so desired. ( #210 )
...
Co-authored-by: WerWolv <werwolv98@gmail.com>
2021-05-23 12:16:14 +02:00
WerWolv
fe977f4ba9
ui: Improve confusing "Quit application" popup text
...
This fixes #234
2021-05-21 23:59:28 +02:00
WerWolv
fee176dc72
nodes: Added data size node
2021-05-18 21:24:33 +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
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
ea71389982
fix: Invalid type in integer literal ast node on mac
2021-04-21 10:37:14 +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
39b935affe
build: Fix tons of useless build artifacts to be included on install
2021-04-20 22:11:50 +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
5b692067d8
patterns/fix: Accessing variables in global scope no longer crashes
2021-04-18 20:26:23 +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
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
a3b3eeb56a
ui: Improve how pointers are displayed in pattern data view
2021-04-16 15:59:13 +02:00
WerWolv
c3e41710c7
patterns: Properly apply base addresses to pointers
2021-04-16 10:11:10 +02:00
WerWolv
386ae7d8c3
fix: Using pointers no longer crashes ImHex
2021-04-15 15:56:39 +02:00
WerWolv
2e338ebc01
fix: Properly localize Undo and Redo
2021-04-14 09:03:41 +02:00
WerWolv
8314b147d5
patterns: Fix sign extension for signed types.
...
Fixes #216
2021-04-13 22:30:57 +02:00
WerWolv
cab3410d23
patterns: Fix members getting added multiple times
2021-04-13 22:08:02 +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
183b8770bb
patterns: Added base_address
pragma
2021-04-13 21:49:31 +02:00
WerWolv
950598911c
patterns: Allow usage of types within itself and used out-of-order
2021-04-13 20:40:21 +02:00
WerWolv
8a485575f5
ui: Added recent files to File menu
2021-04-13 08:41:59 +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
WerWolv
2f19ff768d
sys: Improved ScopeGuard syntax a lot
2021-03-31 22:54:43 +02:00
WerWolv
a2c80e3fd6
patterns: Fixed enum constant literals not being interpreted as correct type
2021-03-31 22:10:06 +02:00
WerWolv
356273d71e
bug: Fix binary value in base converter being shifted by one
...
Fixes #212
2021-03-30 18:38:28 +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
a17bc43d80
lang: Improved Italian translation
2021-03-27 19:13:46 +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
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
b7dd936dae
patterns: Fixed ternaries not being proper numeric expressions
2021-03-16 21:29:14 +01:00
WerWolv
f34b946ea9
patterns: Fixed eval_depth default and preprocessor errors
2021-03-15 08:11:19 +01:00
WerWolv
ee10322603
nodes: Added buffer combine, slice and repeat nodes
2021-03-07 13:44:22 +01:00
WerWolv
af444999bf
ui: Added used memory footer item on Windows
2021-03-07 13:20:55 +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
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
tomGER
32cfaac1e2
lang: Small corrections to de_DE ( #193 )
...
* Small corrections to German translation
* Change wording of match_selection
2021-03-04 16:22:18 +01:00
Crusty ★
d954d9280f
lang: Added Italian translation ( #196 )
...
* Added Italian (IT) translation
* Address fixes
* fix missing file in CMakeList
2021-03-04 13:52:35 +01:00
WerWolv
0ad0a91fa4
build: Use libfmt as header-only library instead
2021-03-03 23:33:44 +01:00
WerWolv
c18cb9f61e
build: Compile libfmt with -fPIC
2021-03-03 22:51:09 +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
4e86d874a7
sys: Fixed one missed api call update on non-windows
2021-03-02 23:15:15 +01:00
WerWolv
8646fb4487
patterns: Prevent division by zero
2021-03-02 22:55:23 +01:00
WerWolv
a91afdb6ae
ux: Allow copying value from data inspector
2021-03-02 22:09:38 +01:00
WerWolv
b6939654b3
lang: Fix color attribute not being applied to array entries
2021-03-02 14:23:06 +01:00
WerWolv
3a7a3a6e9c
lang: Add dataSize
function to get size of loaded data
2021-03-02 13:55:43 +01:00
WerWolv
de327cf3a4
ui: Make use of ImPlot to drastically improve information view
2021-03-02 13:49:45 +01:00
WerWolv
f1c03f8b1d
sys: Place config files in AppData/Local/imhex folder on Windows
...
Fixes #182
2021-03-02 10:20:29 +01:00
WerWolv
7a2b3397a3
repo: Cleanup
2021-03-01 09:03:13 +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
e6dc731921
build: Fixed libyara building on MacOS
2021-02-26 17:29:57 +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
26b881e4c9
imgui: Fixed fontawesome
2021-02-25 21:50:57 +01:00
WerWolv
93802f5872
patterns: Always interpret color attribute value as hexadecimal
2021-02-25 12:08:46 +01:00
WerWolv
4a1de5d1cb
bookmarks: Added ability to lock bookmarks
2021-02-24 21:42:18 +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
a4b4360df6
patterns: Fixed more memory leaks
2021-02-22 10:01: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
615a96f9d8
api: Improved documentation
2021-02-19 17:36:10 +01:00