Создание ManualMap инжектора |4| C#

ROAD TO THE LEGEND
Забаненный
Статус
Оффлайн
Регистрация
7 Фев 2018
Сообщения
2,194
Реакции[?]
714
Поинты[?]
1K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Гайд #3

В прошлом гайде я рассказывал как сделать форму с выбором игр. Сегодня вам расскажу как заставить работать кнопку "Play", или попросту говоря заинжектить длл.

Приступим.

1) Перекидываем файлы из архива в папку с проектом.

Пожалуйста, авторизуйтесь для просмотра ссылки.


2) ПКМ по решению -> add -> existing item, и выбираете файлы, которые вы ранее распаковали.

3) Добавляем эти строчки в самом верху.
Код:
using ManualMapInjection.Injection;
using System.IO;
using System.Diagnostics;
using System.Net;

2 раза кликаем по кнопке "Play", вставляем данный код (Это как пример, меняйте под себя)


Код:
WebClient wb = new WebClient();
            if (bunifuCustomLabel1.Text == "Counter Strike : Global Offensive")
            {
                string mainpath = "C:\\Windows\\dll.dll"; //Куда будет сохранятся длл, можно использовать любое имя длл
                wb.DownloadFile("http://путь", mainpath); //Ваш путь к скачке длл
                var name = "csgo"; //инжект в процесс csgo.exe
                var target = Process.GetProcessesByName(name).FirstOrDefault();
                var path = mainpath;
                var file = File.ReadAllBytes(path);

                //Если нет длл
                if (!File.Exists(path))
                {
                    MessageBox.Show("Длл не найдена или была не скачана");
                    return;
                }

                //Инжект
                var injector = new ManualMapInjector(target) { AsyncInjection = true };
                label2.Text = $"hmodule = 0x{injector.Inject(file).ToInt64():x8}";

                if (System.IO.File.Exists(mainpath)) //Провряем есть ли длл
                {
                    System.IO.File.Delete(mainpath); //Удаляем длл
                }
            }
            else if (bunifuCustomLabel1.Text == "PUBG")
            {
                string mainpath = "C:\\Windows\\dll.dll"; //Куда будет сохранятся длл, можно использовать любое имя длл
                wb.DownloadFile("http://путь", mainpath); //Ваш путь к скачке длл
                var name = "pubg"; //инжект в процесс csgo.exe
                var target = Process.GetProcessesByName(name).FirstOrDefault();
                var path = mainpath;
                var file = File.ReadAllBytes(path);

                //Если нет длл
                if (!File.Exists(path))
                {
                    MessageBox.Show("Длл не найдена или была не скачана");
                    return;
                }

                //Инжект
                var injector = new ManualMapInjector(target) { AsyncInjection = true };
                label2.Text = $"hmodule = 0x{injector.Inject(file).ToInt64():x8}";

                if (System.IO.File.Exists(mainpath)) //Провряем есть ли длл
                {
                    System.IO.File.Delete(mainpath); //Удаляем длл
                }
            }
            else if (bunifuCustomLabel1.Text == "Dota 2")
            {
                string mainpath = "C:\\Windows\\dll.dll"; //Куда будет сохранятся длл, можно использовать любое имя длл
                wb.DownloadFile("http://путь", mainpath); //Ваш путь к скачке длл
                var name = "dota"; //инжект в процесс csgo.exe
                var target = Process.GetProcessesByName(name).FirstOrDefault();
                var path = mainpath;
                var file = File.ReadAllBytes(path);

                //Если нет длл
                if (!File.Exists(path))
                {
                    MessageBox.Show("Длл не найдена или была не скачана");
                    return;
                }

                //Инжект
                var injector = new ManualMapInjector(target) { AsyncInjection = true };
                label2.Text = $"hmodule = 0x{injector.Inject(file).ToInt64():x8}";

                if (System.IO.File.Exists(mainpath)) //Провряем есть ли длл
                {
                    System.IO.File.Delete(mainpath); //Удаляем длл
                }
            }
4) Создаём обычный label, в свойствах, в категории "Design" (Name) меняем на "label2", отлично. Меняем Visible на false.

На самом деле это всё. Казалось бы! Но нет. Сохранять на диск с виндой он будет только в том случае, если, если и ещё раз если, наша программа была открыта от имени администратора.
Давайте сделаем проверку.

В "public НАЗВАНИЕ_ПЕРВОЙ_ЗАГРУЖАЕМОЙ_ФОРМЫ(В МОЁМ СЛУЧАЕ Form1)()"
вставляем данный код
(выглядит это как "public Form1()")

