private static int AttemptExeProgramExecution(OS os, string[] p) { Computer target = os.connectedComp != null ? os.connectedComp : os.thisComputer; Folder folder = os.thisComputer.files.root.searchForFolder("bin"); int indexOfExeProgram = ProgramRunner.GetFileIndexOfExeProgram(p[0], (object)folder); bool flag = indexOfExeProgram == int.MaxValue; int index1 = -1; int index2 = -1; if (indexOfExeProgram < 0) { return(-1); } string exeFileData = (string)null; string exeName = (string)null; if (!flag) { exeFileData = folder.files[indexOfExeProgram].data; for (int index3 = 0; index3 < PortExploits.exeNums.Count; ++index3) { int exeNum = PortExploits.exeNums[index3]; if (PortExploits.crackExeData[exeNum].Equals(exeFileData) || PortExploits.crackExeDataLocalRNG[exeNum].Equals(exeFileData)) { exeName = PortExploits.cracks[exeNum].Replace(".exe", "").ToLower(); index2 = exeNum; break; } } if (exeName == "ftpsprint") { int num; index2 = num = 21; if (exeFileData == PortExploits.crackExeData[211] || exeFileData == PortExploits.crackExeDataLocalRNG[211]) { index1 = 211; } } } else { exeName = p[0].Replace(".exe", "").ToLower(); if (exeName == "notes") { exeFileData = PortExploits.crackExeData[8]; } if (exeName == "tutorial") { exeFileData = PortExploits.crackExeData[1]; } } if (exeName == null) { return(-1); } int targetPort = -1; int codePort = -1; if (!flag && PortExploits.needsPort[index2]) { if (p.Length > 1) { try { int int32 = Convert.ToInt32(p[1]); int num = int32; codePort = target.GetCodePortNumberFromDisplayPort(int32); if (num == codePort) { int numberFromCodePort = target.GetDisplayPortNumberFromCodePort(codePort); if (codePort != numberFromCodePort) { codePort = -1; } } } catch (FormatException ex) { codePort = -1; } } else { if (exeName == "ssltrojan") { SSLPortExe.GenerateInstanceOrNullFromArguments(p, Rectangle.Empty, (object)os, target); return(0); } os.write(LocaleTerms.Loc("No port number Provided")); return(0); } } if (!flag && PortExploits.needsPort[index2]) { try { for (int index3 = 0; index3 < target.ports.Count; ++index3) { if (target.ports[index3] == codePort) { targetPort = target.ports[index3]; break; } } } catch { os.write(LocaleTerms.Loc("No port number Provided")); return(0); } if (targetPort == -1) { os.write(LocaleTerms.Loc("Target Port is Closed")); return(0); } if (index1 <= -1) { index1 = targetPort; } if (index1 == 211 && targetPort != 21 || exeFileData != PortExploits.crackExeData[index1] && exeFileData != PortExploits.crackExeDataLocalRNG[index1]) { os.write(LocaleTerms.Loc("Target Port running incompatible service for this executable")); return(0); } } os.launchExecutable(exeName, exeFileData, targetPort, p, p[0]); return(1); }