AHK скрипт Гайд Способы привязки AHK скрипта к человеку (05.10.2021)

Пригодилось?


  • Всего проголосовало
    34
Забаненный
Статус
Оффлайн
Регистрация
9 Фев 2021
Сообщения
181
Реакции[?]
97
Поинты[?]
1K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Привязка AHK с помощью серийного номера

DriveGet, y, Serial, C:

URLDownloadToFile,
Пожалуйста, авторизуйтесь для просмотра ссылки.
(Свой ID) user1.txt ; Твой URL

FileReadLine, user1, user1.txt, 1
FileDelete, user1.txt

if ( y = user1 )
{
}
else
{
ExitApp
}
 
Жизнь быстротечна — спешите стать Человеком!
Пользователь
Статус
Оффлайн
Регистрация
12 Апр 2021
Сообщения
256
Реакции[?]
36
Поинты[?]
0
Привязка AHK с помощью серийного номера

DriveGet, y, Serial, C:

URLDownloadToFile,
Пожалуйста, авторизуйтесь для просмотра ссылки.
(Свой ID) user1.txt ; Твой URL

FileReadLine, user1, user1.txt, 1
FileDelete, user1.txt

if ( y = user1 )
{
}
else
{
ExitApp
}
Не знаю на счет твоего, ну мои 2 привязки, как то правдоподобнее выглядят.
 
vk.com/ahkcsgocheat
Пользователь
Статус
Оффлайн
Регистрация
21 Апр 2020
Сообщения
379
Реакции[?]
64
Поинты[?]
2K
Привязку можно через пастбин сделать - проще всего:

Код:
Whr := ComObjCreate("WinHttp.WinHttpRequest.5.1")
Whr.Open("GET", "https://pastebin.com/raw/0zusrBmq", false)
Whr.Send()
MsgBox, % Whr.ResponseText
 
Пользователь
Статус
Оффлайн
Регистрация
30 Апр 2019
Сообщения
143
Реакции[?]
33
Поинты[?]
4K
Привязку можно через пастбин сделать - проще всего:

Код:
Whr := ComObjCreate("WinHttp.WinHttpRequest.5.1")
Whr.Open("GET", "https://pastebin.com/raw/0zusrBmq", false)
Whr.Send()
MsgBox, % Whr.ResponseText
Спасибо тебе за решенную проблему с парсингом, я обновил пост!
 
Последнее редактирование:
Начинающий
Статус
Оффлайн
Регистрация
21 Июн 2021
Сообщения
10
Реакции[?]
2
Поинты[?]
0
Всем привет! В этом посте я научу Вас привязывать свой софт к железу пользователя.
Обновлено (05.10.2021)

- Исправил серьезную ошибку с нахождением операционки на других системных дисках помимо диска C:\

Первый способ:

1) Будем доставать серийник диска на котором установлена Windows.
2) Регистрируемся на GitHub (no ad) и создаем свой GitHub Pages (no ad).
3) Вносим серийник человека в свою базу.
4) После запуска скрипта, скачивается страница вашей базы человеку, после чего ahk ищет совместимость серийника.
5) Если нашелся подходящий серийник, скрипт пропускает в главный функционал, если нет, требует авторизоваться.

Код:
#NoEnv

Windows_Disk := A_WinDir

if Windows_Disk contains Windows
{
    RegExMatch(Windows_Disk, "(.*)windows", Disk_7)
    if Disk_71 contains Q,W,E,R,T,Y,U,I,O,P,A,S,D,F,G,H,J,K,L,Z,X,C,V,B,N,M
    {
        DriveGet, HWID, Serial, %Disk_71%
    }
     
    RegExMatch(Windows_Disk, "(.*)Windows", Disk_8)
    if Disk_81 contains Q,W,E,R,T,Y,U,I,O,P,A,S,D,F,G,H,J,K,L,Z,X,C,V,B,N,M
    {
        DriveGet, HWID, Serial, %Disk_81%
    }
     
    RegExMatch(Windows_Disk, "(.*)WINDOWS", Disk_10)
    if Disk_101 contains Q,W,E,R,T,Y,U,I,O,P,A,S,D,F,G,H,J,K,L,Z,X,C,V,B,N,M
    {
        DriveGet, HWID, Serial, %Disk_101%
    }
}
else
{
    MsgBox, У тебя операционная система не Windows!
    ExitApp
}
Результат A_WinDir выглядит примерно так - C:\WINDOWS
Для того чтобы не возникало проблем с использование буквой диска, нужно убрать лишние буквы, в нашем случае это - WINDOWS.
По этому я использовал функцию RegExMatch, а вот результатом выступает Disk_7, Disk_8, Disk_10 в которых хранится диск с Windows в моем случае C:\
А вот сама DriveGet достает серийник из Disk1
(обратите внимание не Disk_7, а Disk_71), результат хранится в HWID (переменная).