Код:
bool isElevated;
            WindowsIdentity identity = WindowsIdentity.GetCurrent();
            WindowsPrincipal principal = new WindowsPrincipal(identity);
            isElevated = principal.IsInRole(WindowsBuiltInRole.Administrator);

            if (isElevated == false)
            {
                MessageBox.Show("Запустите файл от имени администратора!"); // не обязательно
                Environment.Exit(0);
            }
На этом месте у вас появятся ошибки. Устраним их. Добавляем на самый верх
Код:
using System.Security.Principal;
Проверяем! При обычном запуске - выскакивает месага, при запуске от имени администратора - всё хорошо заходит.




В прошлом гайде забыл показать отрисовку нижней панели с круглыми углами, 2 раза кликаем по этой панели, туда вставляем этот код.

Код:
e.Graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
            e.Graphics.Clear(panel1.Parent.BackColor);
            Control control = panel1;
            int radius = 30;
            using (System.Drawing.Drawing2D.GraphicsPath path = new System.Drawing.Drawing2D.GraphicsPath())
            {
                path.AddLine(radius, 0, control.Width - radius, 0);
                path.AddArc(control.Width - radius, 0, radius, radius, 270, 90);
                path.AddLine(control.Width, radius, control.Width, control.Height - radius);
                path.AddArc(control.Width - radius, control.Height - radius, radius, radius, 0, 90);
                path.AddLine(control.Width - radius, control.Height, radius, control.Height);
                path.AddArc(0, control.Height - radius, radius, radius, 90, 90);
                path.AddLine(0, control.Height - radius, 0, radius);
                path.AddArc(0, 0, radius, radius, 180, 90);
                using (SolidBrush brush = new SolidBrush(control.BackColor))
                {
                    e.Graphics.FillPath(brush, path);
                }
            }
На этом всё. Думаю сс не нужен
 
null
Участник
Статус
Оффлайн
Регистрация
3 Окт 2014
Сообщения
700
Реакции[?]
498
Поинты[?]
0
На моем форуме все ведется намного лучше. Темы хуевые. Никто не будет (в здравом уме), что-то делать по этим "гайдам".
Ну и пиздуй на свой форум, хули.
 
Код:
string mainpath = "C:\\Windows\\dll.dll"; //Куда будет сохранятся длл, можно использовать любое имя длл
                wb.DownloadFile("http://путь", mainpath); //Ваш путь к скачке длл
Лучше сделать byte[] dll = wb.DownloadData("url");
и ммапить именно его, нахуй нужен этот файл
 
null
Участник
Статус
Оффлайн
Регистрация
3 Окт 2014
Сообщения
700
Реакции[?]
498
Поинты[?]
0
И раз он опенсоурс, ебани репозиторий на гитхабе. Ибо ядиск это убого:sweatsmile:
 
Начинающий
Статус
Оффлайн
Регистрация
12 Июл 2018
Сообщения
20
Реакции[?]
2
Поинты[?]
0
Основная цель гайда была заставить работать кнопку play. Работает? Да.
помоги решить проблему)
Серьезность Код Описание Проект Файл Строка Состояние подавления
Ошибка CS0308 Неуниверсальный метод "Marshal.PtrToStructure(IntPtr, object)" нельзя использовать с аргументами типа. BearHack C:\Users\Олег\source\repos\BearHack\BearHack\Imports.cs 158 Активный
 
ROAD TO THE LEGEND
Забаненный
Статус
Оффлайн
Регистрация
7 Фев 2018
Сообщения
2,194
Реакции[?]
714
Поинты[?]
1K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
помоги решить проблему)
Серьезность Код Описание Проект Файл Строка Состояние подавления
Ошибка CS0308 Неуниверсальный метод "Marshal.PtrToStructure(IntPtr, object)" нельзя использовать с аргументами типа. BearHack C:\Users\Олег\source\repos\BearHack\BearHack\Imports.cs 158 Активный
На самый верх Import.cs
using System.Collections.Generic.
 
ROAD TO THE LEGEND
Забаненный
Статус
Оффлайн
Регистрация
7 Фев 2018
Сообщения
2,194
Реакции[?]
714
Поинты[?]
1K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Забаненный
Статус
Оффлайн
Регистрация
12 Ноя 2017
Сообщения
144
Реакции[?]
26
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
В чем проблема?
 
Последнее редактирование:
Забаненный
Статус
Оффлайн
Регистрация
16 Июл 2018
Сообщения
17
Реакции[?]
0
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Сверху Снизу