if params.len < 1 or params[0] == "-h" or params[0] == "--help" then current_program = get_shell.host_computer.File(program_path) exit("Usage: "+current_program.name+" ") end if source_file = get_shell.host_computer.File(params[0]) if not source_file then source_file = get_shell.host_computer.File(current_path + params[0]) if not source_file then exit("Unable to locate source file") end if cp = get_shell.host_computer get_shell.build(source_file.path, current_path) bin_name = source_file.name.split("\.")[0] bin_file = cp.File(current_path + "/" + bin_name) if not bin_file then exit("Compiler error") bin_file.move("/bin", bin_name) bin_file.set_group("root") bin_file.set_owner("root") source_content = source_file.get_content if source_content.indexOf("""/lib/metaxploit.so""") and bin_name != "bbuild" then source_content = source_content.replace("""/lib/metaxploit.so""", "current_path + ""/metaxploit.so""") cp.touch(current_path, bin_name + "_guest.src") guest_source = cp.File(current_path + "/" + bin_name + "_guest.src") guest_source.set_content(source_content) get_shell.build(guest_source.path, current_path) guest_source.delete guest_file = cp.File(current_path + "/" + bin_name + "_guest") else get_shell.build(source_file.path, current_path) guest_file = cp.File(current_path + "/" + bin_name) end if guest_file.move("/home/" + active_user + "/guest/", bin_name) guest_file.set_group("guest") guest_file.set_owner("guest")