انا ذكرت السكربت لان الامر مشابه لحالتك وطريف وليس كحل، لا تنسى ان وضع البرنامج تحت التنقيح سيقلل من اداءة وسرعتة بشكل كبير عوضاً عن ان السكربت سيكون ابطأ كذلك لان اللغات التي تستخدم مفسر (بايثون، روبي، بيرل ...الخ) ابطأ من اللغات التي تستخدم كومبايلر (سي وعائلتها).
يمكنك ان تستخدم
winappdbg فهو عبارة عن مكتبة بايثون توفر لك دوال التنقيح الخاصة بنظام ويندوز فيمكك برمجة سكربت يستخدم الدوال التي ترغب بها وتحول السكربت الى exe عن طريق
py2exe
هنا العديد من الامثلة حول كيفية استخدام هذه المكتبة وكتابة سكربت باستخدامها من ضمنها سكربتات لعمل Attach to Process
https://parsiya.net/blog/2017-11-09-winappdbg-part-1-basics/#examples
او يمكنك استخدام دوال
التنقيح الخاصةبـwindows عن طريق لغة سي او سي ++ اذا كانت لديك خبرة باحدهما.
هذه بعض الدروس حول كيفية برمجة منقح صغير يمكن ان تفيدك
https://www.codeproject.com/Articles/43682/Writing-a-basic-Windows-debugger
https://www.codeproject.com/Articles/132742/Writing-Windows-Debugger-Part-2
----------------------
http://www.lyyyuna.com/2017/04/27/write-a-windows-debugger-01-overview/
http://www.lyyyuna.com/2017/05/01/write-a-windows-debugger-02-debug-event/
----------------------
كتابة منقح بلغة السي
https://www.gironsec.com/blog/2013/12/writing-your-own-debugger-windows-in-c/
امثلة حول كيفية استخدام دوال التنقيح
-----------------------------------------------------------------------
DebugEvents.cpp
This example shows how to launch the debuggee or attach to an already running process, and how to implement the debugging loop and handle debug events. The example displays the raw data passed to the debugger with the debug events, which makes possible to see the exact contents of various debug event related structures. It also explains what handles are passed to the debugger by the operating system, and how to handle them properly (e.g. what handles should be closed by the debugger and what should not be closed).
-----------------------------------------------------------------------
BaseDbg.cpp
This example extends the previous one with the possibility to display meaningful information about various debug events received by the debugger. It also shows how to obtain the paths and names of the modules loaded by the debuggee process (one of several possible approaches is shown, which utilizes the module's file handle and PSAPI library to obtain the module name).
-----------------------------------------------------------------------
SymLoadDbg.cpp
This example extends the previous examples with the possibility to load symbols for the modules loaded by the debuggee process. After the symbols have been loaded, the debugger will show additional information about the origin of the loaded symbols (CodeView, DBG, PDB, etc.). The example is also capable of receiving and showing the troubleshooting and progress messages from DbgHelp debug engine (which is similar to noisy mode in WinDBG).
-----------------------------------------------------------------------
ExcepMon.cpp
This example shows how to monitor exceptions in the debuggee process. When an exception occurs in the debuggee, the debugger walks the call stack and utilizes the symbol engine to display function names and source file/line information about stack frames.
-----------------------------------------------------------------------
تحميل جميع الامثلة
http://www.debuginfo.com/download/dbgexamples.zip
المصدر للامثلة الاربعة اعلاه
http://www.debuginfo.com/examples/dbgexamples.html