parseExploitRequirements = function(exploits) getExploitNames = function(exploits) exploits = exploits.split("Unsafe check: ")[1:] for i in range(exploits.len - 1) exploits[i] = exploits[i].split("<b>")[1].split("</b>")[0] end for return exploits end function getExploitRequirementType = function(requirement) if not requirement.indexOf("an active user") == null then return "activeUser" if not requirement.indexOf("root active user") == null then return "activeRoot" if not requirement.indexOf("registered users equal") == null then return "registeredUsers:" + requirement.split("to ")[1].split("\.")[0] if not requirement.indexOf("port forwarding") == null then return "portForwards:" + requirement.split(" port forwarding")[0].replace(" ","") if not requirement.indexOf("namespace") == null then return ("namespace:" + requirement.split("namespace ")[1].split(" compiled")[0] + ":" + requirement.split(">= ")[1].replace(" ","")).replace("<b>","").replace("</b>","") return "0" end function getCurrentRequirements = function(exploit) reqs = exploit.split("\*")[1:] if reqs.len == 0 then return [] for i in range(reqs.len - 1) reqs[i] = getExploitRequirementType(reqs[i]) end for return reqs end function ExploitNames = getExploitNames(exploits) ExploitRequirements = exploits.split("Unsafe check: ")[1:] ExploitRequirements.applyFunction(@getCurrentRequirements) Exploits = {} for i in range(ExploitNames.len - 1) Exploits[ExploitNames[i]] = ExploitRequirements[i] end for return Exploits end function