Commit Graph

48 Commits

Author SHA1 Message Date
WerWolv 99f37504de Force reload the current pattern when loading a new file 2021-01-08 17:38:43 +01:00
WerWolv eed7ef1ac3 Make sure important data is synchronized between ImHex and plugins 2021-01-04 00:19:56 +01:00
WerWolv 206be8b110 Greatly improved hex editor byte highlighting performance 2021-01-03 02:37:37 +01:00
WerWolv f74eff8934 Add support for custom providers via plugins 2020-12-27 15:39:06 +01:00
WerWolv dbbc525174
Added Plugin support (#102)
* Build refactoring and initial plugin support

* Possibly fixed linux / mac build

* Added libdl to libglad build script

* Add glfw to imgui dependencies

* Refactored common functionality into "libimhex" for plugins

* Added plugin loading and example plugin

* Added proper API for creating a custom view and a custom tools entry with plugins
2020-12-22 18:10:01 +01:00
WerWolv b9324f44e6 Added selected addresses to hex editor footer
This (and the two previous commits) fixes #99
2020-12-21 15:20:57 +01:00
averne 56cca88fbd
Proper DPI scaling and basic custom font (#85)
* add glm to arch deps

After running got `None of the required 'glm' found`. This fixes that

* dist/fedora: Include file magic headers

Due to differences in package names between Deb based systems, Arch
Linux, and RPM based systems the package containing the development
headers for file were missing from the Fedora dependencies script.

This includes the package `file-devel`, which is the package which
resolves the issue.

In Fedora, one can identify the package providing a specific file using
the verb "whatprovides" with the command dnf, e.g.:

    [~]$ dnf whatprovides /usr/include/magic.h
    Last metadata expiration check: 4 days, 0:23:05 ago on Fri 04 Dec 2020 09:06:53 AM PST.
    file-devel-5.39-3.fc33.i686 : Libraries and header files for file development
    Repo        : fedora
    Matched from:
    Filename    : /usr/include/magic.h

    file-devel-5.39-3.fc33.x86_64 : Libraries and header files for file development
    Repo        : @System
    Matched from:
    Filename    : /usr/include/magic.h

    file-devel-5.39-3.fc33.x86_64 : Libraries and header files for file development
    Repo        : fedora
    Matched from:
    Filename    : /usr/include/magic.h

If one is unsure of the specific path, globbing may be used (but must be
quoted):

    dnf whatprovides "*/magic.h"

Resolves #48

* dist: Prevent already installed packages in ArchLinux and MSYS2.

Use --needed option with pacman to prevent it.

* Add script to install dependencies on Debian/Ubuntu.

Tested with Xubuntu 20.04 and Debian testing
(in today's Docker image bitnami/minideb).

Update README.md.

* ci: rework (#31)

* Support non standard LLVM library names (#86)

This fix openSUSE and Gentoo issue mentioned in https://github.com/WerWolv/ImHex/issues/37#issuecomment-739503138.

(tested on openSUSE tumbleweed via Docker)

I also took the liberty of renaming llvm_lib to llvm_demangle_lib to be more specific in the ``CMakeLists.txt``.

* Implement proper DPI handling

* Implement basic custom font support

* Fix building on windows

* Hopefully fix fonts on Windows

* Fix several scaling issues

* Replace font renderer with freetype

* Updated CI and dependency scripts

* Rebuild default font atlas

* Correct platform detection macro for mingw

* Fixed PKGBUILD

Co-authored-by: brockelmore <31553173+brockelmore@users.noreply.github.com>
Co-authored-by: Brian 'Redbeard' Harrington <redbeard@dead-city.org>
Co-authored-by: Biswapriyo Nath <nathbappai@gmail.com>
Co-authored-by: Stéphane Gourichon <stephane.gourichon@fidergo.fr>
Co-authored-by: umarcor <38422348+umarcor@users.noreply.github.com>
Co-authored-by: Mary <me@thog.eu>
Co-authored-by: WerWolv <werwolv98@gmail.com>
2020-12-11 14:24:42 +01:00
WerWolv 485761f45c Fixed ImHex refusing to be closed in some circumstances 2020-12-07 00:42:52 +01:00
WerWolv 4720cf9fbe Added possible support for MacOS. Completely untested.
Relevant: #32
2020-12-06 13:48:56 +01:00
WerWolv 7b8330f8f8 Added command line support / dropping files onto executable
Closes #36
2020-12-05 22:10:03 +01:00
WerWolv c6134bc038 Added basic python-based load scripts 2020-12-01 02:21:40 +01:00
WerWolv 4878f70e58 Added project files 2020-11-30 00:03:12 +01:00
WerWolv 9e8523470d Added applying of IPS and IPS32 patches 2020-11-29 15:09:36 +01:00
WerWolv 3276ad9979 Open file dialog to not pop up if hex view wasn't open 2020-11-29 01:17:54 +01:00
WerWolv c90ef343c1 Added math evaluator / calculator to tools window 2020-11-28 21:55:52 +01:00
WerWolv 33b70a550f Improved look and feel of hash window. Added "Match selection" feature 2020-11-28 15:53:11 +01:00
WerWolv 985e924e9d Added simple bookmarks / comments feature. No saving yet though 2020-11-28 00:33:26 +01:00
WerWolv 2efe326fdb Added Save, Save As and implemented error message for Base64 importing 2020-11-27 13:45:56 +01:00
WerWolv d43bd23e1a Added default error message window 2020-11-27 13:45:27 +01:00
WerWolv ed572ececf Added patching system and IPS/IPS32 patch exporting 2020-11-27 09:09:48 +01:00
WerWolv f17d6c2359 Added copy string and copy demangled string to strings window 2020-11-24 02:59:49 +01:00
WerWolv 58deaa6b29 Added importing from base64 encoded file 2020-11-24 02:00:22 +01:00
WerWolv 3bd987ff2c Streamline view creation, save all view states when quitting 2020-11-23 23:57:19 +01:00
WerWolv fd6a41d219 Make selecting memory by clicking on a table item update the inspector 2020-11-23 16:26:01 +01:00
WerWolv 84f80b3e06 Select region when clicking on string, disassembly or pattern data item 2020-11-23 13:10:14 +01:00
misson20000 01eeb53af0 Fix out-of-bounds vector write on copy hex string 2020-11-22 18:00:46 -08:00
WerWolv 43f5cc622e Allow loading of huge files efficiently 2020-11-22 19:43:35 +01:00
WerWolv 302caba403 Added copy hex view as HTML option 2020-11-20 15:15:43 +01:00
WerWolv 81e5c945b4 Added copy hex view as string option 2020-11-20 13:25:55 +01:00
WerWolv 78ea4276ae Use constexpr for C++ array 2020-11-20 11:58:40 +01:00
WerWolv e4879f7546 Added copy programming language array to hex editor 2020-11-20 11:57:14 +01:00
WerWolv f748b75a19 Added begin, current and end goto offset modes 2020-11-19 23:24:34 +01:00
WerWolv 6a815d5ebb Allow mouse highlighting of bytes highlighted by pattern 2020-11-19 22:34:56 +01:00
WerWolv 6fffc589bf Completely rewrite highlight and pattern evaluator 2020-11-19 11:36:52 +01:00
WerWolv e40bb5c498 Use ImGui-Addons by gallickgunner as file picker instead 2020-11-17 15:38:24 +01:00
WerWolv 6e21f703ab Added file drag and drop support 2020-11-17 13:58:50 +01:00
WerWolv d05805595e Fixed copying when highlightEnd > highlightStart 2020-11-17 02:36:12 +01:00
WerWolv 8b9b284ae9 Add more hex editor shortcuts 2020-11-16 00:07:42 +01:00
WerWolv 559fd28036 Added hexadecimal search 2020-11-15 23:04:46 +01:00
WerWolv 658d4ec478 Revamped pattern data displaying to support per-type displaying 2020-11-14 14:42:21 +01:00
WerWolv 0dcf02f891 Actually display signed and floating point data in the right format 2020-11-13 12:07:05 +01:00
WerWolv d88bb877b6 Use imfilebrowser instead of Window's file browser 2020-11-12 21:20:51 +01:00
WerWolv 3a6d19eca4 Added event system and make use of it for data invalidation 2020-11-12 09:38:52 +01:00
WerWolv e3df658b4a Added text searching in hex editor 2020-11-11 14:42:01 +01:00
WerWolv 9e62685fd1 Fix crash when moving around certain views 2020-11-11 10:47:02 +01:00
WerWolv 6f59955c92 Added FPS display 2020-11-11 09:22:55 +01:00
WerWolv 434bb3494a Abstracted FILE handle into a generic data provider class 2020-11-11 09:18:35 +01:00
WerWolv 35946564a6 Refactor, added a pattern data display 2020-11-10 21:31:04 +01:00