Вопрос Помогите с hotkeys в C# forms

Забаненный
Статус
Оффлайн
Регистрация
2 Фев 2021
Сообщения
453
Реакции[?]
82
Поинты[?]
3K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Делаю хак для раста, пытаюсь сделать hotkeysб но он не работает, помогите.

C#:
   public partial class Display : Form
    {

        public const String WINDOW_NAME = "Rust";

        [DllImport("user32.dll")]
        public static extern short GetAsyncKeyState(System.Windows.Forms.Keys vKey);

        public static IntPtr handle = FindWindow(null, WINDOW_NAME);

        [DllImport("user32.dll")]
        public static extern IntPtr FindWindow(string IpClassName, string IpWindowName);

        [DllImport("user32.dll")]
        public static extern int SetWindowLong(IntPtr hWnd, int nIndex, int dwNewLong);

        [DllImport("user32.dll", SetLastError = true)]
        public static extern int GetWindowLong(IntPtr hWnd, int nIndex);

        [DllImport("user32.dll")]
        [return: MarshalAs(UnmanagedType.Bool)]

        public static extern bool GetWindowRect(IntPtr hwnd, out RECT IpRect);

        public static RECT rect;

        public struct RECT
        {
            public int left, top, right, bottom;
        }

        public Display()
        {
            InitializeComponent();
        }

        private void Display_Load(object sender, EventArgs e)
        {

            CheckForIllegalCrossThreadCalls = false;

            this.BackColor = Color.Wheat;
            this.TransparencyKey = Color.Wheat;
            this.FormBorderStyle = FormBorderStyle.None;
            this.TopMost = true;

            int initialStyle = GetWindowLong(this.Handle, -20);
            SetWindowLong(this.Handle, -20, initialStyle | 0x8000 | 0x20);

            GetWindowRect(handle, out rect);

            this.Size = new Size(rect.right - rect.left, rect.bottom - rect.top);

            this.Left = rect.left;
            this.Top = rect.top;

            backgroundWorker1.RunWorkerAsync();
        }

        private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
        {
            while (true)
            {
                GetWindowRect(handle, out rect);

                this.Size = new Size(rect.right - rect.left, rect.bottom - rect.top);

                this.Left = rect.left;
                this.Top = rect.top;

                Thread.Sleep(10);
            }
        }

        private void espEnable_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.F)
            {
                this.espEnable.Enabled = !this.espEnable.Enabled;
            }
        }
    }
1654780916219.png
GetAsyncKeyState тоже пробавал
 
Последнее редактирование:
Pa$$ter
Пользователь
Статус
Оффлайн
Регистрация
9 Июн 2020
Сообщения
239
Реакции[?]
83
Поинты[?]
12K
А какая собственно разница на чем писать?
Ну так или иначе для раста придётся писать драйвер на плюсах, так зачем писать драйвер на одном языке, а юзермод компонент на другом?
 
Забаненный
Статус
Оффлайн
Регистрация
2 Фев 2021
Сообщения
453
Реакции[?]
82
Поинты[?]
3K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Ну так или иначе для раста придётся писать драйвер на плюсах, так зачем писать драйвер на одном языке, а юзермод компонент на другом?
Странно, я без драйвера сделал хук рендера, а по остальным модулям, почему просто бы не записывать новую память и все
 
Pa$$ter
Пользователь
Статус
Оффлайн
Регистрация
9 Июн 2020
Сообщения
239
Реакции[?]
83
Поинты[?]
12K
Странно, я без драйвера сделал хук рендера, а по остальным модулям, почему просто бы не записывать новую память и все
У тебя или интернал и инжектор с драйвером или экстернал и чтение/запись через драйвер. Тебе сам еак не даст открыть хэндл для юзермодовой записи/чтения памяти.
 
Забаненный
Статус
Оффлайн
Регистрация
2 Фев 2021
Сообщения
453
Реакции[?]
82
Поинты[?]
3K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
У тебя или интернал и инжектор с драйвером или экстернал и чтение/запись через драйвер. Тебе сам еак не даст открыть хэндл для юзермодовой записи/чтения памяти.
Экстарнал. разве еак блокирует чтение через экстернал?
ну рендер я хукнул, он рендерит
 
Pa$$ter
Пользователь
Статус
Оффлайн
Регистрация
9 Июн 2020
Сообщения
239
Реакции[?]
83
Поинты[?]
12K
Экстарнал. разве еак блокирует чтение через экстернал?
ну рендер я хукнул, он рендерит
Да он блокирует открытие хендлов и модифицирует их права чтобы они не имели права на read/write с помощью ObRegisterCallbacks.
 
Забаненный
Статус
Оффлайн
Регистрация
2 Фев 2021
Сообщения
453
Реакции[?]
82
Поинты[?]
3K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Да он блокирует открытие хендлов и модифицирует их права чтобы они не имели права на read/write с помощью ObRegisterCallbacks.
Спасибо за инфу, попробовал написать драйвер и читать память (работает),
жаль на начинающем реакций нет)))
 
Пользователь
Статус
Оффлайн
Регистрация
16 Мар 2021
Сообщения
377
Реакции[?]
78
Поинты[?]
11K
Забаненный
Статус
Оффлайн
Регистрация
2 Фев 2021
Сообщения
453
Реакции[?]
82
Поинты[?]
3K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Пользователь
Статус
Оффлайн
Регистрация
16 Мар 2021
Сообщения
377
Реакции[?]
78
Поинты[?]
11K
У тебя ивент срабатывает только когда у тебя фокус на элементе, к которому ты этот ивент добавил, в throw моде окна это явно не будет работать.
Вообще для целей перехвата кнопок в форме CmdKey работает лучше, ибо для этого нужен фокус на самом окне, а не фокусе определённого элемента.
Для перехвата всех кнопок используй -
Пожалуйста, авторизуйтесь для просмотра ссылки.
, враппер на шарпе для этой либы -
Пожалуйста, авторизуйтесь для просмотра ссылки.

Только будь аккуратней с дебагом с этой либой.
 
Забаненный
Статус
Оффлайн
Регистрация
2 Фев 2021
Сообщения
453
Реакции[?]
82
Поинты[?]
3K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
У тебя ивент срабатывает только когда у тебя фокус на элементе, к которому ты этот ивент добавил, в throw моде окна это явно не будет работать.
Вообще для целей перехвата кнопок в форме CmdKey работает лучше, ибо для этого нужен фокус на самом окне, а не фокусе определённого элемента.
Для перехвата всех кнопок используй -
Пожалуйста, авторизуйтесь для просмотра ссылки.
, враппер на шарпе для этой либы -
Пожалуйста, авторизуйтесь для просмотра ссылки.

Только будь аккуратней с дебагом с этой либой.
Ты не понял, я переписал чит, и у меня он идет драйвером, юзер мода нет, но все равно спасибо за помощь, и я сделал хоткеи в драйвере
 
Сверху Снизу