1

Тема: AHK: Выдача доступа к скрипту на определённое время

Всем привет. Подскажите пожалуйста, какими способами можно предоставить доступ к скрипту на определённое время, которое я могу указать на github, т.к там я выдаю доступ к скрипту?

global hwid_url := "Тут моя ссылка на github с серийниками"
global cHwid := ""
global nick := ""
global LVL := ""
UrlGetContents(sUrl) {
    ComObjError(False)
    http := ComObjCreate("WinHttp.WinHttpRequest.5.1")

    http.Open("GET", sUrl, false)
    http.Send()
    ADODBStream := ComObjCreate("ADODB.Stream")
    ADODBStream.Type := 1
    ADODBStream.Mode  := 3
    ADODBStream.Open()
    ADODBStream.Write(http.ResponseBody)
    ADODBStream.Position := 0
    ADODBStream.Type := 2
    ADODBStream.Charset := "UTF-8"

    text := ADODBStream.ReadText()
    ADODBStream.Close()
    return text ;
}


CheckHwid() {
    Active := FALSE
    DriveGet, cHwid, Serial, C:\
    Loop, Parse, % UrlGetContents(hwid_url), `n
    {
        sHwid := strsplit(A_LoopField, " - ")
        if (cHwid == sHwid[1]) {
            Active := TRUE
    	    nick := sHwid[2]
	    LVL := sHwid[3]
        }
    }
    return Active
}

if (!CheckHwid()) {
msgbox, 0x30,, % "Hwid: " cHwid "`nУ Вас нет доступа к данному скрипту!", 5
IfMsgBox, Timeout
ExitApp
}

2

Re: AHK: Выдача доступа к скрипту на определённое время

shkvrk пишет:

на определённое время, которое я могу указать на github

Никогда не слышал о такой возможности Github. Есть такое?
ADODB.Stream в вашем скрипте не нужен.

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

3 (изменено: Madmer, 2023-01-29 16:06:21)

Re: AHK: Выдача доступа к скрипту на определённое время

shkvrk
Для этого подключись к какому-нибудь соответствующему API и сверяй в скрипте время. Правда толку от этого 0. Сейчас бы ахк использовать для создания приватных скриптов по подписке). Ахк абсолютно никак не защищён и, скомпилив его в екзешник, вскрыть его крайне просто. Я советую сменить модель распространения или язык.

4

Re: AHK: Выдача доступа к скрипту на определённое время

Madmer
Как бы существуют некоторые способы для скрытия исходного кода. Возможно shkvrk это будет использовать.

Win11x64, AHK v1.1.37.01 (Unicode 64-bit), AHK v2.0.17| AHK-Wiki | Переменные и выражения | RegEx101

5

Re: AHK: Выдача доступа к скрипту на определённое время

shkvrk
В интернете есть много точных сайтов с api, например time100.ru. Изучите как получить его в свой скрипт. Далее проверяйте при запуске время с этого сайта и разрешение с github.

Win11x64, AHK v1.1.37.01 (Unicode 64-bit), AHK v2.0.17| AHK-Wiki | Переменные и выражения | RegEx101

6 (изменено: shkvrk, 2023-01-30 01:55:13)

Re: AHK: Выдача доступа к скрипту на определённое время

Я не особо разбираюсь, поэтому и обратился к Вам сюда. __Михаил__

7

Re: AHK: Выдача доступа к скрипту на определённое время

shkvrk, ознакомьтесь, пожалуйста, с Правилами, отредактируйте свой пост. Обратите внимание на точки в конце предложений.

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

8 (изменено: shkvrk, 2023-02-02 22:34:33)

Re: AHK: Выдача доступа к скрипту на определённое время

А может получится сделать что-то из этого?
Как в скрипт дополнить переменную с датой? Не очень понимаю просто.
На GitHub я записываю вот так: "476450800 - name - 6 - 04.02.2023". Датой будет тот день, когда доступ должен закончиться.


global date := ""

