@@ -684,8 +684,12 @@ <h1>Source code for libdebug.debugger.internal_debugger</h1><div class="highligh
684684
685685< div class ="viewcode-block " id ="InternalDebugger.run ">
686686< a class ="viewcode-back " href ="../../../libdebug.debugger.html#libdebug.debugger.internal_debugger.InternalDebugger.run "> [docs]</ a >
687- < span class ="k "> def</ span > < span class ="nf "> run</ span > < span class ="p "> (</ span > < span class ="bp "> self</ span > < span class ="p "> :</ span > < span class ="n "> InternalDebugger</ span > < span class ="p "> )</ span > < span class ="o "> -></ span > < span class ="n "> PipeManager</ span > < span class ="p "> :</ span >
688- < span class ="w "> </ span > < span class ="sd "> """Starts the process and waits for it to stop."""</ span >
687+ < span class ="k "> def</ span > < span class ="nf "> run</ span > < span class ="p "> (</ span > < span class ="bp "> self</ span > < span class ="p "> :</ span > < span class ="n "> InternalDebugger</ span > < span class ="p "> ,</ span > < span class ="n "> redirect_pipes</ span > < span class ="p "> :</ span > < span class ="nb "> bool</ span > < span class ="o "> =</ span > < span class ="kc "> True</ span > < span class ="p "> )</ span > < span class ="o "> -></ span > < span class ="n "> PipeManager</ span > < span class ="o "> |</ span > < span class ="kc "> None</ span > < span class ="p "> :</ span >
688+ < span class ="w "> </ span > < span class ="sd "> """Starts the process and waits for it to stop.</ span >
689+
690+ < span class ="sd "> Args:</ span >
691+ < span class ="sd "> redirect_pipes (bool): Whether to hook and redirect the pipes of the process to a PipeManager.</ span >
692+ < span class ="sd "> """</ span >
689693 < span class ="k "> if</ span > < span class ="ow "> not</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> argv</ span > < span class ="p "> :</ span >
690694 < span class ="k "> raise</ span > < span class ="ne "> RuntimeError</ span > < span class ="p "> (</ span > < span class ="s2 "> "No binary file specified."</ span > < span class ="p "> )</ span >
691695
@@ -709,15 +713,15 @@ <h1>Source code for libdebug.debugger.internal_debugger</h1><div class="highligh
709713 < span class ="k "> if</ span > < span class ="ow "> not</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> __polling_thread_command_queue</ span > < span class ="o "> .</ span > < span class ="n "> empty</ span > < span class ="p "> ():</ span >
710714 < span class ="k "> raise</ span > < span class ="ne "> RuntimeError</ span > < span class ="p "> (</ span > < span class ="s2 "> "Polling thread command queue not empty."</ span > < span class ="p "> )</ span >
711715
712- < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> __polling_thread_command_queue</ span > < span class ="o "> .</ span > < span class ="n "> put</ span > < span class ="p "> ((</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> __threaded_run</ span > < span class ="p "> ,</ span > < span class ="p "> ()))</ span >
716+ < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> __polling_thread_command_queue</ span > < span class ="o "> .</ span > < span class ="n "> put</ span > < span class ="p "> ((</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> __threaded_run</ span > < span class ="p "> ,</ span > < span class ="p "> (</ span > < span class =" n " > redirect_pipes </ span > < span class =" p " > , </ span > < span class =" p " > )))</ span >
713717
714718 < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> _join_and_check_status</ span > < span class ="p "> ()</ span >
715719
716720 < span class ="k "> if</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> escape_antidebug</ span > < span class ="p "> :</ span >
717721 < span class ="n "> liblog</ span > < span class ="o "> .</ span > < span class ="n "> debugger</ span > < span class ="p "> (</ span > < span class ="s2 "> "Enabling anti-debugging escape mechanism."</ span > < span class ="p "> )</ span >
718722 < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> _enable_antidebug_escaping</ span > < span class ="p "> ()</ span >
719723
720- < span class ="k "> if</ span > < span class ="ow "> not</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> pipe_manager</ span > < span class ="p "> :</ span >
724+ < span class ="k "> if</ span > < span class ="n " > redirect_pipes </ span > < span class =" ow " > and </ span > < span class =" ow "> not</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> pipe_manager</ span > < span class ="p "> :</ span >
721725 < span class ="k "> raise</ span > < span class ="ne "> RuntimeError</ span > < span class ="p "> (</ span > < span class ="s2 "> "Something went wrong during pipe initialization."</ span > < span class ="p "> )</ span >
722726
723727 < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> _process_memory_manager</ span > < span class ="o "> .</ span > < span class ="n "> open</ span > < span class ="p "> (</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> process_id</ span > < span class ="p "> )</ span >
@@ -1746,9 +1750,9 @@ <h1>Source code for libdebug.debugger.internal_debugger</h1><div class="highligh
17461750 < span class ="k "> with</ span > < span class ="n "> Path</ span > < span class ="p "> (</ span > < span class ="sa "> f</ span > < span class ="s2 "> "/proc/</ span > < span class ="si "> {</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> process_id</ span > < span class ="si "> }</ span > < span class ="s2 "> /comm"</ span > < span class ="p "> )</ span > < span class ="o "> .</ span > < span class ="n "> open</ span > < span class ="p "> ()</ span > < span class ="k "> as</ span > < span class ="n "> f</ span > < span class ="p "> :</ span >
17471751 < span class ="k "> return</ span > < span class ="n "> f</ span > < span class ="o "> .</ span > < span class ="n "> read</ span > < span class ="p "> ()</ span > < span class ="o "> .</ span > < span class ="n "> strip</ span > < span class ="p "> ()</ span >
17481752
1749- < span class ="k "> def</ span > < span class ="nf "> __threaded_run</ span > < span class ="p "> (</ span > < span class ="bp "> self</ span > < span class ="p "> :</ span > < span class ="n "> InternalDebugger</ span > < span class ="p "> )</ span > < span class ="o "> -></ span > < span class ="kc "> None</ span > < span class ="p "> :</ span >
1753+ < span class ="k "> def</ span > < span class ="nf "> __threaded_run</ span > < span class ="p "> (</ span > < span class ="bp "> self</ span > < span class ="p "> :</ span > < span class ="n "> InternalDebugger</ span > < span class ="p "> , </ span > < span class =" n " > redirect_pipes </ span > < span class =" p " > : </ span > < span class =" nb " > bool </ span > < span class =" p " > )</ span > < span class ="o "> -></ span > < span class ="kc "> None</ span > < span class ="p "> :</ span >
17501754 < span class ="n "> liblog</ span > < span class ="o "> .</ span > < span class ="n "> debugger</ span > < span class ="p "> (</ span > < span class ="s2 "> "Starting process </ span > < span class ="si "> %s</ span > < span class ="s2 "> ."</ span > < span class ="p "> ,</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> argv</ span > < span class ="p "> [</ span > < span class ="mi "> 0</ span > < span class ="p "> ])</ span >
1751- < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> debugging_interface</ span > < span class ="o "> .</ span > < span class ="n "> run</ span > < span class ="p "> ()</ span >
1755+ < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> debugging_interface</ span > < span class ="o "> .</ span > < span class ="n "> run</ span > < span class ="p "> (</ span > < span class =" n " > redirect_pipes </ span > < span class =" p " > )</ span >
17521756
17531757 < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> set_stopped</ span > < span class ="p "> ()</ span >
17541758
0 commit comments