Здравствуйте!
Вся моя семья работает удалённо. Супруга работает в крупной организации, в которой осуществляется мониторинг рабочего времени. Мониторинг реагирует на нажатие кнопок клавиатуры и колесо прокрутки мыши, с таймаутом 5 минут. Жена переболела COVID-19 и после болезни стала сильно уставать во время работы, поэтому позволяет себе небольшие перерывчики. На время этих перерывчиков она просит меня покрутить колесико мыши, но я бывает так увлекусь работой, что забываю это сделать. В связи с этим у меня возникло желание автоматизировать этот процесс.
Я вспомнил что у меня валяется Arduino Leonardo, а его легко запрограммировать на имитацию клавиатуры и мыши. Покопавшись в ящиках нашел его и запрограммировал на имитацию колесика мыши. Но жена меня раскритиковала, так как у них запрещается пользоваться не зарегистрированными USB устройствами (а Arduino обязательно вызовет вопросы). Поэтому было решено крутить колесико мыши механически, для чего был заказан шаговый двигатель 28BYJ-48 в комплекте с драйвером двигателя на микросхеме ULN2003 и взят из другого «пыльного» ящика Arduino Nano.
Подключил двигатель и кнопку к Arduno, двигатель запитывал как напрямую через Arduino, так и через внешний источник питания. Сейчас двигатель запитывается через Arduino (так меньше проводов висит, а Аrduino это терпит). Написал скетч (как смог) имитирующий прокрутку документа человеком при изучении сложного документа. Прокрутка осуществляется группами то в одну, то в другую сторону через разные промежутки времени. Запустить/остановить процесс скроллинга можно нажатием на кнопку или командами «START», «STOP» переданными по последовательному порту.
#include<AccelStepper.h>
#include <SoftwareSerial.h>
#define HALFSTEP 8
// Определение пинов для управления двигателем
#define motorPin1 2 // IN1 на 1-м драйвере ULN2003
#define motorPin2 3 // IN2 на 1-м драйвере ULN2003
#define motorPin3 4 // IN3 на 1-м драйвере ULN2003
#define motorPin4 5 // IN4 на 1-м драйвере ULN2003
// Инициализируемся с последовательностью выводов IN1-IN3-IN2-IN4
// для использования AccelStepper с 28BYJ-48
AccelStepper stepper1(HALFSTEP, motorPin1, motorPin3, motorPin2, motorPin4);
String str = "START";
const int buttonPin = 12; // Номер пина кнопки
const int minMaxSpeed = 800;
const int maxMaxSpeed = 1300;
const int minAcceleration = 500;
const int maxAcceleration = 700;
const int minSpeed = 700;
const int maxSpeed = 1000;
const int move = 600; // примерная длина одного перемещения
const int minPause = 1; // Минимальная пауза между группами прокруток (секунды)
const int maxPause = 3*60; // Максимальная пауза между группами прокруток (секунды)
long pos = 0;
int smove = move;
int sMaxSpeed = maxMaxSpeed;
int sAcceleration = maxAcceleration;
int sSpeed = maxSpeed;
unsigned msec = 1000;
bool PREV = false;
int dir = 50;
int count = 5;
void setup(){
pinMode(LED_BUILTIN, OUTPUT); // Светодиод (красный) для сигнализации (светит - стоп, не светит - работа)
Serial.begin(9600);
Serial.println("start");
stepper1.setMaxSpeed(sMaxSpeed);
stepper1.setAcceleration(sAcceleration);
stepper1.setSpeed(sSpeed);
pinMode(buttonPin, INPUT_PULLUP); // Настройка кнопки
stepper1.move(move);
}
int inputHandler(){ // Чтение команд из порта и отслеживание нажатия кнопки
int res = 0;
if (Serial.available() > 0) {
str=Serial.readString();
str.trim();
Serial.println(">>>>>>>>>>>>>>>>>");
Serial.println(str);
res = 1;
}
buttonState = digitalRead(buttonPin);
if (buttonState == LOW && PREV == HIGH ) {
if (str=="START") {
str = "STOP";
Serial.println("Press button to 'STOP'");
stepper1.move(0);
res = 1;
} else {
str = "START";
Serial.println("Press button to 'START'");
res = 1;
}
delay(150);
}
if (str!="START") {
digitalWrite(LED_BUILTIN, HIGH);
} else {
digitalWrite(LED_BUILTIN, LOW);
}
PREV = buttonState;
return res;
}
int delayWithRead(unsigned ms){ // Пауза с обработкой ввода
Serial.print("Delay = ");
Serial.print(ms);
Serial.println(" msec.");
int time = 0;
while (time<ms) {
delay(100);
if (inputHandler() == 1) {
Serial.println("Press Key");
delay(2000);
return 1;
}
time += 100;
}
return 0;
}
void printData(){ // Вывод данных в порт
Serial.print("sMaxSpeed=");
Serial.println(sMaxSpeed);
Serial.print("sAcceleration=");
Serial.println(sAcceleration);
Serial.print("sSpeed=");
Serial.println(sSpeed);
Serial.print("count=");
Serial.println(count);
Serial.print("pos=");
Serial.println(pos);
Serial.print("smove=");
Serial.println(smove);
}
void goNewPosition(){ // Обработик перехода на следующую позицию
sMaxSpeed = random(minMaxSpeed, maxMaxSpeed);
sAcceleration = random(minAcceleration, maxAcceleration);
sSpeed = random(minSpeed, maxSpeed);
stepper1.setMaxSpeed(sMaxSpeed);
stepper1.setAcceleration(sAcceleration);
stepper1.setSpeed(sSpeed);
msec = random(100,500); // Пауза между скроллами в одной группе
delayWithRead(msec); // Задержка с обработкой ввода
count--;
if (count<0) {
Serial.println("*************************************");// Разделитель групп скроллов
msec = random(minPause*10,maxPause*10)*100; // Пауза между группами скроллов
delayWithRead(msec);
dir = random(0,100);
count = random(1,5);
} else {
Serial.println("_________________________________________");// Разделитель скроллов в одной группе
}
if (dir<35) { // Скролл назад с вероятностью 35%
smove = 0 - move + (random(move/8) - move/16);
} else {
smove = 0 + move + (random(move/8) - move/16);
}
pos = pos + smove; // Счетчик общего скролла
printData();// Вывод данных в порт
if (pos>100){ // Крутить только если чуть ниже стартовой позиции
stepper1.move(smove); // Задать поворот относительно текущей позиции
}
}
void loop(){ // Основной цикл
inputHandler(); // Обработка ввода
if(stepper1.distanceToGo()==0) { // Если поворот закончили
if (str=="START") goNewPosition(); // Получаем следующую позицию
}
if (str=="START"){ // Если нет команды стоять то
stepper1.run(); // Крутим движок
}
}
Из картона сделал футляр для мыши, к которому прикрепил Arduino и двигатель с ведущим колесом которое кладется на колесико мыши и вращает его.
Как работает устройство можно посмотреть в видео.
Теперь, когда жене надо отлучиться, она вкладывает мышь в футляр и просто включает этот девайс.
Комментарии (99)
Sergey-S-Kovalev
07.12.2021 08:12+14# Powershell # Эмуляция активности $res = 1 Add-Type -MemberDefinition '[DllImport("user32.dll")] public static extern void mouse_event(int flags, int dx, int dy, int cButtons, int info);' -Name U32 -Namespace W; Do {$time = Get-Random -Minimum 1 -Maximum 15 Start-Sleep -Seconds $time # Дергать мышкой [W.U32]::mouse_event(6,0,0,0,0); Start-Sleep -Seconds $time [System.Windows.Forms.SendKeys]::SendWait("{NUMLOCK}") Start-Sleep -Seconds $time # Набирать текст 'text_here'.ToCharArray() | ForEach-Object {[System.Windows.Forms.SendKeys]::SendWait($_)} } UNTIL ($res -EQ 10)
n0isy
07.12.2021 08:20+10Не зная каким ПО отслеживают нажатия, опасно предлагать всякие софтверные варианты. Хотя бы из-за того, что их могут "спалить".
alexraven
08.12.2021 01:57На продвинутых тайм трекерах это не сработает. Они как-то умеют отличать реальные перемещения мыши от эмуляции ивентов. Затрудняюсь сказать, как это реализовано, но на Upwork например, это точно не сработает. А могут еще и забанить.
unsignedchar
08.12.2021 08:52Они как-то умеют отличать реальные перемещения мыши от эмуляции ивентов.
Живой человек никогда не возит мышку по прямой. Не умеет в постоянную скорость и ускорение. Немного сдвигает мышку при клике. В некоторые области экрана человек кликает чаще.
Это то, что проще всего измерить.
Javian
07.12.2021 08:21+37Можно было мышь класть оптическим сенсором на циферблат стрелочных часов с секундной стрелкой.
фото
3epg
07.12.2021 08:27+4Видимо это лайфхак работодатели уже знают, поэтому, как указано в статье, мониторят скролл. ))
BigBeerman
07.12.2021 09:06+5А если я ползунком скроллю или скролл сломался? Всё, работник бездельничает?
shibanovan
07.12.2021 10:27+5То такой работадатель скажет, что вы неправильный сотрудник и должны скролить колесиком)
sirocco
07.12.2021 09:36+3Работодатели используют какое-то ПО. Неизвестно какое? У меня в доп соглашении прописано, что используется ПО для определения эффективности сотрудников... и в конце название 'Стахановец'. Думаю не особо трудно нарыть как именно конкретное ПО мониторит, исходя их этого делать анти..анти...
Или но у нас не it компания. Или в it компаниях не используют готовые решения, а изобретают свои велосипеды под грифом "секретно"?
RZimin
07.12.2021 19:08+2"Стахановец", сначала подумал какой тонкий стеб. А потом... «Стахановец» — официальный резидент инновационного центра «Сколково»
Где-то мы свернули не туда...
3epg
07.12.2021 08:23+12Что-то новое из мышедрыга. А я уж хотел написать, что можно под мышку подложить смартфон с включённым роликом на ютубе, тогда она сама дёргается. )) Либо купить дешевую мышь типа DEXP, ту без всяких лайфхаков колбасит по всему экрану.
Nahrenako
07.12.2021 12:41+2На Амазоне таких девайсов на любой вкус, и электронные эмуляторы мыши и подставки под мышь с вращающимся колесиком…
Gengenid
07.12.2021 08:30+5Но жена меня раскритиковала, так как у них запрещается пользоваться не зарегистрированными USB устройствами
Можно же прописать VID, HID и прочее от существующей мыши, компьютер не заметит подмены. Но, конечно, у этого способа есть тот недостаток, что для работы придется постоянно менять местами мышь и эмулятор в USB порту.
Squoworode
07.12.2021 09:29+3Тогда надо ещё реализовать работу реальной мыши сквозь эмулятор, чтобы не менять местами!
Хотя физический интерфейс, конечно, намного проще в реализации.
skymal4ik
07.12.2021 11:12+2Я бы предложил подключить реальную мышь и фейковую на ардуино одновременно. Тогда и в вашем случае не надо передёргивать их, и автор мог бы не класть/доставать мышь в картонную коробку постоянно.
SGordon123
07.12.2021 13:11А зачем менять? В компе может быть хоть дюжина мышей, предусмотреть чисто переключатель вкл/выкл...
Iv38
07.12.2021 14:03Если ПО мониторинга активности, как сказано в статье, нервно реагирует на левые железяки, значит оно за железяками тоже наблюдает. И появление второй мышки - палево.
hssergey
07.12.2021 08:41+27Оценивать сотрудника надо по результатам, не по тому как он дергает мышкой. Поэтому напишите, где жена работает, страна должна знать своих "героев".
sirocco
07.12.2021 09:44+3Ну если кроме его жены брать, то список будет огромен. Плюс огромные проекты, результат которых может быть оценён только через много времени, за этот период могут и несколько сотрудников поменяться.
sim31r
07.12.2021 10:09+5Работодатель возможно так и делает. А на результаты работы трекера и не смотрит. Я такой эффект видел от видеокамер, даже если они не работают, сотрудники указывают на них и говорят что сюда проходить нельзя, всё под контролем. А я эти камеры настраивал и знал что они не рабочие )
Тут тоже может быть что-то подобное. Многих сотрудников это дисциплинирует. Некоторые сотрудники, если остаются без присмотра расслабляются, что вредит работе.
aamonster
07.12.2021 10:31+1Я себе, когда понадобилось уйти на удалёнку, сам трекер поставил (без слежения за мышью – просто отметки начала/конца задачи и перерывы). И результаты никому не показывал :-), только списывал с него список "чем занимался сегодня" в письмо начальнику.
Правда, при этом рабочего времени получается больше, чем в офисе...
SlimShaggy
07.12.2021 23:17У нас в джире стоит плагин Tempo, в нем такой ручной трекер из коробки. Работаем гибридно офис-дом-офис, из дома тоже в результате рабочий день заканчивается заметно позже)
RigidStyle
07.12.2021 12:41+1Нормальные компании используют ТТ в качестве вспомогательного, а не основного инструмента. Если сотрудник выдает результат и хорошо работает, никто не будет обращать внимание на то, что он сериалы смотрит во время работы. Но если же у него показатели ниже среднего, вот тогда и нужен ТТ, что бы провести первичный анализ его работы.
usa_habro_user
07.12.2021 08:41+1Хмм, вы поосторожнее с этим: а что, если монитор также записывает и отсылает нажимаемые клавиши, а еще, периодически, и скриншоты экрана? Уволят-с по статье...
P.S. Хотя непонятно, чем занимается жена: если она программист, то какое дело организации, как она проводит свое время за компьютером? Лишь бы спринты on time завершала, да issues фиксила - какой смысл мониторить-то?
sim31r
07.12.2021 10:12+6Она может быть в технической поддержке, например и быстро реагировать на возникающие задачи. И даже если их нет быть готовой обработать запрос.
Программисты и любые сотрудники могут быть несколько инфантильными. Под присмотром работают хорошо, без присмотра отвлекаются и производительность падает. Не у всех высокая самодисциплина. Даже мало у кого, на Хабре сотни статей про прокрастинацию (ну и многие тут в рабочее время даже при наличии задач рабочих).
Amor-roma
07.12.2021 15:11Уволить удаленщика то ещё приключение))
Если есть желание можно проконсультироваться с юристом))
Зачастую это невозможно...!))
Даже если бухать до невменяшек, и мышкой не елозить.
Assargin
07.12.2021 08:46+5Если есть кот в доме, то можно просто давать ему мышь во время перерывов - ещё и премию в итоге дадут за гиперактивность.
ZlobniyShurik
07.12.2021 09:25+12Даёшь стартап по производству девайса для отслеживания нерадивых работников:
Шапочка с электродами для снятия мозговой активности
ошейник с электрошокером
Динамик с фразой "Работай, раб, солнце ещё высоко!"
Блок управления с модной нейросеткой (иначе инвесторы не клюнут).
sim31r
07.12.2021 10:22+2С другой стороны работодатель так может улучшить условия труда, снизить стресс, победить совместно прокрастинацию, выгорание. Вот соседняя стятья на Хабре, сотрудники сами делают почти то же самое, тайм трекер выбирают для повышения КПД работы.
Статья про электроды тоже была, отзывы от энтузиастов самые высокие, заменяет таблетки и прочее. У меня статья в закладках в избранном ))
Работай, раб, солнце ещё высоко
Как вариант сделать работу в 3 раза быстрее и заниматься своими делами. Набор методов для повышения эффективности. В противовес восточному, когда надо сидеть на работе 12 часов и имитировать работу. Придти раньше начальника, уйти позже, но и всё на этом.
AADogov
07.12.2021 10:27+2Вы зря иронизируете. Уже разрабатываются решения для прокторинка, которые идентифицируют почерк на клавиатуре. И заявляется о проведении исследований о мозговой активности .
unsignedchar
07.12.2021 09:57+1Странная система трекинга, учитывающая только скролл мыши. Наверное, серверную часть делал тот же автор :)
sim31r
07.12.2021 10:23+1Возможно система только для мотивации сотрудников. Я такой эффект видел от неработающих(!) видеокамер. Под ними растет дисциплина сама собой ))
То есть система вообще ничего не учитывает и результаты особо ни кто не читает. Типа сотрудники под контролем и более не требуется. Остальное по результатам работы.
Chuviks2
07.12.2021 16:03А что странное то?
unsignedchar
07.12.2021 16:45А что странное то?
Учитывать ТОЛЬКО скролл и не учитывать всю остальную мышку.Nikita_64
07.12.2021 18:43Скролла достаточно: вот я сижу и старательно скролю комментарии в этой ветке, а не перескакиваю со страницы на страницу. Перескакивание означает несконцентрированное внимание. :-)
unsignedchar
07.12.2021 21:13Вы молодец ;) Вы на удаленной работе специализируетесь только на вдумчивом скролле комментариев? :)
iiwabor
07.12.2021 10:14+3Моя двоюродная сестра работает в такой компании, мы сидели в кафе и она машинально стаканчиком с кофе делала круговые движения(((
У них еще делают периодические скриншоты с экрана, но начальство их смотрит, если только надо кого-то нагнуть или оштрафовать - в обычном режиме только активность мышки отслеживается.
У нас мерой работы считают усталость...
GospodinKolhoznik
07.12.2021 16:27Лютая жесть, конечно.
Ну а в чем проблема, чтобы на экране все время был открыт редактор кода/ТЗ/нормативно правовой документ по выбору. Ну и чтобы мышь с хаотичным интервалом от 10 до 60 секунд скролила в случайном направлении.
sim31r
07.12.2021 10:15+3На ардуинке можно сделать эмулятор USB HID устройства и гонять мышку/клавиатуру без механических костылей. Есть же статьи на Хабре по ссылке и много где еще. Механика конечно более DIY, но эмулятор практичней.
little-brother
07.12.2021 10:28+2Как мне кажется, еще лучше было бы просто разобрать мышку и присоединить ардуино непосредственно к энкодеру поворота колеса, запитав её от питания мышки. Еще можно добавить сенсорный датчик (кусок фольги), чтобы ардуино не вмешивалась в работу пока рука лежит на мышке.
Javian
07.12.2021 10:39+1Можно сэкономить на моторе, его драйвере и неком адаптере штока двигателя на энкодер, просто подсоединив две оптопары вместо энкодера для его эмуляции.
anticyclope
07.12.2021 10:21+53Неправильно ты, дядя Федор, шаговик питаешь. Ты питание с ардуины взял, а надо валить из этой конторы.
GospodinKolhoznik
07.12.2021 16:18Может валить и не надо. Но вот демонстративно положить болт на этот трекинг дело обязательное. А валить, или нет уже будет зависеть от реакции начальства. Если никакой реакции не последует, значит хорошие сапоги, надо брать. А вот если начнется говнецо, тогда да, пора сматывать удочки.
Redwid
07.12.2021 11:01На Амазоне продается полно таких устройств которые дёргают мышь или перемещают курсор. Есть с кнопками вкл/выкл. Ищутся по ключевому слову mouse wiggler.
Не известно можно ли там Id устройства поменять на мышиное, или оно там уже такое.
SnakeSolid
07.12.2021 11:31Решал подобную задачу на клоне stm32 эмулируя USB мышку. Несмотря на то, что это было отдельное устройство жалоб, за два месяца на эту "мышку" не было.
Indemsys
07.12.2021 11:58+1Думается мне, был бы неплох в этой роли более радикальный дивайс.
Что-то из линейки STM32 DISCO с дивайсом и хостом HID одновременно.
Штатную мышь в DISCO, а DISCO c полной эмуляцией дескрипторов мыши в компьютер.Дивайс кроме эмуляции мог бы сам логировать все движения. Плюс, так легче было бы обучать дивайс заданным траекториям движений и нажатий. Там и демки уже есть готовые для HID хоста и HID дивайса.
mihmig
07.12.2021 12:39Уважаемые советчики заменить Ардуину на STM32!
Может посоветуете обучающие материалы (youtube, блоги) с которыми можно ознакомиться и войти в чудесный мир (т.е. собрать на макетке прототип) STM-а за вечер выходного дня?RTFM13
07.12.2021 20:33Смотря что он должен делать.
Поморгать светодиодиком на каком-нибудь nucleo-32 займёт 0,5-1 часа практически с нуля. В плане входа оно наверное даже проще ардуины. Правда для чего-то серьезнее крутилки колёсика мышки я бы его не очень советовал использовать.
kenny5660
07.12.2021 16:34С дескрипторами только недели 2 нужно разбираться, там черт ногу сломит, это не Serial.println()
JerleShannara
08.12.2021 03:06Включаем тотальный Arduino-Way: ставим CubeMX, тыкаем в нём «USB-HID», на выходе получаем проект с USB мышью, которая крутит курсором. До этого места ни единой строчки кода писать руками не пришлось, но далее прийдется, немного дописывания и крутилка колеса готова.
oragraf
07.12.2021 12:41Можно привязать дешевую мышь к роботу-пылесосу.
Зы. Но так то это бред, конечно.
c0nstruct0r
07.12.2021 12:41+1Мда, сталкивался с аналогичной компанией. проработал там недолго. По моему такой учет эффективности сотрудников от безграмотности менеджеров. Цель видимо не задачи выполнять а на рабочем месте присутствовать и "имитировать бурную деятельность". Желаю Вам найти компанию получше.
pythoned195
07.12.2021 13:01они специально же это делают - дефективные менеджеры их зовут, https://habr.com/ru/company/crossover/blog/428592/
da-nie
07.12.2021 17:32А просто поставить ПО для движений мышки?
Заголовок спойлера... //---------------------------------------------------------------------------------------------------- //событие таймера //---------------------------------------------------------------------------------------------------- void CWndMain::OnTimer(HWND hWnds,WPARAM wParam,LPARAM lParam) { if (MouseMoveCounter>0)//запрещено управление мышкой { MouseMoveCounter--; if (MouseMoveCounter==0) GetCursorPos(&Cursor); return; } POINT CursorNew; GetCursorPos(&CursorNew); long dx=Cursor.x-CursorNew.x; long dy=Cursor.y-CursorNew.y; long length=dx*dx+dy*dy; if (length>10*10)//кординаты мышки не соответсвуют заданным значит, оператор двигает мышку { MouseMoveCounter=MOUSE_MOVE_COUNTER_MAX_VALUE; return; } //двигаем мышку HWND hWnd_Desktop=GetDesktopWindow(); RECT rect; GetWindowRect(hWnd_Desktop,&rect); long center_x=(rect.right+rect.left)/2; long center_y=(rect.bottom+rect.top)/2; long screen_width=(rect.right-rect.left); long screen_height=(rect.bottom-rect.top); float width=screen_width/4; float height=screen_height/4; long mouse_x=static_cast<long>(width*cos(M_PI/180*Angle)+center_x); long mouse_y=static_cast<long>(height*sin(M_PI/180*Angle)+center_y); Angle++; Angle%=360; Cursor.x=mouse_x; Cursor.y=mouse_y; long abs_x=static_cast<long>((mouse_x*65536.0)/screen_width); long abs_y=static_cast<long>((mouse_y*65536.0)/screen_height); mouse_event(MOUSEEVENTF_ABSOLUTE|MOUSEEVENTF_MOVE,abs_x,abs_y,0,0); } ...
pyrk2142
07.12.2021 19:52Имхо, эта статья и комментарии к ней невероятно вредны в перспективе. Со стороны работодателя или руководителя это выглядит довольно так себе: компания честно организовала удаленную работу (хотя способов официально держать людей в офисе довольно много, неофициальных - ещё больше). В итоге в статье сначала рассказывают о перерывчиках, держании мышки мужем (это ещё и нарушение требований ИБ в половине компаний), потом об автоматизации псевдоактивности, а в комментариях - гора советов по другим способам обмана, железкам и примерам. После такого вам, как руководителю, захочется организовывать или продлевать удаленку, особенно если вы не уверены в решении?
Да, люди устают даже на удаленной работе, да, после болезни работать тяжело, без отпуска тоже. Это повод обсуждать условия труда, предлагать какие-то варианты, договаривать. Но не повод втыкать железки, писать код и крутить колесики, чтобы изображать, что вы что-то делаете. В следующий раз в офис пойдёте и вы, и сосед, который честно работает весь день, не прогуливает и распределяет перерывы.
da-nie
07.12.2021 20:13«Здесь мерилом работы считают усталость»
;)
P.S. А, уже было выше в комментарии. :)
usa_habro_user
07.12.2021 20:44И это пишет человек, опубликовавший статьи с заголовками:
"Подделываем письма от крупнейших российских банков"
"Поговорим о безопасности хостингов: как я мог взломать десятки тысяч сайтов"
"Очередной обход авторизации в публичных Wi-Fi сетях"pyrk2142
07.12.2021 20:51Если честно, не понимаю, как связаны мои статьи и этот комментарий.
usa_habro_user
07.12.2021 21:52Имхо, эта статья и комментарии к ней невероятно вредны в перспективе.
Как там в Библии, "Что ты смотришь на сучок в глазе брата твоего, а бревна в твоем глазе не чувствуешь?" Вы уж "или крестик снимите, или трусы подтяните" - упрекая автора поста в "невероятной вредности", вы с чистым сердцем оповещаете публично об уязвимостях, приводя названия конкретных банков. Впрочем, проглядел ваши статьи - там, похоже, только лишь кликбейтные заголовки...
pyrk2142
07.12.2021 22:44С моей точки зрения, есть принципиальная разница между публикацией информации об уже известных уязвимостях, которые уже активно используются злоумышленниками, для которых известны стабильные работающие исправления, но которые компании игнорируют, и публикацией того, как люди обходят требования работодателей, симулируя деятельность. Я принципиально не публикую утечки данных, неизвестные уязвимости или те проблемы, которые компании хотят закрыть, но не успевают.
usa_habro_user
09.12.2021 06:01С моей точки зрения
Я не знаю, с чьей точки зрения, но за вот эту вот вашу статью, вас, по идее, по идее, можно "упаковать" лет эдак на ... N (даже если допустить, что сведения, приведенные вами, не соответствуют действительности на настоящий момент). В сравнении с "хаком", изложенным автором этой статьи, это просто детская шалость в сравнении с "наставлением по финансовому терроризму" ;)
P.S. Лично я на вас "стучать" не собираюсь :D
melodictsk
08.12.2021 10:30Тоже хотел было сделать что-то подобное. Но не мышку, а чтоб эмулировала ввод с клавиатуры, текстовый на флешку и погнал вводить, пока отдыхаю.
А все почему? В офисе работаем 9-10 часов, на удалёнке по 12, а потом когда делается анализ и вам говорят, что у вас активности всего на 6 часов и предупреждение, что ещё раз и порежут премию, то и не такое в голову прийдёт. Сделать не успел, удалёнка закончилась.
andruxxx
08.12.2021 08:40какраз недавно попадалась статья-эмуляция клавиатуры и мыши на ардуине. подключается как HID, и делает всё что хочешь. только кофе не варит. и не надо доп механики.
FatalStrike
08.12.2021 12:38Arduino BS Micro + несколько строчек кода с использованием arduino классов Mouse, Keyboard. Маленькая, удобная как флешка, воткнул в порт и пошёл.
alextrof94
08.12.2021 18:09Прочитайте статью внимательнее. Второй абзац. Но да... Можно просто устройству коды (вендор и ещё какой-то) подставить от актуальной мыши и клавы, чтобы винда думала, что это никакая не кастомная мышь, а такая же, как подключена, но автор об этом не вкурсе. Увидев заголовок, первую картинку и что есть леонардо, сразу хочется написать подобный коммент.
FatalStrike
08.12.2021 18:21Да, пропустил момент с тем, что фиксируются подключенные USB устройства. Но уверен и простое решение с bs micro кому-то пригодится.
DrBulkin
Зря сюда написали. Теперь капчу добавят раз в 30 минут. Или думаете айтишники в компании жены не ходят на хабр?
i360u
Да пусть сразу пишут AI-античит. Когда накладные расходы на тайм-трекинг попрут по экспоненте - может до них дойдет, что это так себе модель отношений с сотрудниками...
EvilBeaver
сдается мне, в компаниях, в которых такие политики безопасности, бюджеты безопасников и таймтрекерщиков - бесконечные