Автоматизация и боты

 Помощь      Поиск      Пользователи
Сайт Кибор     Программируемый кликер Кибор     Видео обучение     Заказать бот

 Страниц (2): [1] 2 »   

> Описание: Как можно сделать привязку программы по железу?
Martin
Отправлено: 29 Октября, 2022 - 21:04:10
Post Id



Пользователь
Мастер


Покинул форум
Сообщений всего: 121
Дата рег-ции: Июнь 2022  
Репутация: 1




Как можно сделать привязку программы по железу?
Попробую расписать как я это вижу.

//1 Выдать пользователю ключ "wfwe-fewf-ew3" который сохранится после ввода в блокнот в папке с программой (или где-то в памяти программы)
//2 Введя ключ программа обращается на сервер (гугл таблицу или по ftp или на сайте) и добавляет код железа рядом с ключом "wfwe-fewf-ew3"
//3 Программа перезапускается
//4 При запуске программы второй раз она проверяет блокнот и копирует от туда ключ и ищет его на сервере, найдя сверяет код железа и если он совпадает то запускается, если он там другой то не запустится.

Таким образом человек не сможет запустить программу на другом компьютере.
Но как в коде реализовать пока слабо представляю. Может у кого есть готовые решения или более простая идея. Да и вообще к чему из железа можно привязку сделать и как получить его данные?
 
 Top
Martin
Отправлено: 30 Октября, 2022 - 01:36:04
Post Id



Пользователь
Мастер


Покинул форум
Сообщений всего: 121
Дата рег-ции: Июнь 2022  
Репутация: 1




