███████╗██║ █╗ ██║█████╗ ██║ ██║ ███████╗███████║ ╚════██║██║███╗██║██╔══╝ ██║ ██║ ╚════██║██╔══██║ ███████║╚███╔███╔╝███████╗███████╗███████╗██╗███████║██║ ██║ ╚══════╝ ╚══╝╚══╝ ╚══════╝╚══════╝╚══════╝╚═╝╚══════╝╚═╝ ╚═╝ ''') bash_path = shutil.which('bash') if not bash_path: logger.error("Bash executable not found in PATH") logger.error("Quiting...") sys.exit(1) else: logger.info("Bash path: {}", bash_path) term_manager = SingleTermManager(shell_command=['bash']) bash_pid = term_manager.get_terminal().ptyproc.pid logger.info("bash pid is {}", bash_pid) elffile = ELFFile(open(bash_path, 'rb')) rl_line_buffer_addr = None rl_point_addr = None bash_is_pie = elffile.header['e_type'] == 'ET_DYN' if not bash_is_pie: rl_line_buffer_addr = get_symbol_value(elffile, 'rl_line_buffer') rl_point_addr = get_symbol_value(elffile, 'rl_point') elffile.stream.close() rl_line_buffer_lib, rl_line_buffer_offset = (None, None)