@@ -684,8 +684,12 @@ <h1>Source code for libdebug.debugger.internal_debugger</h1><div class="highligh
684
684
685
685
< div class ="viewcode-block " id ="InternalDebugger.run ">
686
686
< 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 >
689
693
< 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 >
690
694
< 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 >
691
695
@@ -709,15 +713,15 @@ <h1>Source code for libdebug.debugger.internal_debugger</h1><div class="highligh
709
713
< 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 >
710
714
< 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 >
711
715
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 >
713
717
714
718
< span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> _join_and_check_status</ span > < span class ="p "> ()</ span >
715
719
716
720
< span class ="k "> if</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> escape_antidebug</ span > < span class ="p "> :</ span >
717
721
< 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 >
718
722
< span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> _enable_antidebug_escaping</ span > < span class ="p "> ()</ span >
719
723
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 >
721
725
< 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 >
722
726
723
727
< 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
1746
1750
< 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 >
1747
1751
< 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 >
1748
1752
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 >
1750
1754
< 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 >
1752
1756
1753
1757
< span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> set_stopped</ span > < span class ="p "> ()</ span >
1754
1758
0 commit comments