Developed with the software and tools below.
Demo_2.mov
βββ peTool/
βββ .github
β βββ workflows
β βββ cmake-macos-platform.yml
β βββ cmake-windows-platform.yml
β βββ macos-release.yml
β βββ windows-release.yml
βββ CMakeLists.txt
βββ Doxyfile
βββ Doxyfile.in
βββ License.txt
βββ README.md
βββ docs
β βββ Doxygen
β βββ html
β βββ _c_l_i_8cpp.html
β βββ _c_l_i_8cpp_8o_8d.html
β βββ _c_l_i_8h.html
β βββ _c_l_i_8h_source.html
β βββ _c_make_c_compiler_id_8c.html
β βββ _c_make_c_x_x_compiler_id_8cpp.html
β βββ _console_8cpp.html
β βββ _console_8cpp_8o_8d.html
β βββ _console_8h.html
β βββ _console_8h_source.html
β βββ _database_8cpp.html
β βββ _database_8cpp_8o_8d.html
β βββ _database_8h.html
β βββ _database_8h_source.html
β βββ _debugger_8cpp.html
β βββ _debugger_8cpp_8o_8d.html
β βββ _debugger_8h.html
β βββ _debugger_8h_source.html
β βββ _detector_8cpp.html
β βββ _detector_8cpp_8o_8d.html
β βββ _detector_8h.html
β βββ _detector_8h_source.html
β βββ _disassembler_8cpp.html
β βββ _disassembler_8cpp_8o_8d.html
β βββ _disassembler_8h.html
β βββ _disassembler_8h_source.html
β βββ _entropy_8cpp.html
β βββ _entropy_8cpp_8o_8d.html
β βββ _entropy_8h.html
β βββ _entropy_8h_source.html
β βββ _file_editor_8cpp.html
β βββ _file_editor_8cpp_8o_8d.html
β βββ _file_editor_8h.html
β βββ _file_editor_8h_source.html
β βββ _file_i_o_8cpp.html
β βββ _file_i_o_8cpp_8o_8d.html
β βββ _file_i_o_8h.html
β βββ _file_i_o_8h_source.html
β βββ _graph_view_8cpp.html
β βββ _graph_view_8cpp_8o_8d.html
β βββ _graph_view_8h.html
β βββ _graph_view_8h_source.html
β βββ _injector_8cpp.html
β βββ _injector_8cpp_8o_8d.html
β βββ _injector_8h.html
β βββ _injector_8h_source.html
β βββ _logger_8cpp.html
β βββ _logger_8cpp_8o_8d.html
β βββ _logger_8h.html
β βββ _logger_8h_source.html
β βββ _mem_profiler_8cpp.html
β βββ _mem_profiler_8cpp_8o_8d.html
β βββ _mem_profiler_8h.html
β βββ _mem_profiler_8h_source.html
β βββ _memory_manager_8cpp.html
β βββ _memory_manager_8cpp_8o_8d.html
β βββ _memory_manager_8h.html
β βββ _memory_manager_8h_source.html
β βββ _p_e_8cpp.html
β βββ _p_e_8cpp_8o_8d.html
β βββ _p_e_8h.html
β βββ _p_e_8h_source.html
β βββ _perf_mon_8cpp.html
β βββ _perf_mon_8cpp_8o_8d.html
β βββ _perf_mon_8h.html
β βββ _perf_mon_8h_source.html
β βββ _process_monitor_8cpp.html
β βββ _process_monitor_8cpp_8o_8d.html
β βββ _process_monitor_8h.html
β βββ _process_monitor_8h_source.html
β βββ _rebuilder_8cpp.html
β βββ _rebuilder_8cpp_8o_8d.html
β βββ _rebuilder_8h.html
β βββ _rebuilder_8h_source.html
β βββ _threading_base_8cpp.html
β βββ _threading_base_8cpp_8o_8d.html
β βββ _threading_base_8h.html
β βββ _threading_base_8h_source.html
β βββ _untils_8cpp.html
β βββ _untils_8cpp_8o_8d.html
β βββ _utils_8h.html
β βββ _utils_8h_source.html
β βββ annotated.html
β βββ bc_s.png
β βββ bc_sd.png
β βββ class_base_mem_profiler-members.html
β βββ class_base_mem_profiler.html
β βββ class_base_mem_profiler.png
β βββ class_cli_interface_1_1_c_l_i-members.html
β βββ class_cli_interface_1_1_c_l_i.html
β βββ class_console_internals_1_1_console-members.html
β βββ class_console_internals_1_1_console.html
β βββ class_database-members.html
β βββ class_database.html
β βββ class_debugger-members.html
β βββ class_debugger.html
β βββ class_detector_internals_1_1_anti_debug_detection-members.html
β βββ class_detector_internals_1_1_anti_debug_detection.html
β βββ class_detector_internals_1_1_packer_detection-members.html
β βββ class_detector_internals_1_1_packer_detection.html
β βββ class_dissassembler_internals_1_1_disassembler-members.html
β βββ class_dissassembler_internals_1_1_disassembler.html
β βββ class_dll_injector_1_1_injector_platform-members.html
β βββ class_dll_injector_1_1_injector_platform.html
β βββ class_entropy_internals_1_1_entropy-members.html
β βββ class_entropy_internals_1_1_entropy.html
β βββ class_file_editor_internals_1_1_file_editor-members.html
β βββ class_file_editor_internals_1_1_file_editor.html
β βββ class_file_io_internals_1_1_file_i_o-members.html
β βββ class_file_io_internals_1_1_file_i_o.html
β βββ class_graph_view-members.html
β βββ class_graph_view.html
β βββ class_logger-members.html
β βββ class_logger.html
β βββ class_mac_mem_profiler-members.html
β βββ class_mac_mem_profiler.html
β βββ class_mac_mem_profiler.png
β βββ class_mem_profiler-members.html
β βββ class_mem_profiler.html
β βββ class_memory_manager-members.html
β βββ class_memory_manager.html
β βββ class_pe_internals_1_1_p_e-members.html
β βββ class_pe_internals_1_1_p_e.html
β βββ class_pe_internals_1_1_resource_directory-members.html
β βββ class_pe_internals_1_1_resource_directory.html
β βββ class_pe_internals_1_1_resource_directory_traverser-members.html
β βββ class_pe_internals_1_1_resource_directory_traverser.html
β βββ class_pe_internals_1_1_resource_directory_traverser_factory-members.html
β βββ class_pe_internals_1_1_resource_directory_traverser_factory.html
β βββ class_performance_monitor-members.html
β βββ class_performance_monitor.html
β βββ class_process_monitor-members.html
β βββ class_process_monitor.html
β βββ class_rebuilder-members.html
β βββ class_rebuilder.html
β βββ class_threading_base-members.html
β βββ class_threading_base.html
β βββ class_utils_internals_1_1_utils-members.html
β βββ class_utils_internals_1_1_utils.html
β βββ class_win_mem_profiler-members.html
β βββ class_win_mem_profiler.html
β βββ class_win_mem_profiler.png
β βββ classes.html
β βββ closed.png
β βββ dir_017ad5e908c41501f6a06b5119b37293.html
β βββ dir_1172bb5c332d8aaafdf275e832708c31.html
β βββ dir_2369ca6a9db3fb08286493d49901ef6e.html
β βββ dir_3573a29eb2bcb9c145a8a4e604b93f65.html
β βββ dir_4581fb84a8bf7da1ab9e0691301abbd4.html
β βββ dir_63189e78386bdf55ec00d64f4a5092fb.html
β βββ dir_6782cefcabc378658964ed864e935d2d.html
β βββ dir_68267d1309a1af8e8297ef4c3efbcdba.html
β βββ dir_6f85998d687e06b4b13364dea3046761.html
β βββ dir_7d419bccfa827d7fbeff703abd74ab96.html
β βββ dir_80413701ebb2905e45ccebf8c9ab3532.html
β βββ dir_84a7603056c012692a626a8a53c537f2.html
β βββ dir_88f45123b231e2cd697a666f8850ff1b.html
β βββ dir_8ddf2797e2f76e55e538b7ce4720fc2b.html
β βββ dir_9af8047499592558425159c869a308bb.html
β βββ dir_a18918b93668b435612395bbc2e8b82b.html
β βββ dir_bae135b08326cef4e17362485455e9f4.html
β βββ dir_d44c64559bbebec7f509842c48db8b23.html
β βββ dir_d6dcfb7f7658843f68ddeda5b429b6b7.html
β βββ dir_edec38e5d743c07e5c2e29043a4d94a8.html
β βββ dir_f584182df4c69fab0b14563b4d535158.html
β βββ dir_fecb511e6ef370f316cfc3c5cc95d0a0.html
β βββ doc.svg
β βββ docd.svg
β βββ doxygen.css
β βββ doxygen.svg
β βββ dynsections.js
β βββ files.html
β βββ folderclosed.svg
β βββ folderclosedd.svg
β βββ folderopen.svg
β βββ folderopend.svg
β βββ functions.html
β βββ functions_b.html
β βββ functions_c.html
β βββ functions_d.html
β βββ functions_e.html
β βββ functions_enum.html
β βββ functions_f.html
β βββ functions_func.html
β βββ functions_func_b.html
β βββ functions_func_c.html
β βββ functions_func_d.html
β βββ functions_func_e.html
β βββ functions_func_f.html
β βββ functions_func_g.html
β βββ functions_func_h.html
β βββ functions_func_i.html
β βββ functions_func_j.html
β βββ functions_func_l.html
β βββ functions_func_m.html
β βββ functions_func_o.html
β βββ functions_func_p.html
β βββ functions_func_r.html
β βββ functions_func_s.html
β βββ functions_func_t.html
β βββ functions_func_u.html
β βββ functions_func_v.html
β βββ functions_func_w.html
β βββ functions_func_~.html
β βββ functions_g.html
β βββ functions_h.html
β βββ functions_i.html
β βββ functions_j.html
β βββ functions_l.html
β βββ functions_m.html
β βββ functions_n.html
β βββ functions_o.html
β βββ functions_p.html
β βββ functions_q.html
β βββ functions_r.html
β βββ functions_s.html
β βββ functions_t.html
β βββ functions_type.html
β βββ functions_u.html
β βββ functions_v.html
β βββ functions_vars.html
β βββ functions_w.html
β βββ functions_~.html
β βββ globals.html
β βββ globals_defs.html
β βββ globals_func.html
β βββ globals_vars.html
β βββ hierarchy.html
β βββ imgui_8cpp_8o_8d.html
β βββ imgui__demo_8cpp_8o_8d.html
β βββ imgui__draw_8cpp_8o_8d.html
β βββ imgui__impl__metal_8mm_8o_8d.html
β βββ imgui__impl__sdl2_8cpp_8o_8d.html
β βββ imgui__tables_8cpp_8o_8d.html
β βββ imgui__widgets_8cpp_8o_8d.html
β βββ index.html
β βββ jquery.js
β βββ linux_2linux_8cpp_8o_8d.html
β βββ linux_8cpp.html
β βββ linux_8cpp_8o_8d.html
β βββ macos_2macos_8mm_8o_8d.html
β βββ macos_8mm.html
β βββ macos_8mm_8o_8d.html
β βββ menu.js
β βββ menudata.js
β βββ minus.svg
β βββ minusd.svg
β βββ namespace_cli_interface.html
β βββ namespace_console_internals.html
β βββ namespace_detector_internals.html
β βββ namespace_dissassembler_internals.html
β βββ namespace_dll_injector.html
β βββ namespace_entropy_internals.html
β βββ namespace_file_editor_internals.html
β βββ namespace_file_io_internals.html
β βββ namespace_injector_platform.html
β βββ namespace_pe_internals.html
β βββ namespace_utils_internals.html
β βββ namespaces.html
β βββ nav_f.png
β βββ nav_fd.png
β βββ nav_g.png
β βββ nav_h.png
β βββ nav_hd.png
β βββ open.png
β βββ plus.svg
β βββ plusd.svg
β βββ search
β β βββ all_0.js
β β βββ all_1.js
β β βββ all_10.js
β β βββ all_11.js
β β βββ all_12.js
β β βββ all_13.js
β β βββ all_14.js
β β βββ all_15.js
β β βββ all_16.js
β β βββ all_2.js
β β βββ all_3.js
β β βββ all_4.js
β β βββ all_5.js
β β βββ all_6.js
β β βββ all_7.js
β β βββ all_8.js
β β βββ all_9.js
β β βββ all_a.js
β β βββ all_b.js
β β βββ all_c.js
β β βββ all_d.js
β β βββ all_e.js
β β βββ all_f.js
β β βββ classes_0.js
β β βββ classes_1.js
β β βββ classes_2.js
β β βββ classes_3.js
β β βββ classes_4.js
β β βββ classes_5.js
β β βββ classes_6.js
β β βββ classes_7.js
β β βββ classes_8.js
β β βββ classes_9.js
β β βββ classes_a.js
β β βββ classes_b.js
β β βββ classes_c.js
β β βββ classes_d.js
β β βββ classes_e.js
β β βββ classes_f.js
β β βββ close.svg
β β βββ defines_0.js
β β βββ defines_1.js
β β βββ defines_2.js
β β βββ defines_3.js
β β βββ defines_4.js
β β βββ defines_5.js
β β βββ defines_6.js
β β βββ enums_0.js
β β βββ enums_1.js
β β βββ enumvalues_0.js
β β βββ enumvalues_1.js
β β βββ enumvalues_2.js
β β βββ enumvalues_3.js
β β βββ enumvalues_4.js
β β βββ files_0.js
β β βββ files_1.js
β β βββ files_2.js
β β βββ files_3.js
β β βββ files_4.js
β β βββ files_5.js
β β βββ files_6.js
β β βββ files_7.js
β β βββ files_8.js
β β βββ files_9.js
β β βββ files_a.js
β β βββ files_b.js
β β βββ files_c.js
β β βββ functions_0.js
β β βββ functions_1.js
β β βββ functions_10.js
β β βββ functions_11.js
β β βββ functions_12.js
β β βββ functions_13.js
β β βββ functions_14.js
β β βββ functions_2.js
β β βββ functions_3.js
β β βββ functions_4.js
β β βββ functions_5.js
β β βββ functions_6.js
β β βββ functions_7.js
β β βββ functions_8.js
β β βββ functions_9.js
β β βββ functions_a.js
β β βββ functions_b.js
β β βββ functions_c.js
β β βββ functions_d.js
β β βββ functions_e.js
β β βββ functions_f.js
β β βββ mag.svg
β β βββ mag_d.svg
β β βββ mag_sel.svg
β β βββ mag_seld.svg
β β βββ namespaces_0.js
β β βββ namespaces_1.js
β β βββ namespaces_2.js
β β βββ namespaces_3.js
β β βββ namespaces_4.js
β β βββ namespaces_5.js
β β βββ namespaces_6.js
β β βββ search.css
β β βββ search.js
β β βββ searchdata.js
β β βββ typedefs_0.js
β β βββ variables_0.js
β β βββ variables_1.js
β β βββ variables_10.js
β β βββ variables_2.js
β β βββ variables_3.js
β β βββ variables_4.js
β β βββ variables_5.js
β β βββ variables_6.js
β β βββ variables_7.js
β β βββ variables_8.js
β β βββ variables_9.js
β β βββ variables_a.js
β β βββ variables_b.js
β β βββ variables_c.js
β β βββ variables_d.js
β β βββ variables_e.js
β β βββ variables_f.js
β βββ splitbar.png
β βββ splitbard.png
β βββ struct_connection-members.html
β βββ struct_connection.html
β βββ struct_file_editor_internals_1_1_file_editor_1_1_edit_action-members.html
β βββ struct_file_editor_internals_1_1_file_editor_1_1_edit_action.html
β βββ struct_file_editor_internals_1_1_file_editor_1_1_position-members.html
β βββ struct_file_editor_internals_1_1_file_editor_1_1_position.html
β βββ struct_logger_1_1_log_message-members.html
β βββ struct_logger_1_1_log_message.html
β βββ struct_memory_manager_1_1_allocation_info-members.html
β βββ struct_memory_manager_1_1_allocation_info.html
β βββ struct_node-members.html
β βββ struct_node.html
β βββ struct_performance_monitor_1_1_performance_data-members.html
β βββ struct_performance_monitor_1_1_performance_data.html
β βββ sync_off.png
β βββ sync_on.png
β βββ tab_a.png
β βββ tab_ad.png
β βββ tab_b.png
β βββ tab_bd.png
β βββ tab_h.png
β βββ tab_hd.png
β βββ tab_s.png
β βββ tab_sd.png
β βββ tabs.css
β βββ windows_2windows_8cpp_8o_8d.html
β βββ windows_8cpp.html
β βββ windows_8cpp_8o_8d.html
βββ external
βββ icon
β βββ cog.icns
βββ include
β βββ CLI
β β βββ CLI.h
β β βββ Console.h
β βββ CORE
β β βββ Debugger.h
β β βββ Detector.h
β β βββ Disassembler.h
β β βββ Injector.h
β β βββ Logger.h
β β βββ PE.h
β β βββ ProcessMonitor.h
β β βββ Rebuilder.h
β β βββ ThreadingBase.h
β βββ FILEIO
β β βββ Database.h
β β βββ FileEditor.h
β β βββ FileIO.h
β β βββ Utils.h
β βββ MANMON
β β βββ MemProfiler.h
β β βββ MemoryManager.h
β β βββ PerfMon.h
β βββ VIEW
β βββ Entropy.h
β βββ GraphView.h
βββ src
βββ CLI.cpp
βββ Console.cpp
βββ Database.cpp
βββ Debugger.cpp
βββ Detector.cpp
βββ Disassembler.cpp
βββ Entropy.cpp
βββ FileEditor.cpp
βββ FileIO.cpp
βββ GraphView.cpp
βββ Injector.cpp
βββ Logger.cpp
βββ MemProfiler.cpp
βββ MemoryManager.cpp
βββ PE.cpp
βββ PerfMon.cpp
βββ ProcessMonitor.cpp
βββ Rebuilder.cpp
βββ ThreadingBase.cpp
βββ Untils.cpp
βββ linux
β βββ linux.cpp
βββ macos
β βββ macos.mm
βββ windows
βββ windows.cpp.
| File | Summary |
|---|---|
| License.txt | License.txt |
| Doxyfile.in | Doxyfile.in |
| Doxyfile | Doxyfile |
| CMakeLists.txt | CMakeLists.txt |
include.VIEW
| File | Summary |
|---|---|
| Entropy.h | include/VIEW/Entropy.h |
| GraphView.h | include/VIEW/GraphView.h |
include.CORE
| File | Summary |
|---|---|
| Logger.h | include/CORE/Logger.h |
| ProcessMonitor.h | include/CORE/ProcessMonitor.h |
| PE.h | include/CORE/PE.h |
| Injector.h | include/CORE/Injector.h |
| Rebuilder.h | include/CORE/Rebuilder.h |
| Debugger.h | include/CORE/Debugger.h |
| Detector.h | include/CORE/Detector.h |
| ThreadingBase.h | include/CORE/ThreadingBase.h |
| Disassembler.h | include/CORE/Disassembler.h |
include.MANMON
| File | Summary |
|---|---|
| PerfMon.h | include/MANMON/PerfMon.h |
| MemoryManager.h | include/MANMON/MemoryManager.h |
| MemProfiler.h | include/MANMON/MemProfiler.h |
include.FILEIO
| File | Summary |
|---|---|
| Utils.h | include/FILEIO/Utils.h |
| FileEditor.h | include/FILEIO/FileEditor.h |
| Database.h | include/FILEIO/Database.h |
| FileIO.h | include/FILEIO/FileIO.h |
.github.workflows
| File | Summary |
|---|---|
| cmake-macos-platform.yml | .github/workflows/cmake-macos-platform.yml |
| macos-release.yml | .github/workflows/macos-release.yml |
| cmake-windows-platform.yml | .github/workflows/cmake-windows-platform.yml |
| windows-release.yml | .github/workflows/windows-release.yml |
src
| File | Summary |
|---|---|
| Entropy.cpp | src/Entropy.cpp |
| MemoryManager.cpp | src/MemoryManager.cpp |
| FileIO.cpp | src/FileIO.cpp |
| PE.cpp | src/PE.cpp |
| FileEditor.cpp | src/FileEditor.cpp |
| Untils.cpp | src/Untils.cpp |
| PerfMon.cpp | src/PerfMon.cpp |
| Injector.cpp | src/Injector.cpp |
| Logger.cpp | src/Logger.cpp |
| Database.cpp | src/Database.cpp |
| ThreadingBase.cpp | src/ThreadingBase.cpp |
| Debugger.cpp | src/Debugger.cpp |
| GraphView.cpp | src/GraphView.cpp |
| Disassembler.cpp | src/Disassembler.cpp |
| MemProfiler.cpp | src/MemProfiler.cpp |
| Console.cpp | src/Console.cpp |
| ProcessMonitor.cpp | src/ProcessMonitor.cpp |
| CLI.cpp | src/CLI.cpp |
| Detector.cpp | src/Detector.cpp |
| Rebuilder.cpp | src/Rebuilder.cpp |
src.macos
| File | Summary |
|---|---|
| macos.mm | src/macos/macos.mm |
src.windows
| File | Summary |
|---|---|
| windows.cpp | src/windows/windows.cpp |
src.linux
| File | Summary |
|---|---|
| linux.cpp | src/linux/linux.cpp |
Requirements
Ensure you have the following dependencies installed on your system:
- CPP:
version x.y.z
- Clone the peTool repository:
git clone https://github.com/mendax0110/peTool- Change to the project directory:
cd peTool- Get Dependencies:
cd DependencySetup- Run the Dependency Setup Script (macos/windows)
./setup_macos_dep.sh setup_windows_dep.bat- Build the project:
cmake ..- Compile the project:
cmake --build .Use the following command to run peTool in graphical mode:
./peTool --gui Use the following command to run peTool in command-line mode:
./peToolContributions are welcome! Here are several ways you can contribute:
- Submit Pull Requests: Review open PRs, and submit your own PRs.
- Join the Discussions: Share your insights, provide feedback, or ask questions.
- Report Issues: Submit bugs found or log feature requests for Petool.
Contributing Guidelines
- Fork the Repository: Start by forking the project repository to your GitHub account.
- Clone Locally: Clone the forked repository to your local machine using a Git client.
git clone https://github.com/mendax0110/peTool
- Create a New Branch: Always work on a new branch, giving it a descriptive name.
git checkout -b new-feature-x
- Make Your Changes: Develop and test your changes locally.
- Commit Your Changes: Commit with a clear message describing your updates.
git commit -m 'Implemented new feature x.' - Push to GitHub: Push the changes to your forked repository.
git push origin new-feature-x
- Submit a Pull Request: Create a PR against the original project repository. Clearly describe the changes and their motivations.
Once your PR is reviewed and approved, it will be merged into the main branch.
This project is protected under the MIT License. For more details, refer to the LICENSE file.
- List any resources, contributors, inspiration, etc. here.