Код:
URLDownloadToFile, ВАША БАЗА, %a_temp%/key.txt
fileread, read, %a_temp%/key.txt
FileDelete, %a_temp%/key.txt
if read contains %HWID%
{
    Goto, true
}
else
{
    MsgBox, Добро пожаловать в поле регистрации!`nСкопированные данные отправьте автору программы.
    Gui, Font, S16 CBlack Bold, Arial
    Gui, Add, Text, x53 y0 w500 h30 , Твой ключ:
    Gui, Font, ,
    Gui, Add, Edit, x1 y31 w219 h21 +Center ReadOnly vEdit,
    Gui, Add, Button, x35 y52 w153 h24 gClip , Копировать и закрыть
    Gui, Show, w221 h76, Доступ
    GuiControl, , Edit, % HWID
    return
    Clip:
    Gui, Submit, NoHide
    Clipboard := Edit
    ExitApp
    GuiClose:
    ExitApp
}
true:
MsgBox, Добро пожаловать!
URLDownloadToFile качает страницу с сайта в папку Temp хранящуюся на диске C (в моем случае), после чего скрипт читает все содержимое, а по завершению удаляет файл. Учтите, что ссылку на вашу базу нужно вставлять вместо - ВАША БАЗА.

Порядок действий:

1) Посмотреть вложение 171906
2) Посмотреть вложение 171907
3) Ссылку копируем обязательно в таком формате, как показано на скрине!Посмотреть вложение 171908
4) Вставляем в код, готово!

После того как скрипт прочёл содержимое - HWID, происходит сравнение текущего серийника пользователя с существующей базой. Если есть сходство, программа пропускает человека (срабатывает функция Goto, он в свою очередь пропускает строки связанные с меню авторизации, скрипт стартует со строчки true:)

Весь код первого способа:

Код:
#NoEnv

Windows_Disk := A_WinDir

if Windows_Disk contains Windows
{
    RegExMatch(Windows_Disk, "(.*)windows", Disk_7)
    if Disk_71 contains Q,W,E,R,T,Y,U,I,O,P,A,S,D,F,G,H,J,K,L,Z,X,C,V,B,N,M
    {
        DriveGet, HWID, Serial, %Disk_71%
    }
     
    RegExMatch(Windows_Disk, "(.*)Windows", Disk_8)
    if Disk_81 contains Q,W,E,R,T,Y,U,I,O,P,A,S,D,F,G,H,J,K,L,Z,X,C,V,B,N,M
    {
        DriveGet, HWID, Serial, %Disk_81%
    }
     
    RegExMatch(Windows_Disk, "(.*)WINDOWS", Disk_10)
    if Disk_101 contains Q,W,E,R,T,Y,U,I,O,P,A,S,D,F,G,H,J,K,L,Z,X,C,V,B,N,M
    {
        DriveGet, HWID, Serial, %Disk_101%
    }
}
else
{
    MsgBox, У тебя операционная система не Windows!
    ExitApp
}

URLDownloadToFile, https://raw.githubusercontent.com/millioner1403/index.html/master/index.html, %a_temp%/key.txt
fileread, read, %a_temp%/key.txt
FileDelete, %a_temp%/key.txt

if read contains %HWID%
{
    Goto, true
}
else
{
    MsgBox, Добро пожаловать в поле регистрации!`nСкопированые данные отправте автору программы.
    Gui, Font, S16 CBlack Bold, Arial
    Gui, Add, Text, x53 y0 w500 h30 , Твой ключ:
    Gui, Font, ,
    Gui, Add, Edit, x1 y31 w219 h21 +Center ReadOnly vEdit,
    Gui, Add, Button, x35 y52 w153 h24 gClip , Копировать и закрыть
    Gui, Show, w221 h76, Доступ
    GuiControl, , Edit, % HWID
    return
    Clip:
    Gui, Submit, NoHide
    Clipboard := Edit
    ExitApp
    GuiClose:
    ExitApp
}
true:
MsgBox, Добро пожаловать!
Второй способ:

Этот способ работает по принципу парсинга страницы, идея - Bunnyscript ( https://yougame.biz/members/337981/ ).

1) Будем доставать серийник диска на котором установлена Windows.
2) Регистрируемся на GitHub (no ad) и создаем свой GitHub Pages (no ad).
3) Вносим серийник человека в свою базу.
4) После запуска скрипта, парсится страница вашей базы, после чего ahk ищет совместимость серийника.
5) Если нашелся подходящий серийник, скрипт пропускает в главный функционал, если нет, требует авторизоваться.

Код этого способа на 90% схож с предыдущим, по этому в детальном объяснении не нуждается.

Весь код второго способа:

Код:
#NoEnv

Windows_Disk := A_WinDir

