1
0
mirror of synced 2024-11-14 19:17:42 +01:00
ImHex/plugins/builtin/CMakeLists.txt

134 lines
5.1 KiB
CMake
Raw Normal View History

cmake_minimum_required(VERSION 3.16)
include(ImHexPlugin)
find_file(DEFAULT_MAGIC_FILE_PATH magic.mgc HINTS ${LIBMAGIC_INCLUDE_DIR}/../share/misc)
if (EXISTS ${DEFAULT_MAGIC_FILE_PATH})
add_romfs_resource(${DEFAULT_MAGIC_FILE_PATH} always_auto_extract/magic/magic.mgc)
endif ()
add_imhex_plugin(
NAME
builtin
SOURCES
source/plugin_builtin.cpp
source/content/background_services.cpp
source/content/command_palette_commands.cpp
source/content/command_line_interface.cpp
source/content/communication_interface.cpp
source/content/data_inspector.cpp
source/content/pl_builtin_functions.cpp
source/content/pl_pragmas.cpp
source/content/settings_entries.cpp
source/content/tools_entries.cpp
source/content/data_processor_nodes.cpp
2021-08-21 00:52:11 +02:00
source/content/ui_items.cpp
2021-12-07 22:47:41 +01:00
source/content/providers.cpp
source/content/views.cpp
source/content/data_formatters.cpp
source/content/main_menu_items.cpp
source/content/welcome_screen.cpp
ui/ux: Rewrite of the entire hex editor view to make it more flexible (#512) * ui/ux: Initial recreation of the hex editor view * ui/ux: Added back support for editing cells * ux: Make scrolling and selecting bytes feel nice again * ui/ux: Improved byte selecting, added footer * sys: Make math evaluator more generic to support integer only calculations * patterns: Moved value formatting into pattern language * ui/ux: Added Goto and Search popups, improved selection * ui: Added better tooltips for bookmarks and patterns * sys: Use worse hex search algorithm on macOS Sadly it still doesn't support `std::boyer_moore_horsepool_searcher` * ui: Added back missing events, menu items and shortcuts * fix: Bookmark highlighting being rendered off by one * fix: Various macOS build errors * fix: size_t is not u64 on macos * fix: std::fmod and std::pow not working with integer types on macos * fix: Missing semicolons * sys: Added proper integer pow function * ui: Added back support for custom encodings * fix: Editor not jumping to selection when selection gets changed * ui: Turn Hexii setting into a data visualizer * sys: Added back remaining shortcuts * sys: Remove old hex editor files * sys: Moved more legacy things away from the hex editor view, updated localization * fix: Hex editor scrolling behaving weirdly and inconsistently * sys: Cleaned up Hex editor code * sys: Added selection color setting, localized all new settings * fix: Search feature not working correctly * ui: Replace custom ImGui::Disabled function with native ImGui ones * ui: Fix bookmark tooltip rendering issues * fix: Another size_t not being 64 bit issue on MacOS
2022-05-27 20:42:07 +02:00
source/content/data_visualizers.cpp
source/content/events.cpp
source/content/global_actions.cpp
source/content/themes.cpp
source/content/recent.cpp
source/content/file_handlers.cpp
source/content/project.cpp
source/content/achievements.cpp
source/content/file_extraction.cpp
source/content/report_generators.cpp
source/content/init_tasks.cpp
2023-12-11 15:54:22 +01:00
source/content/workspaces.cpp
source/content/pl_visualizers.cpp
source/content/out_of_box_experience.cpp
2024-01-28 15:28:55 +01:00
source/content/minimap_visualizers.cpp
source/content/window_decoration.cpp
source/content/data_information_sections.cpp
2021-12-07 22:47:41 +01:00
source/content/helpers/demangle.cpp
2023-12-01 13:54:12 +01:00
source/content/data_processor_nodes/basic_nodes.cpp
source/content/data_processor_nodes/control_nodes.cpp
source/content/data_processor_nodes/decode_nodes.cpp
source/content/data_processor_nodes/logic_nodes.cpp
source/content/data_processor_nodes/math_nodes.cpp
source/content/data_processor_nodes/other_nodes.cpp
source/content/data_processor_nodes/visual_nodes.cpp
2021-12-07 22:47:41 +01:00
source/content/providers/file_provider.cpp
source/content/providers/gdb_provider.cpp
2021-12-12 00:42:12 +01:00
source/content/providers/disk_provider.cpp
source/content/providers/intel_hex_provider.cpp
source/content/providers/motorola_srec_provider.cpp
source/content/providers/memory_file_provider.cpp
feat: Added Linux support to the Process Memory Provider (#1331) <!-- Please provide as much information as possible about what your PR aims to do. PRs with no description will most likely be closed until more information is provided. If you're planing on changing fundamental behaviour or add big new features, please open a GitHub Issue first before starting to work on it. If it's not something big and you still want to contact us about it, feel free to do so ! --> ### Problem description <!-- Describe the bug that you fixed/feature request that you implemented, or link to an existing issue describing it --> Implement a Linux backend for the ProcessMemoryProvider plugin. ### Implementation description <!-- Explain what you did to correct the problem --> Most of the provider code is the same between Windows and Linux. The primary differences are: - enumerate PIDs in `/proc/` to get the process list - use `/proc/<PID>/cmdline` as the process name - parse `/proc/<PID>/maps` to get the module list - reading/writing from memory is done using `process_vm_readv`/`process_vm_writev` NOTE: `sudo setcap CAP_SYS_PTRACE=+eip build/imhex` must be run to give the binary permission to read another process' memory. Running as root user should also work but I would not recommend it. ### Additional things The existing translations keys no longer match since I moved the plugin from `windows` to `builtin`. I'm not well versed in C++ so I attempted to keep my changes rather simple. Feedback is very welcome. --------- Co-authored-by: WerWolv <werwolv98@gmail.com>
2023-12-07 23:33:15 +01:00
source/content/providers/process_memory_provider.cpp
2023-12-26 23:42:22 +01:00
source/content/providers/base64_provider.cpp
source/content/providers/view_provider.cpp
2021-12-07 22:47:41 +01:00
source/content/tools/ascii_table.cpp
source/content/tools/base_converter.cpp
source/content/tools/byte_swapper.cpp
source/content/tools/color_picker.cpp
source/content/tools/demangler.cpp
source/content/tools/euclidean_alg.cpp
source/content/tools/file_tool_shredder.cpp
source/content/tools/file_tool_splitter.cpp
source/content/tools/file_tool_combiner.cpp
source/content/tools/file_uploader.cpp
source/content/tools/graphing_calc.cpp
source/content/tools/ieee_decoder.cpp
source/content/tools/math_eval.cpp
source/content/tools/multiplication_decoder.cpp
source/content/tools/perms_calc.cpp
source/content/tools/regex_replacer.cpp
source/content/tools/tcp_client_server.cpp
source/content/tools/wiki_explainer.cpp
2024-01-04 00:38:21 +01:00
source/content/tools/http_requests.cpp
source/content/pl_visualizers/hex_viewer.cpp
source/content/pl_visualizers/chunk_entropy.cpp
source/content/tutorials/tutorials.cpp
source/content/tutorials/introduction.cpp
source/content/popups/hex_editor/popup_hex_editor_find.cpp
source/content/views/view_hex_editor.cpp
2021-12-07 22:47:41 +01:00
source/content/views/view_pattern_editor.cpp
source/content/views/view_pattern_data.cpp
source/content/views/view_information.cpp
2022-03-04 19:06:29 +01:00
source/content/views/view_about.cpp
2021-12-07 22:47:41 +01:00
source/content/views/view_tools.cpp
source/content/views/view_data_inspector.cpp
source/content/views/view_bookmarks.cpp
source/content/views/view_patches.cpp
source/content/views/view_command_palette.cpp
source/content/views/view_settings.cpp
source/content/views/view_data_processor.cpp
source/content/views/view_constants.cpp
source/content/views/view_store.cpp
source/content/views/view_provider_settings.cpp
source/content/views/view_find.cpp
source/content/views/view_theme_manager.cpp
2023-07-23 23:37:47 +02:00
source/content/views/view_logs.cpp
source/content/views/view_achievements.cpp
2023-12-02 11:09:32 +01:00
source/content/views/view_highlight_rules.cpp
2023-12-13 13:04:59 +01:00
source/content/views/view_tutorials.cpp
INCLUDES
include
LIBRARIES
ui
fonts
${JTHREAD_LIBRARIES}
plcli
libpl-gen
LLVMDemangle
)
if (WIN32)
target_link_libraries(builtin PRIVATE setupapi)
endif ()