C помощью командной строки и запроса ipconfig /all я получил физический адрес ПК, вроде как он не меняется
[img](для просмотра ссылки Вам необходимо авторизоваться) /img]
Как это значение через кибор получить? Без распознавания текста?
(Добавление)
Пробую достать физический адрес таким способом но получаю не читаемый текст, как исправить?
CODE:
if (createpipeprocess("C:\Windows\System32\cmd.exe -i"))
{
sendpipe("chcp 1251^n");//Устанавливаем кодировку windows 1251 для русс шрифта
sendpipe("ipconfig /all^n");//Отправляем команду dir
waitpipe();//Ждем пока отработает и появятся данные
sleep(500);//для надежности
int C;
string S;
C=getpipe(#S);//Читаем
messagebox (S);
closepipeprocess();//Завершим процесс и закрываем канал
}

(Добавление)
Разобрался с кодировкой

CODE:
if (createpipeprocess("C:\Windows\System32\cmd.exe -i"))
{
//sendpipe("chcp 1251^n");//Устанавливаем кодировку windows 1251 для русс шрифта
sendpipe("ipconfig /all^n");//Отправляем команду dir
waitpipe();//Ждем пока отработает и появятся данные
sleep(500);//для надежности
int C;
string S;
C=getpipe(#S);//Читаем
S=d866tow1251 (S);//перекодирует текст из DOS 866 в WINDOWS 1251
messagebox (S);
closepipeprocess();//Завершим процесс и закрываем канал
}


так находит что нужно, помогите регулярное выражение пожалуйста сделать с ними совсем беда, нужно скопировать код после в строке "Физический адрес"
 
 Top
Zireael
Отправлено: 30 Октября, 2022 - 02:57:47
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4401
Дата рег-ции: Нояб. 2017  
Репутация: 580




 Цитата:
нужно скопировать код после в строке "Физический адрес"

CODE:
if (createpipeprocess("C:\Windows\System32\cmd.exe -i"))
{
//sendpipe("chcp 1251^n");//Устанавливаем кодировку windows 1251 для русс шрифта
sendpipe("ipconfig /all^n");//Отправляем команду dir
waitpipe();//Ждем пока отработает и появятся данные
sleep(500);//для надежности
int C;
string S;
C=getpipe(#S);//Читаем
S=d866tow1251 (S);//перекодирует текст из DOS 866 в WINDOWS 1251
//messagebox (S);
closepipeprocess();//Завершим процесс и закрываем канал

string result[99];
int count = regexsearch(99, #result[0], S, "(?<=Физический адрес).+?[A-Fa-f0-9\-]+");
for(int i=0; i<count; i++)
{
regexsearch(1, #result[i], result[i], "[A-Fa-f0-9\-]+");
messagebox(result[i]);
}
}
 
 Top
Redear
Отправлено: 31 Октября, 2022 - 14:11:07
Post Id



Пользователь
Мастер


Покинул форум
Сообщений всего: 202
Дата рег-ции: Июль 2022  
Репутация: 0




так если контроллеров много, то будет свой физ адрес на каждый контроллер. пока не пойму как это решает задачу определения конкретного пк
 
 Top
Martin
Отправлено: 31 Октября, 2022 - 16:52:53
Post Id



Пользователь
Мастер


Покинул форум
Сообщений всего: 121
Дата рег-ции: Июнь 2022  
Репутация: 1




Redear , Да какая разница сколько их там, просто первый берешь, физический адрес не меняется.

У меня тут ещё вопрос а можно в реестр данные вносить и от туда их считывать? Как это реализовать?
 
 Top
Ilya001
Отправлено: 31 Октября, 2022 - 17:16:46
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 459
Дата рег-ции: Май 2020  
Репутация: 23




 Martin пишет:
физический адрес не меняется

Он же MAC - адрес? Его можно менять, или я ошибаюсь?
 
 Top
Redear
Отправлено: 31 Октября, 2022 - 20:24:48
Post Id



Пользователь
Мастер


Покинул форум
Сообщений всего: 202
Дата рег-ции: Июль 2022  
Репутация: 0




всмысле первый берешь, у тебя чел к примеру устанавливает на комп виртауальную машину вмваре воркстейшен, все первый физ адрес изменился.
 
 Top
Martin
Отправлено: 31 Октября, 2022 - 23:24:17
Post Id



Пользователь
Мастер


Покинул форум
Сообщений всего: 121
Дата рег-ции: Июнь 2022  
Репутация: 1




 Ilya001 пишет:
 Martin пишет:
физический адрес не меняется

Он же MAC - адрес? Его можно менять, или я ошибаюсь?


Можно если специально знаешь, что делаешь, а так если железо поменять.

 Redear пишет:
всмысле первый берешь, у тебя чел к примеру устанавливает на комп виртауальную машину вмваре воркстейшен, все первый физ адрес изменился.

Видишь не всё учел, спасибо, тогда выбрать нужно конкретное устройство вроде как у всех должен быть Адаптер Ethernet Ethernet но я уже не уверен)) к чему то же делают привязку по железу. Сам пытаюсь разобраться, если есть идеи накидывайте)
 
 Top
Ilya001
Отправлено: 01 Ноября, 2022 - 00:02:04
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 459
Дата рег-ции: Май 2020  
Репутация: 23




 Martin пишет:
если есть идеи накидывайте
Можно на серийный номер HDD/SSD привязать, там посложнее будет его менять, я не думаю что кто нибудь рискнёться на такое)) Также есть CPU, GPU, вариантов много.
 
 Top
Martin
Отправлено: 01 Ноября, 2022 - 00:36:37
Post Id



Пользователь
Мастер


Покинул форум
Сообщений всего: 121
Дата рег-ции: Июнь 2022  
Репутация: 1




Ilya001 , как их получить?)
(Добавление)
Разобрался) регулярка конечно страдает и сразу серийные номера всех дисков, но думаю можно сразу к парочке привязку сделать
Получить серийники дисков (Отобразить)

(Добавление)
О нет, смайлики код испортили) там где "Подмигивание" просто должна быть скобка )
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Вопросы и решение проблем »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 




Powered by