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

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

C#:
Expand Collapse Copy
   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 тоже пробавал
 
Последнее редактирование:
А какая собственно разница на чем писать?
Ну так или иначе для раста придётся писать драйвер на плюсах, так зачем писать драйвер на одном языке, а юзермод компонент на другом?
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Ну так или иначе для раста придётся писать драйвер на плюсах, так зачем писать драйвер на одном языке, а юзермод компонент на другом?
Странно, я без драйвера сделал хук рендера, а по остальным модулям, почему просто бы не записывать новую память и все
 
Странно, я без драйвера сделал хук рендера, а по остальным модулям, почему просто бы не записывать новую память и все
У тебя или интернал и инжектор с драйвером или экстернал и чтение/запись через драйвер. Тебе сам еак не даст открыть хэндл для юзермодовой записи/чтения памяти.
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
У тебя или интернал и инжектор с драйвером или экстернал и чтение/запись через драйвер. Тебе сам еак не даст открыть хэндл для юзермодовой записи/чтения памяти.
Экстарнал. разве еак блокирует чтение через экстернал?
ну рендер я хукнул, он рендерит
 
Экстарнал. разве еак блокирует чтение через экстернал?
ну рендер я хукнул, он рендерит
Да он блокирует открытие хендлов и модифицирует их права чтобы они не имели права на read/write с помощью ObRegisterCallbacks.
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Да он блокирует открытие хендлов и модифицирует их права чтобы они не имели права на read/write с помощью ObRegisterCallbacks.
Спасибо за инфу, попробовал написать драйвер и читать память (работает),
жаль на начинающем реакций нет)))
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
У тебя ивент срабатывает только когда у тебя фокус на элементе, к которому ты этот ивент добавил, в throw моде окна это явно не будет работать.
Вообще для целей перехвата кнопок в форме CmdKey работает лучше, ибо для этого нужен фокус на самом окне, а не фокусе определённого элемента.
Для перехвата всех кнопок используй -
Пожалуйста, авторизуйтесь для просмотра ссылки.
, враппер на шарпе для этой либы -
Пожалуйста, авторизуйтесь для просмотра ссылки.

Только будь аккуратней с дебагом с этой либой.
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
У тебя ивент срабатывает только когда у тебя фокус на элементе, к которому ты этот ивент добавил, в throw моде окна это явно не будет работать.
Вообще для целей перехвата кнопок в форме CmdKey работает лучше, ибо для этого нужен фокус на самом окне, а не фокусе определённого элемента.
Для перехвата всех кнопок используй -
Пожалуйста, авторизуйтесь для просмотра ссылки.
, враппер на шарпе для этой либы -
Пожалуйста, авторизуйтесь для просмотра ссылки.

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