1 (изменено: hypechel, 2020-09-24 20:35:51)

Тема: AHK: Выполнение команды до определенного момента

Здравствуйте, у меня такая проблема я сделал скрипт, поставил защиту, хоть и слабая но защита! Защита по ключу, то есть мне надо выдать доступ к скрипту через сайт, но не в этом дело, я хочу сделать так чтобы ахк не работал до авторизации по ключу, можно ли как то заблокировать использование кода до его авторизации?

Upd: (я хочу сделать так чтобы человек не мог пользоваться скриптом, точнее чтобы блокировались сочитания клавиш до разрешения в доступе!

2

Re: AHK: Выполнение команды до определенного момента

Мало что понятно, но вы в любом случае при выполнении каких либо функций можете проверить, прошла ли авторизация. Горячие клавиши можно создавать динамически уже после авторизации командой Hotkey.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Skype dmitry_fiveg

3 (изменено: hypechel, 2020-09-24 20:34:27)

Re: AHK: Выполнение команды до определенного момента

teadrinker Попытаюсь объяснить, я поставил на скрипт защиту по ключу, но дело в том что даже если человек не будет иметь ключа он сможет использовать скрипт, т.к там скрипт основан на комбинации клавиш, я просто хочу отключить возможность взаимодествия с скриптом до того момента когда ему напишет "Доступ разрешен"
Вот код:


#NoTrayIcon
strComputer := "."
objWMIService := ComObjGet("winmgmts:{impersonationLevel=impersonate}!\\" . strComputer . "\root\cimv2")
colSettings := objWMIService.ExecQuery("Select * from Win32_OperatingSystem")._NewEnum
While colSettings[objOSItem]
{
    Key := objOSItem.SerialNumber
}
;===========================================================================
URLDownloadToFile, тут моя ссылка!, %a_temp%/d3d9.txt
fileread, read, %a_temp%/d3d9.txt
if read contains %Key%
 goto true
Gui, Font, S16 CBlack Bold, Arial
Gui, Add, Text, x53 y0 w113 h30 , Ваш ключ:
Gui, Font, ,
Gui, Add, Edit, x1 y31 w219 h21 ReadOnly vEdit,
Gui, Add, Button, x35 y55 w153 h27 gClip , Копировать и закрыть
Gui, Add, Button, x35 y85 w153 h27 gVkontakte , Vkontakte
Gui, Show, w221 h115, Key
GuiControl, , Edit, % Key
return
Clip:
Gui, Submit, NoHide
Clipboard := Edit
ExitApp
GuiClose:
ExitApp
true:
msgbox, Доступ разрешён!

4

Re: AHK: Выполнение команды до определенного момента

hypechel пишет:

там скрипт основан на комбинации клавиш

Я не увидел в коде, где там комбинация клавиш. Принцип такой:

...
URLDownloadToFile, тут моя ссылка!, %a_temp%/d3d9.txt
fileread, text, %a_temp%/d3d9.txt
if InStr(text, key)
   MsgBox, Доступ разрешён
else {
   MsgBox, Доступ запрещён
   ExitApp
}
...

Обратите внимание на оформление кода на форуме.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Skype dmitry_fiveg

5 (изменено: hypechel, 2020-09-24 18:50:11)

Re: AHK: Выполнение команды до определенного момента

teadrinker Я просто не хочу сливать сам скрипт, поэтому могу только написать комбинации клавиш: Alt + Numpad1-3; Alt + 5-6

И можете скинуть поправки в коде именно вставить сам в код чтобы я не гадал куда это вставлять после GUI или до GUI и т.д

6

Re: AHK: Выполнение команды до определенного момента

teadrinker пишет:

Горячие клавиши можно создавать динамически уже после авторизации командой Hotkey.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Skype dmitry_fiveg

7

Re: AHK: Выполнение команды до определенного момента

teadrinker Они не будут работать когда юзер скрипта не будет авторизирован? Если да, то можете написать пример?

8

Re: AHK: Выполнение команды до определенного момента

hypechel, добавьте префикс скриптового языка в название темы. Оформите ссылку тегом "URL". Оформите код тегом "code".

9

Re: AHK: Выполнение команды до определенного момента

Перевод справки по команде Hotkey, там примеры есть. Пока команда не выполнена, горячая клавиша назначена не будет.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Skype dmitry_fiveg

10 (изменено: hypechel, 2020-09-24 20:08:12)

Re: AHK: Выполнение команды до определенного момента

teadrinker пишет:

Перевод справки по команде Hotkey, там примеры есть. Пока команда не выполнена, горячая клавиша назначена не будет.

Я смог отключить клавишу, но как ее потом включить после авторизации? Я пишу "Hotkey, !Numpad1, Off"


"Hotkey, !Numpad1, On" но клавиша не включается

11

Re: AHK: Выполнение команды до определенного момента

Вам не надо её включать и отключать. Просто не создавайте её через синтаксис !Numpad1::, а сразу создавайте командой Hotkey после авторизации.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Skype dmitry_fiveg

12 (изменено: hypechel, 2020-09-24 20:22:53)

Re: AHK: Выполнение команды до определенного момента

teadrinker Я не смог найти пример, как правильно это делается. Примера я особо не понял, можете просто дословно расписать правильное включение?

13

Re: AHK: Выполнение команды до определенного момента

Сначала оформление кода исправьте в этом посте, а то меня модератор накажет.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Skype dmitry_fiveg

14

Re: AHK: Выполнение команды до определенного момента

Сделал, теперь можете помочь?

15

Re: AHK: Выполнение команды до определенного момента

; здесь авторизация
; ...
; ....
MsgBox, Доступ разрешён!

Hotkey, !Numpad1, Label, On

; здесь остальной код секции автовыполнения
; ...
; ...
Return

Label:
; здесь код который должен выполняться по горячей клавише
   MsgBox, % A_ThisHotkey
   Return
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Skype dmitry_fiveg

16

Re: AHK: Выполнение команды до определенного момента

teadrinker пишет:
; здесь авторизация
; ...
; ....
MsgBox, Доступ разрешён!

Hotkey, !Numpad1, Label, On

; здесь остальной код секции автовыполнения
; ...
; ...
Return

Label:
; здесь код который должен выполняться по горячей клавише
   MsgBox, % A_ThisHotkey
   Return

У меня все так ничего и не получается, все равно работает во время авторизации!

17

Re: AHK: Выполнение команды до определенного момента

hypechel

Вверху ставим проверку на 'лицензию', затем создаём окно Gui и заполняем его всем необходимым. Затем ниже делаем проверку и если доступ есть - НАЗНАЧАЕМ клавиши для команд.

Что тут сложного?

18

Re: AHK: Выполнение команды до определенного момента

__Михаил__ пишет:

hypechel

Вверху ставим проверку на 'лицензию', затем создаём окно Gui и заполняем его всем необходимым. Затем ниже делаем проверку и если доступ есть - НАЗНАЧАЕМ клавиши для команд.

Что тут сложного?

Без понятия как это правильно делается, у меня ахк скрипт назначен на то что бы мышка передвигалась по координатам. Но я не понимаю как правильно это сделать чтобы в окне авторизации нажимая комбинацию Alt + Numpad 1 оно не работало!

19

Re: AHK: Выполнение команды до определенного момента

hypechel

Комбинацию Alt + Numpad1 установить при проверке на доступ не судьба?

var = 1 ; Если переменная = 1 - назначаем перехват Alt+Num1.

If var
{
 ToolTip, Кнопка Назначена!
 Hotkey, !Numpad1, Метка, On
 Sleep, 1500
 ToolTip
}
Return


Метка:
ToolTip, Кнопка Alt+Num1 нажата!
Return

20

Re: AHK: Выполнение команды до определенного момента

__Михаил__ пишет:

hypechel

Комбинацию Alt + Numpad1 установить при проверке на доступ не судьба?

var = 1 ; Если переменная = 1 - назначаем перехват Alt+Num1.

If var
{
 ToolTip, Кнопка Назначена!
 Hotkey, !Numpad1, Метка, On
 Sleep, 1500
 ToolTip
}
Return


Метка:
ToolTip, Кнопка Alt+Num1 нажата!
Return

Это надо установить перед кодом или после????

21

Re: AHK: Выполнение команды до определенного момента

hypechel пишет:

У меня все так ничего и не получается, все равно работает во время авторизации!

Установку горячей клавиши с помощью !Numpad1:: нужно удалить.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Skype dmitry_fiveg

22

Re: AHK: Выполнение команды до определенного момента

Как можно вообще через URLDownloadToFile проверять ключ.

23

Re: AHK: Выполнение команды до определенного момента

svoboden

Скрипт определяет уникальные цифры компа, затем ищет их в файле, который скачает. Если цифры есть в коде - разрешает доступ к основным функциям скрипта иначе покажет окно с этими цифрами, которые нужно отправить автору.

24 (изменено: svoboden, 2020-09-27 05:34:04)

Re: AHK: Выполнение команды до определенного момента

Ну я знаю эту защиту, не стоит использовать URLDownloadToFile для проверки ключа.

25

Re: AHK: Выполнение команды до определенного момента

svoboden

А как ещё определить может ли этот компьютер иметь доступ ко всем функциям скрипта?

26 (изменено: svoboden, 2020-09-27 04:24:34)

Re: AHK: Выполнение команды до определенного момента

__Михаил__, много способов существует, можно через http запросы, куда без них.