Commit Graph

233 Commits

Author SHA1 Message Date
Nik 5171bea0bf
feat: Added cross-platform .NET scripts support (#1185)
This PR intends to add support for .NET scripts that can extend ImHex's
functionality in a portable and cross-platform way.

---------

Co-authored-by: Justus Garbe <55301990+Nowilltolife@users.noreply.github.com>
2023-07-15 14:29:14 +02:00
WerWolv 0f54a3a1f3 build: Added option to disable strict warnings 2023-07-15 10:02:19 +02:00
WerWolv 6c4fdd146f build: Use llvm-ar and llvm-ranlib on Windows 2023-07-14 21:51:18 +02:00
WerWolv 65d9509c38 build: Add checked option to enable LTO 2023-07-09 20:34:49 +02:00
WerWolv 13b4201446 build: Clean up build logs 2023-06-26 08:45:33 +02:00
Nik f703b15165
feat: Added statistics and crash log uploading (#1149)
Co-authored-by: Justus Garbe <gihihoh@gmail.com>
2023-06-20 11:55:56 +02:00
classabbyamp 82f5900759
build: Added option to disable update checking (#1036)
This is aimed at use by linux distros, where package updates come from a
central location, and users shouldn't need to worry about updating ImHex
on their own. This disables parts of the ImHex UI that would not be
useful in that case.

Tested and confirmed that this works in both states of the of the
`-DIMHEX_DISABLE_UPDATE_CHECK` switch.
2023-05-05 22:03:45 +02:00
WerWolv 09b7794d71 build: Added option to disable stack traces 2023-02-17 17:52:10 +01:00
WerWolv e426606542 build: Fixed flatpak build issues 2023-02-12 21:55:09 +01:00
WerWolv 79ecf7fa59 build: Fix non-Windows build 2023-02-01 09:38:03 +01:00
WerWolv 4c761df181 build: Improve build script a bit 2023-02-01 09:20:46 +01:00
WerWolv 0c302da0db build: Add option to use the GTK file picker instead of portals on Linux
Fixes #882
2023-01-13 20:11:27 +01:00
WerWolv eb4a1e2692 build: Try to clean up bundled dependencies a bit 2023-01-04 12:34:38 +01:00
iTrooz_ a537fe90a0
build: Added `make uninstall` (#784) 2022-10-14 15:35:45 +02:00
Aniruddha Deb 554e625bda
build: Make local includes take priority over system includes (#759) 2022-10-01 11:02:59 +02:00
iTrooz_ 38162c0129
build: Use the bundled CA cert in AppImage (#694)
* Added option to bundle CA

* use bundled CA for AppImage

* Fix bundled CA not working on Linux

* revert change to add null terminated string

* set IMHEX_USE_BUNDLED_CA to ON on Windows
2022-08-26 00:21:17 +02:00
iTrooz_ 6a88c7cbaa
git: Make sure Linux CI doesn't build ImHex twice (#689)
* install deb package in a different folder than AppImage

* added comment for Ubuntu cmake build

* fixed typos

* separate cmake build for deb and appimage
2022-08-18 23:03:31 +02:00
Vladyslav 5d11fc960e
build: Updated minimum required cmake version to 3.20 (#677)
As per cmake.org/cmake/help/latest/prop_tgt/CXX_STANDARD.html,
`set(CMAKE_CXX_STANDARD 23)` requires minimum cmake version bump to 3.20
2022-08-17 18:39:49 +02:00
WerWolv d7accb6916 feat: Allow Find view to find overlapping occurrences
Closes #653
2022-08-06 12:57:47 +02:00
iTrooz_ e816b67472
build: Fix various issues for upstream Fedora compatibility (#642)
* cmake: use GNUInstallDirs to find install dirs on Linux

* install plugins to lib/imhex/plugins

* fix included files in imhex.spec

* fix the release CI + do not upload x86_64 folder for Fedora

* change rpm names

* added IMHEX_STRIP_RELEASE option to optionally strip releases files (was done all the time before)

* Customize our imhex.spec file (use online building for our Fedora package)

* added IMHEX_PLUGINS_IN_SHARE option for AppImage

* test
2022-08-04 20:37:57 +02:00
WerWolv 69544bdf06 build: Make sure ImHex is being compiled with GCC 12.1.0 or higher 2022-08-02 11:59:29 +02:00
WerWolv 84e049be07 build: Fixed some issues to make porting to other systems easier 2022-08-01 14:35:25 +02:00
WerWolv 438386a224 build: Fixed build outside of plugins 2022-07-27 08:45:33 +02:00
WerWolv 80c4949dfb build: Cleanup version loading logic to make it available for plugins 2022-07-27 08:27:38 +02:00
WerWolv 51f2b24daa git: Create new ImHex-Patterns release on new ImHex release 2022-07-18 20:02:12 +02:00
WerWolv 626c34dce8 sys: Upgrade codebase to C++23 2022-07-15 11:37:10 +02:00
WerWolv a57fa34f82 build: Added option for Offline builds 2022-07-08 14:17:22 +02:00
iTrooz_ ceb07b7425
build: Added AUR/ArchLinux support (#566)
* store version in file

* use version file in release workflow

* use new version file in build workflow

* ArchLinux build

* setup cache for ArchLinux

* add version check in release CI

* edit step description

* update pkgbuild to install correctly

* AUR deploy

* rename version file to VERSION

* install all default plugins in PKGBUILD

* Added emojis to build workflow

* Added emojis to release workflow

* separate update packages and install dependencies in two steps

* fix Release CI

* add md5Sums to PKGBUILD

* make PKGBUILD point to the official repo + set v in tag
2022-07-04 21:40:22 +02:00
iTrooz_ 546d0a4922
build: Fix the .dmg structure (#550)
* build: Initial attempt to fix .dmg mess

* build: Still download database resources on other OSes

* build: Try fixing path recursion error

* build: Move main executable and database files to correct folder

* build: Install main executable without installing python stuff

* build: Move things around to maybe get them to be bundled

* I wanna die

* renamed imhex.app to Imhex.app

* net.WerWolv.ImHex

Co-authored-by: WerWolv <werwolv98@gmail.com>
2022-06-24 00:27:35 +02:00
WerWolv 6bad50c78b build: Bumped version to 1.18.2 2022-06-03 13:33:21 +02:00
WerWolv e5ff987392 build: Bumped version to 1.18.1 2022-05-28 20:14:30 +02:00
WerWolv 857aadfa61
build: Bumped version to 1.18.0 2022-05-28 11:44:56 +02:00
WerWolv 9d556ecc0f build: Bumped version to 1.17.0 2022-04-18 01:53:01 +02:00
WerWolv 7866e3fc2a build: Bumped version to 1.16.2 2022-03-03 14:32:30 +01:00
WerWolv 2a989c6cc1 build: Bumped version to 1.16.1 2022-03-01 18:18:56 +01:00
WerWolv 6b2423cdce build: Bumped version to 1.16.0 2022-03-01 08:49:48 +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
WerWolv 1487f760b0 build: Bundle files from the ImHex-Patterns repo with the installation 2022-02-21 22:47:56 +01:00
WerWolv a9a538cec8 build: Fixed circular dependency on the imhex target 2022-02-21 13:46:35 +01:00
WerWolv f5440ee52c build: Bumped version to 1.15.0 2022-02-15 13:57:57 +01:00
WerWolv 3539b42c77 build: Make ImHex buildable again from plugin projects 2022-02-08 09:32:38 +01:00
WerWolv 61fc479c79 pattern: Fixed many code inconsistencies and bugs 2022-01-31 14:37:12 +01:00
WerWolv f547c3ea3c build: Bumped version to 1.14.0 2022-01-30 21:55:06 +01:00
WerWolv b6c6ff51b4 build: Remove example plugins from build again 2022-01-16 14:24:46 +01:00
WerWolv 40d7e4aa6e build: More repo cleanup, move libimhex and external libs to /lib folder 2022-01-16 14:20:52 +01:00
WerWolv d8219ad971
build: Cleaned up cmake build structure (#399)
* build: Cleanup build process, move main application to /main folder

* build: Try fixing MacOS bundling

* build: Fixed swapped parameters

* build: One imhex -> main too much

* build: Move resources to a better location

* build: Try to fix macos bundle creation

* build: More bundle fixes

* build: Fixed syntax

* build: Another try

* build: Added macos debugging stuff

* build: Fix bundle path

* build: Removed duplicated adding of Frameworks folder to rpath

* build: Removed debugging
2022-01-15 00:14:12 +01:00
WerWolv 8d3ca3292e build: Bumped version to 1.13.2 2022-01-12 09:07:49 +01:00
WerWolv 0e6446b3ef build: Bumped version to 1.13.1 2022-01-10 22:16:02 +01:00
WerWolv dc064008f3 build: Fix use of libromfs in plugin templates 2022-01-10 22:06:37 +01:00
WerWolv 44a1bbf414 build: Bumped version to 1.13.0 2022-01-09 22:01:12 +01:00
WerWolv b082a28cc4 build: Mark libraries as PIC properly 2021-12-17 09:52:11 +01:00
WerWolv b22774e33d build: Added check for cloning ImHex without initializing its submodules 2021-12-17 08:38:25 +01:00
WerWolv 677036fb9c build: Bumped version to 1.12.1 2021-12-16 18:57:41 +01:00
WerWolv 9cd7b746a6 build: Don't build test if not necessary 2021-12-14 20:17:09 +01:00
WerWolv 78b3f5aef1 build: Link libraries to relevant projects 2021-12-14 20:16:59 +01:00
WerWolv bbeb7289c1 build: Bumped version to 1.12.0 2021-12-13 23:24:48 +01:00
WerWolv 3086f259ff build: Copy dependencies of all components on install 2021-12-08 14:25:20 +01:00
WerWolv 4a53717676 sys: Moved all views to builtin plugin 2021-12-07 22:47:41 +01:00
WerWolv 69973af1ed build: Bumped version to 1.11.2 2021-12-04 23:17:14 +01:00
WerWolv fecd70c9ad build: Bumped version to 1.11.1 2021-11-28 21:34:17 +01:00
WerWolv c71577b7bf build: Bump version to 1.11.0 2021-11-28 14:22:18 +01:00
WerWolv 46ba46ce9d
build/plugins: Added initial support for Rust plugins (#327)
* build: Added initial support for Rust plugins

* github: Install correct rust version

* github: Fixed rustup command

* github: Fix swapped win/linux commands

* github: Install linux rust toolchain on Linux

* github: Add rustup parameters to correct command

* build: libimhex-rust -> hex

* rust-plugins: Disable optimization to export functions correctly

* build: Use cdylib instead of dylib

* build: Fixed rust building and artifact copying

* build: Fixed installing plugins

* build: Fix copying and installing on Windows

* github: Added windows debugging

* github: Use curl instead of wget

* github: Added debug on failure

* github: Update path variable with rust toolchain path

* build/github: Set rust location so cmake can find it

* build: Remove leftovers

* api: Added rust wrappers for the ImHexAPI

* rust: Fixed compile flags with older gcc/clang

* build: Enable concepts for cxx.rs

* build: Explicitly set compiler for cxx.rs

* rust: Added imgui-rs to libimhex-rust

* rust: Export functions with double underscore prefix on mac

* rust: Export functions adjusted for ABI

* Add Rust target folder to gitignore

* Add vendored imgui-rs copy

* Add Context::current() to vendored imgui-rs

* Fix libimhex not exporting cimgui symbols

* Simplify plugin export mangling

* build: Fixed cimgui linking

* build: Only specify --export-all-symbols on Windows

* Add context setting to Rust plugins

* rust: Cleanup

* deps: Update curl

Co-authored-by: jam1garner <8260240+jam1garner@users.noreply.github.com>
2021-10-16 11:37:29 +02:00
WerWolv 066161f397 build: Bump version to 1.10.1 2021-09-30 12:52:12 +02:00
WerWolv d9134f7fe1 store: Added support for downloading tar'd folders 2021-09-23 22:56:49 +02:00
KokaKiwi ee26839292
build: Fix system libraries usage (#308)
Signed-off-by: KokaKiwi <kokakiwi+git@kokakiwi.net>
2021-09-23 22:01:38 +02:00
WerWolv e57481b87c tools: Added file shredder, splitter and combiner 2021-09-22 17:56:06 +02:00
WerWolv 509795e6c1 build: Bump version to 1.10.0 2021-09-22 02:33:08 +02:00
WerWolv ed9e463550 ui: Added diff view 2021-09-21 19:54:13 +02:00
WerWolv 8396e40fa0 tests: Added initial test structure 2021-09-11 14:41:18 +02:00
WerWolv b224a584fb build: Bump version to 1.9.0 2021-09-10 15:54:59 +02:00
WerWolv 6879cf765f sys: Cleanup libmagic mess 2021-09-06 16:15:05 +02:00
WerWolv 4b40546750 views: Add simple pattern, library and magics store 2021-09-03 02:34:40 +02:00
WerWolv a7e2c06bc4 sys: Better name for the pattern editor view 2021-08-28 21:51:33 +02:00
WerWolv 6e0249d6ea sys: Bye bye glad 2021-08-21 15:03:44 +02:00
WerWolv b66304fc91 ui: Use borderless window on Windows 2021-08-18 22:36:46 +02:00
WerWolv e8d77f8269 sys: Embed resources into rodata 2021-07-31 17:10:19 +02:00
WerWolv 35c7f826bc views: Added constants search view 2021-06-26 01:18:33 +02:00
WerWolv c373174436 plugins: Added windows-only features plugin 2021-05-29 21:52:18 +02:00
WerWolv 0717d4a1b4 build: Bump version to 1.8.1 2021-05-24 19:09:53 +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 16a0fe4281 build: Bump version to 1.8.0 2021-05-18 21:25:59 +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 24c7f1d5b7 ui: Added really fancy splash screen (updater in the future) 2021-04-17 15:46:26 +02:00
WerWolv 2d7dd36b0d build: Improve linking and fix resource strings on windows 2021-04-12 20:36:16 +02: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 7f21cdffa2 build: Fix linking on Unix platforms 2021-02-22 12:29:16 +01:00
WerWolv 305b4d0ac0 build: Don't build and include example plugin by default 2021-02-19 17:37:02 +01:00
WerWolv e6a08b9c18 Bump version to 1.7.0 2021-02-18 17:11:50 +01:00
WerWolv b4c2f7d371 Implemented crude support for custom encodings via thingy files
Relevant issue: #26
2021-02-14 01:11:55 +01:00
WerWolv 1b98afe37d
Fix mbedtls finding on macos (#156) 2021-02-07 22:57:34 +01:00
WerWolv ac019a7d7e Fixed build on Unix, move crypto wrapper to libimhex 2021-02-03 11:54:41 +01:00
WerWolv 785ecb8a78 Switch from openssl/libcrypto to mbedtls 2021-02-02 23:11:23 +01:00
WerWolv 16a1ae3010
Properly pack all dependencies into nightlies on all platforms (#153)
* Properly bundle all files in linux install step

* Run make install on linux build

* Use correct default magic database

* Set default magic db permissions correctly

* Fixed magic file detection issues

* Don't install default magic file if none was found

* Try fix windows packing issues
2021-02-01 17:26:05 +01:00
WerWolv 5c7a529fa1
Added Data Processor using Nodes (#152)
* Added imnodes

* Added basic data processor view. Still needs to be cleaned up

* Make sure all attached links get properly removed when a Node is deleted

* Cleanup and API exposing

* Added data provider overlays and integrate them with the data processor

* Optimized data processing

* Node UI enhancements

* Added support for all themes to the nodes editor

* Improved data processor context menus

* Fixed data processor context menu showing up everywhere

* Make hex editor context menu behave the same as data processor one

* Add different node pin types and prevent incompatible ones from being connected

* Don't require explicitly marking node as end node

* Fixed plugin copying

* Added some more nodes
2021-01-30 22:39:06 +01:00
WerWolv ab2458bdf4 Make links in About page actual hyperlinks 2021-01-27 00:00:20 +01:00
WerWolv 27e5f8eeb6 Fixed capstone build issue on mac
On mac, capstone's include path is `include/capstone` instead of just `include`...
2021-01-25 15:19:56 +01:00
WerWolv 362f8acb15 Reenabled mac CI and trying to debug the capstone issue 2021-01-25 15:09:30 +01:00
WerWolv 0b52092eda Properly compile magicdbs again 2021-01-25 13:36:29 +01:00