1
0
mirror of synced 2024-11-18 12:57:12 +01:00
Commit Graph

120 Commits

Author SHA1 Message Date
WerWolv
2c1759ce0a Unified OS and arch checking defines 2020-12-21 12:38:30 +01:00
WerWolv
15b3860f83 Fixed data inspector not updating properly in all cases 2020-12-21 11:23:57 +01:00
Mary
310059f274 Support macOS
This allows building and running under macOS.
There is still some issues with dpi but the application compiles and run now.
2020-12-18 21:44:13 +01:00
WerWolv
9123b21e18 Added basic command palette (similar to the one in vscode) 2020-12-16 22:43:07 +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
Mary
45c29888b4 Abstract capstone architectures
This allows to support older version of Capstone (example 4.0.1).

Should help with ubuntu building issues.
2020-12-05 17:32:30 +01:00
WerWolv
c6134bc038 Added basic python-based load scripts 2020-12-01 02:21:40 +01:00
WerWolv
16f885f469 Added read/write command to math evaluator 2020-11-30 21:45:48 +01:00
WerWolv
00072d0216 Improved pattern language cheat sheet, added math evaluator cheat sheet 2020-11-30 21:44:40 +01:00
WerWolv
4878f70e58 Added project files 2020-11-30 00:03:12 +01:00
WerWolv
7316be0bc2 Added patches display window 2020-11-29 02:06:41 +01:00
WerWolv
0890043bf4 Make Help view no longer appear in View menu 2020-11-28 22:01:50 +01:00
WerWolv
c90ef343c1 Added math evaluator / calculator to tools window 2020-11-28 21:55:52 +01:00
WerWolv
1395c95831 Same treatment for the disassembly window 2020-11-28 16:15:12 +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
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
acc10930c2 Added MSVC symbol demangling, switched to LLVM libs for demangling 2020-11-24 18:12:08 +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
b7438f6ab8 Massively improved look and feel of pattern data, string and disassembly tables 2020-11-23 15:22:26 +01:00
WerWolv
84f80b3e06 Select region when clicking on string, disassembly or pattern data item 2020-11-23 13:10:14 +01:00
WerWolv
4402120ffc Added the capstone disassembler and a disassembler window 2020-11-22 23:07:50 +01:00
WerWolv
43f5cc622e Allow loading of huge files efficiently 2020-11-22 19:43:35 +01:00
WerWolv
989eade5d7 Added big and little endian support to inspector 2020-11-22 15:32:37 +01:00
WerWolv
4cd18b8358 Added auto loading patterns based on MIME types 2020-11-21 14:39:16 +01:00
WerWolv
e3b6cfd54f Fixed compile on Linux 2020-11-21 00:36:38 +01:00
WerWolv
bf6ed3d540 Added proper data inspector view 2020-11-21 00:12:58 +01:00
WerWolv
2f78a10e4c Replaced pattern editor with BalazsJako's ImGuiColorTextEdit 2020-11-20 18:24:59 +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
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
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
43d5fe2f4d Improved byte highlight color palette 2020-11-17 02:32:53 +01:00
WerWolv
4c07983834 Added pattern preprocessor and #define and #include support 2020-11-17 02:31:51 +01:00
WerWolv
c863b2f65b Added validator to catch more syntax errors in pattern code 2020-11-16 22:54:39 +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
4452f9754e Added regex replacer and color picker to tools window 2020-11-15 21:31:04 +01:00
WerWolv
9320ffdbbd Add ASCII table to tools 2020-11-15 02:50:56 +01:00
WerWolv
a955f522bd Added strings finder 2020-11-15 01:42:43 +01:00
WerWolv
2526eda0db Added tools window 2020-11-15 00:46:38 +01:00
WerWolv
5b2dc51c07 Use tables to display pattern data 2020-11-15 00:46:18 +01:00
WerWolv
c758eb244b Added a help window 2020-11-14 21:16:03 +01:00
WerWolv
658d4ec478 Revamped pattern data displaying to support per-type displaying 2020-11-14 14:42:21 +01:00
WerWolv
72f9da2a67 Display entropy by always creating 2048 blocks for every file 2020-11-14 14:41:15 +01:00
WerWolv
7a30072fcb Removed useless pattern file size limitation 2020-11-13 13:50:59 +01:00
WerWolv
8aa4402f88 Don't show pattern editor when no file is loaded 2020-11-13 13:06:22 +01:00
WerWolv
0dcf02f891 Actually display signed and floating point data in the right format 2020-11-13 12:07:05 +01:00
WerWolv
15b91c1cac Show complete variable name in pattern data view 2020-11-13 11:37:43 +01:00
WerWolv
1d15e3be18 Get ready for linux build 2020-11-12 22:22:33 +01:00
WerWolv
d88bb877b6 Use imfilebrowser instead of Window's file browser 2020-11-12 21:20:51 +01:00
WerWolv
5ba3badcbf Add more hash algorthms, switch to openssl / libcrypto 2020-11-12 12:00:50 +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
29a6789521 Added shortcut handling 2020-11-11 14:41:44 +01:00
WerWolv
9b6b43356b Added entropy view 2020-11-11 10:46:41 +01:00
WerWolv
362125e933 Cleanup view classes 2020-11-11 09:28:44 +01:00
WerWolv
434bb3494a Abstracted FILE handle into a generic data provider class 2020-11-11 09:18:35 +01:00
WerWolv
c87bc6aebe Implemented hash view with CRC16, CRC32 and MD5 support
More to come
2020-11-11 00:13:09 +01:00
WerWolv
35946564a6 Refactor, added a pattern data display 2020-11-10 21:31:04 +01:00
WerWolv
cf209cc248 Allow views to be closed and reopened 2020-11-10 17:34:11 +01:00
WerWolv
966c7409ac Added pattern loading 2020-11-10 16:43:51 +01:00
WerWolv
73f83dc01a Add "global variables" which will get displayed in the hex editor 2020-11-10 16:24:48 +01:00
WerWolv
cbe302a004 Added hex editor and basic pattern parsing/highlighting 2020-11-10 15:26:38 +01:00