CheckHwid() {
    Active := FALSE
    DriveGet, cHwid, Serial, C:\
    Loop, Parse, % UrlGetContents(hwid_url), `n
    {
        sHwid := strsplit(A_LoopField, " - ")
        if (cHwid == sHwid[1]) {
            Active := TRUE
    	    nick := sHwid[2]
	    LVL := sHwid[3]
	    date := sHwid[4]
        }
    }
    return Active
}

if date < dd.MM.yyyy
{
msgbox, 0x30,, У Вас закончился доступ к скрипту!, 5
ExitApp
}

9 (изменено: shkvrk, 2023-02-03 17:24:39)

Re: AHK: Выдача доступа к скрипту на определённое время

Сделал вот таким способом, но скрипт читает только dd на GitHub. Если прописать на GitHub дату месяцем ранее, скрипт пишет мне, что доступ закончился.


global dateaccess := ""

CheckHwid() {
    Active := FALSE
    DriveGet, cHwid, Serial, C:\
    Loop, Parse, % UrlGetContents(hwid_url), `n
    {
        sHwid := strsplit(A_LoopField, " - ")
        if (cHwid == sHwid[1]) {
            Active := TRUE
    	    nick := sHwid[2]
	        LVL := sHwid[3]
	        dateaccess := sHwid[4]
        }
    }
    return Active
}

FormatTime, realdate, ddMMyyyy, ShortDate
if dateaccess < %realdate%
{
msgbox, 0x30,, У Вас закончился доступ к скрипту!, 5
ifMsgBox OK
ExitApp
}

10

Re: AHK: Выдача доступа к скрипту на определённое время

У вас переменная dateaccess пустая.

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

11 (изменено: shkvrk, 2023-02-03 19:15:42)

Re: AHK: Выдача доступа к скрипту на определённое время

Что мне нужно записать туда? Просто текст в этой переменной берётся с GitHub. Или я что-то не так делаю или же понимаю. teadrinker

12

Re: AHK: Выдача доступа к скрипту на определённое время

У вас в скрипте он ниоткуда не берётся, переменная как была пустой, так и остаётся.

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

13 (изменено: shkvrk, 2023-02-03 19:21:15)

Re: AHK: Выдача доступа к скрипту на определённое время

Это странно, ибо переменную LVL, nick и сHwid я беру с GitHub и они у меня тоже пустые. teadrinker

14

Re: AHK: Выдача доступа к скрипту на определённое время

Почему странно? Вы туда ничего не кладёте, вот и пустые.

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

15 (изменено: shkvrk, 2023-02-03 19:24:29)

Re: AHK: Выдача доступа к скрипту на определённое время

Так я поэтому и прошу помощи. Как правильно необходимо сделать, чтобы с GitHub скрипт брал дату, которую я туда написал и сравнивал её с реальной? teadrinker

Вот код:


FormatTime, realdate, DDMMYY, ShortDate
if dateaccess < %realdate%
{
msgbox, 0x30,, У Вас закончился доступ к скрипту!, 5
ExitApp
}

16

Re: AHK: Выдача доступа к скрипту на определённое время

Дайте адрес файла на Гитхабе.

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

17 (изменено: shkvrk, 2023-02-03 19:31:23)

Re: AHK: Выдача доступа к скрипту на определённое время

Вот ссылка: https://github.com/shkvrk/admbinder/blo … serial.txt. teadrinker

18

Re: AHK: Выдача доступа к скрипту на определённое время

Посмотрите, как правильно ссылки оформлять.

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

19

Re: AHK: Выдача доступа к скрипту на определённое время

Извиняюсь, исправил. teadrinker

20 (изменено: __Михаил__, 2023-02-03 19:51:49)

Re: AHK: Выдача доступа к скрипту на определённое время

shkvrk Насколько мне помнится даты в обычном виде (дд.мм.гггг) нужно конвертировать в число (Unix например), тогда их сравнение будет верным. Как вариант записать обратную дату без точек (20230203).

Win11x64, AHK v1.1.37.01 (Unicode 64-bit), AHK v2.0.17| AHK-Wiki | Переменные и выражения | RegEx101

21

Re: AHK: Выдача доступа к скрипту на определённое время

Хорошо, попробую. __Михаил__

22

Re: AHK: Выдача доступа к скрипту на определённое время

Всё получилось и работает. Огромное спасибо, __Михаил__.