if Windows_Disk contains Windows
{
    RegExMatch(Windows_Disk, "(.*)windows", Disk_7)
    if Disk_71 contains Q,W,E,R,T,Y,U,I,O,P,A,S,D,F,G,H,J,K,L,Z,X,C,V,B,N,M
    {
        DriveGet, HWID, Serial, %Disk_71%
    }
      
    RegExMatch(Windows_Disk, "(.*)Windows", Disk_8)
    if Disk_81 contains Q,W,E,R,T,Y,U,I,O,P,A,S,D,F,G,H,J,K,L,Z,X,C,V,B,N,M
    {
        DriveGet, HWID, Serial, %Disk_81%
    }
      
    RegExMatch(Windows_Disk, "(.*)WINDOWS", Disk_10)
    if Disk_101 contains Q,W,E,R,T,Y,U,I,O,P,A,S,D,F,G,H,J,K,L,Z,X,C,V,B,N,M
    {
        DriveGet, HWID, Serial, %Disk_101%
    }
}
else
{
    MsgBox, У тебя операционная система не Windows!
    ExitApp
}

Parse := ComObjCreate("WinHttp.WinHttpRequest.5.1")
Parse.Open("GET", "https://raw.githubusercontent.com/millioner1403/index.html/master/index.html", false)
Parse.Send()
Parse.WaitForResponse()
Text := Parse.ResponseText

if Text contains %HWID%
{
    Goto, true
}
else
{
    MsgBox, Добро пожаловать в поле регистрации!`nСкопированые данные отправте автору программы.
    Gui, Font, S16 CBlack Bold, Arial
    Gui, Add, Text, x53 y0 w500 h30 , Твой ключ:
    Gui, Font, ,
    Gui, Add, Edit, x1 y31 w219 h21 +Center ReadOnly vEdit,
    Gui, Add, Button, x35 y52 w153 h24 gClip , Копировать и закрыть
    Gui, Show, w221 h76, Доступ
    GuiControl, , Edit, % HWID
    return
    Clip:
    Gui, Submit, NoHide
    Clipboard := Edit
    ExitApp
    GuiClose:
    ExitApp
}
true:
MsgBox, Добро пожаловать!
Ребят, надеюсь Вам пригодились мои знания. Напоминаю, что я не являюсь программистом, занимаюсь этим делом ради удовольствия. В даном посте я использовал свой метод получения серийного номера диска (кроме GUI (меню) ), я считаю что это довольно простой способ и в тоже время надежный, ибо он состоит из 10 символов, а не из 20. Хочу поблагодарить Bunnyscript за решенную проблему с парсингом страницы. Скачивать файл, а потом удалять не совсем правильно. По этому рекомендую использовать второй способ! Пишите как Вам, делитесь своими знаниями в комментариях, давайте поможем друг другу ибо инноваторов становится всё меньше. Если Вас ещё что-то интересует (не по теме) пишите, попробую помочь чем смогу в следующих постах.

Также прошу обратить внимание, на то, как AutoHotKey прост в освоении, например я получил серийный номер диска всего 3-мя строчками кода. На других языках я ещё такого не встречал)).
А как сделать чтобы было не на гитхабе а на твоем сайте?
 
Пользователь
Статус
Оффлайн
Регистрация
30 Апр 2019
Сообщения
143
Реакции[?]
33
Поинты[?]
4K
А как сделать чтобы было не на гитхабе а на твоем сайте?
Гитхаб это чисто пример, ты можешь с любым сайтом такое прокрутить. Просто вставь нужную информацию на свой сайт и подобным образом ее из AHK доставай. Только учти, AHK переходит по ссылке, то есть человек увидит информацию о всех твоих пользователях в твоей базе, если перейдет в ручную по указанной ссылке.
 
vk.com/ahkcsgocheat
Пользователь
Статус
Оффлайн
Регистрация
21 Апр 2020
Сообщения
379
Реакции[?]
64
Поинты[?]
2K
Через гугл таблицы можно, даже человек объяснял - как. Но уже не актуальны все эти привязки...
 
Последнее редактирование:
Новичок
Статус
Оффлайн
Регистрация
30 Дек 2022
Сообщения
1
Реакции[?]
0
Поинты[?]
0
Проверяю на окне привязки, скрипт работает, тоесть работает даже без привязки, вот код:

Script AHK:
true:
msgbox, ключ есть!

F1::  ; нажмите ''F1'' для определения координат мыши
MouseGetPos, xpos, ypos
Msgbox, Текущие координаты курсора: X%xpos% Y%ypos%.
Return

~vk45:: ; это клавиша ''E''
MouseClick, left, 748, 945, 2
Sleep 500
MouseClick, left, 1159, 951, 2
Return

Поставил после true, значит по сути должно работать если есть привязка.
 
Начинающий
Статус
Оффлайн
Регистрация
23 Май 2022
Сообщения
11
Реакции[?]
4
Поинты[?]
0
Проверяю на окне привязки, скрипт работает, тоесть работает даже без привязки, вот код:

Script AHK:
true:
msgbox, ключ есть!

F1::  ; нажмите ''F1'' для определения координат мыши
MouseGetPos, xpos, ypos
Msgbox, Текущие координаты курсора: X%xpos% Y%ypos%.
Return

~vk45:: ; это клавиша ''E''
MouseClick, left, 748, 945, 2
Sleep 500
MouseClick, left, 1159, 951, 2
Return

Поставил после true, значит по сути должно работать если есть привязка.
такая же хрень, без активации скрипт работает
 
Сверху Снизу