Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Возможно ли копировать полностью всю ОС Ubuntu через ssh?

Лучший ответ:
файлы заблокированные на чтение в linux есть точно так же как и в других системах, исторически любое резервное копирование предлагается (в любой ос) делать через создание снапшота (в linux это средствами lvm если он используется или при использовани cow файловых систем таких как btrfs/zfs/... прямо их средствами), снапшот является замороженным мгновенным снимком файловой системы, без ограничений по чтению.

совершенно нормально, используя root копировать с помощью обычного cp (scp если по ssh) или rsync или к примеру tar -c . | ssh user@server tar -x скопирует все удаленно, завернув сначала в tar а на удаленной машине распаковав (с помощью ключей tar можно контролировать например файловую систему --one-file-system или передачу hardlink и symlink, например --dereference и --hard-dereference добавят в архив сам файл а не линк на него...)

осторожно, в рабочей системе могут быть запущенные базы данных, копировать файлы которых на живую нельзя (не будет гарантий что будут корректно скопированы данные), такие базы нужно копировать средствами баз данных

p.s. если же все же хочется скопировать систему как есть, а снапшоты недоступны, то лучше перевести диск в режим ro: mount -r remount,ro /dev/sd... и так с каждым разделом, на котором размещена система (тогда начнут отваливаться программы, пытающиеся делать запись) и уже получившиеся данные копировать
в этом случае можно использовать partclone, умеет копировать раздел как dd но не передавая сектора, помеченные как свободные, что заметно быстрее (собственно это самый быстрый способ скопировать раздел)

Худший ответ:
Не только можно, но иногда это единственный способ бэкапа - например бэкап удаленного VPS, где конечно же к адмиской панели тебя никто не пустит:

# dump -0auL root -f - /dev/vda2 | bzip2 | ssh yaadmin@srv.zhopa.ru -p 22 dd of=vda2.dump.bz2
Параметры, которые нужно менять:

    -L root - метка бэкапа
    /dev/vda2 - имя устройства, с которого снимается бэкап
    yaadmin@srv.zhopa.ru - пользователь и имя сервера, куда передается бэкап
    vda2.dump.bz2 - имя файла, куда будет записан бэкап (по умолчанию он будет в домашнем каталоге пользователя)

После отработки команды в домашнем каталоге юзера yaadmin на сервере srv.zhopa.ru будет файл vda2.dump.bz2, который представляет из себя пожатый bzip2 бэкап, снятый командой dump
Вопрос: Как сделать плавный переход к якорю(верстка)?

Лучший ответ:
Например, вот так:

html {
    scroll-behavior: smooth;
}

Но есть одна побочка, что не все браузеры поддерживают такой подход. Зато без JS)

Либо с элементами небольшого JS кода:

// Проходимся по всем элементам "linkList", и делаем выборку по ссылкам (a с атрибутом href, который равен "#")
const anchors = document.querySelectorAll('.linkList a[href*="#"]')

for (let anchor of anchors) {
  anchor.addEventListener('click', function (e) {
  e.preventDefault()
   
  const blockID = anchor.getAttribute('href').substr(1)
   
  document.getElementById(blockID).scrollIntoView({
  behavior: 'smooth',
  block: 'start'
  })
  })
}

Худший ответ:
Можете посмотреть FullPage . js
Вопрос: Как выбрать норм SATA SSD до 2400р?

Лучший ответ:
Ты ограничил стоимость ценой чуть ли не самой низкой по рынку, ниже должен быть ну просто мусор

Вот к примеру твои ссылки просто по характеристикам ресурс TBW 40Тб, какие у тебя задачи на такой низкий ресурс? Не надейся что 3 года гарантии позволят тебе выработать ресурс и поменять, это не гарантийный случай.

Еще момент, как ты собираешься решать гарантийные проблемы с озоном? Покупая midend расходники (а ssd это именно расходник) нужно заранее готовиться к его выходу из строя.

Поэтому критерии выбора - большой гарантийный срок и большой ресурс (выше 200Тб), хотя конечно если у тебя задачи редко писать и много читать, то почему нет.

p.s. дешевые железки после определенной наработки могут выдать какой-нибудь сюрприз
Например у меня ADATA SX6000PNP nvme, выработал всего 5% и я стал замечать, что при превышении внутреннего буфера на запись, может ронять скорость чуть ли не до 5мб/с (пока кеш не переполнен выдает сотни) и главное в это время может подвисать чтение.

Худший ответ:
Ты ограничил стоимость ценой чуть ли не самой низкой по рынку, ниже должен быть ну просто мусор

Вот к примеру твои ссылки просто по характеристикам ресурс TBW 40Тб, какие у тебя задачи на такой низкий ресурс? Не надейся что 3 года гарантии позволят тебе выработать ресурс и поменять, это не гарантийный случай.

Еще момент, как ты собираешься решать гарантийные проблемы с озоном? Покупая midend расходники (а ssd это именно расходник) нужно заранее готовиться к его выходу из строя.

Поэтому критерии выбора - большой гарантийный срок и большой ресурс (выше 200Тб), хотя конечно если у тебя задачи редко писать и много читать, то почему нет.

p.s. дешевые железки после определенной наработки могут выдать какой-нибудь сюрприз
Например у меня ADATA SX6000PNP nvme, выработал всего 5% и я стал замечать, что при превышении внутреннего буфера на запись, может ронять скорость чуть ли не до 5мб/с (пока кеш не переполнен выдает сотни) и главное в это время может подвисать чтение.
Вопрос: Что делать с выгоранием?

Лучший ответ:
Возможно, что программирование просто не затягивает. Это нормально и не нужно себя насиловать. Тогда не делать ничего и не париться.

Это такое занятие к которому должно тянуть, трудности мотивировать, а ситуация когда чего-то не знаешь - заставлять учиться.

Также возможно, что для мотивации нехватает похвалы или результатов. Тогда нужно делать такие  программы для себя  которые будут приносить профит - автоматизация рутины, например.

Худший ответ:
Мой сын тоже «выгорел» на 3 курсе медвуза. Потом немножко летом поработал в клинике санитаром (фактически уборщиком). И пришел и сказал «Я понял. Лучше работать головой, чем руками». Сейчас на 4-м уже половину зачетов сдал и, видимо, выйдет на повышенную стипендию. 

Так что рекомендую пойти поштукатурить стены, поразгружать вагоны, покосить траву и покопать огороды. Всю мерехлюндию как рукой снимет. 

А если таки не снимет - нашим заводам и фермам очень нужны крепкие трудовые руки.
Вопрос: С какой литературы начать изучение о сети?

Лучший ответ:
Да как бы обе этих книги топовые и все их советуют. Мне Таненбаум больше зашел.
А вообще один святой человек написал отличный цикл статей "Сети для самых маленьких" где крайне просто описал сложные вещи. Стоит прочитать.

Худший ответ:
Одна из самых доступных книг для начинающих, которая мне встречалась:
https://ru.pdfdrive.com/Компьютерные-сети-нисходящ...
Вопрос: Как понять, какую максимальную частоту оперативной памяти поддерживает?

Лучший ответ:
смотрите минималку по матери+цп

Худший ответ:
на сайте производителя написано 5066МГц
Вопрос: Как стать бэкэнд разработчиком без высшего образования?

Лучший ответ:
Работал я как-то в банке...
Год работаю, второй, третий.
Тут, неожиданно, приходит письмо из кадров с вопросом: предоставьте, мол, свой диплом об образовании. А у меня образования - только три класса церковно-приходской школы. 
Ну я в ответ и пишу: пока ещё вуз не окончил. 
Больше никто никогда об образовании меня не спрашивал.

Худший ответ:
Да, вышка для больших компаний обязательна. И это правильно.
Есть ещё момент, что в больших компаниях есть тендеры, где по правилам им нужно отчитываться о сотрудниках, имеющих дипломы с высшим образованием. Чистая формальность, но для компаний это важно. И среди двух  кандидатов они выберут того, у кого есть диплом.
Так что ты менее конкурентоспособен на рынке без диплома.
Вопрос: Может ли конверсия быть более 100% в Яндекс Директ?

Лучший ответ:
Это бывает в том случае, если за одно посещение юзер произвел несколько целевых действий. Например юзер перешел по объявлению, из за один сеанс заполнил и отправил форму контактов и еще сделал один заказ. 1 посещение  - 2 конверсии, т.е 200%

Худший ответ:
Может, если чел сделал 2 конверсионных действия, например, цель 1 = кликнуть на телефон, цель 2 = отправить емейл. А он сделал и то, и другое.
Ну или если тупо 2 раза на телефон кликнул - каждое действие засчиталось как конверсия.
Вопрос: RuntimeWarning: Enable tracemalloc to get the object allocation traceback?

Лучший ответ:
Блин ну в ошибки все указано вы никогда не ждали функцию bot.send_message, у вас вот везде нормально стоит await, а в той строчки не указан, добавьте await, и как минимум там ошибки не будет 
ну и строки так не комильфо собирать

Худший ответ:
потому что надо делать как на видео)
Вопрос: Как обновится с виндовс 7 на виндовс 10 ltsc?

Лучший ответ:
1. Сохранить все данные на внешний носитель или облако
2. Проверить что данные ДЕЙСТВИТЕЛЬНО сохранились
3. Включаем параноика и смотрим, а не забыли ли еще откуда сохранить?
В идеале - снять старый жесткий диск, купить и поставить SSD
На чистый диск и устанавливать, а старый пользовать потом как второй или внешний
4. Скачать и с помощью UltraISO или Rufus закатать на флешку загрузочный диск для обслуживания компьютеров
Рекомендую от Стрельца (Sergei Strelec)
(На эту же флешку можно закинуть ISOшку десятки)
5. Загрузиться с этой же флешки.
6. Запускаем с него MiniTool Partition Wizard или Acronis Disk Director и удаляем все разделы (очистить диск) с жесткого диска. Если поставили чистый SSD - этот пункт пропускаем 
7. Программой WinNTSetup устанавливаем Windows (выбираем ISO образ и ставим)
Ну или перезагружаемся и с помощью ранее сделанной флешки с образом ставим
Флешку храним и пользуем как реаниматор или просто как "чистая" система

Худший ответ:
никак.  переустановка
Вопрос: Насколько сложен будет данный проект?

Лучший ответ:
Если есть авопросы, то, скорее всего, знаний недостаточно. Иначе просто сделали бы. 
А мультиплеер вообще штука нетривиальная. Даже в такой простой игре, как крестики-нолики. 

Вопросы навскидку, которые, вероятно, Вы пропустили:
1. Дизайн. Говорите про фреймворки, но 70% разработки игры это интерфейс.
2. Финансирование и администрирование сервера. Содержание игрового сервера стоит денег, а вопрос монетизации одной из тысяч реализаций крестиков-ноликов сомнительный.

Если опустить такие рассуждения, то самое простое, чтобы понять, получится ли - просто сделать. Как минимум, получите интересный опыт. Возможно, потом пригодится в более интересном проекте.

Худший ответ:
1. Win+Android -  это не  вполне кроссплатформенно, т.е. уже проще
2. Вам нужен будет бэкенд, который вы можете попробовать написать самостоятельно, или использовать сервисы типа "backend-as-a-service", включая serverless, или найти отдельного backend-разработчика
3. Вам нужен будет 1 или 2 UI-фреймворка (либо один, который работает на обеих платформах, либо по одному на каждую)
4. Вам нужно будет продумать все грабли, которые сможете представить себе на первом этапе проектирования, с точки зрения попыток обмана бекенда. И потом собрать ещё другие грабли,  про которые вы не знали, но которые узнаете, если будете мониторить сервера и клиентские приложения.
0. Берите - и делайте, потом разберётесь с проблемами или бросите.
Вопрос: Почему socket работает только в локальной сети? Как это исправить?

Лучший ответ:
Дело в том, что пока ваши устройства в одной подсети (им выдал адреса один DHCP сервер, это обычно ваш роутер), вы, указав локальный IP другого устройства в сокете, можете создать соединение.
Но если устройства в разных локальных сетях, между которыми не настоен никакой роутинг, то устройства не смогут видеть друг друга. Их адреса будут  в разных адресных пространствах.
Это как звонить внутри отеля по внутреннему номеру телефона. Если один из абонентов окажется в другом отеле, то, даже зная его внутренний номер, вы из первого отеля не дозвонитесь ему напрямую по короткому номеру. Придётся пользоваться шлюзом. Вот шлюз - это NAT. 
Тут дальше аналогия уже поплывёт, если ещё глубже пытаться её применять.
Прочитайте что такое NAT, что такое белый IP, динамический и статический IP, что такое port-forwarding, сетевая модель OSI, что такое маска подсети и как устроен IP-адрес, как происходит маршрутизация.
Это слишком много инфы, чтобы рассказывать вам об этом в ответе на один вопрос. Вам нужно изучать это самостоятельно.

Худший ответ:
Попробуй повключать-повыключать различные интернет провайдеры и понаблюдай что показывает
ipconfig /all
я думаю вопросы отпадут сами собой.
Вопрос: Почему Vue не видит данные, описанные в data, через v-model?

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

Худший ответ:
return {
  rangeSlider: [...]
}
или

return {
  "range-slider": [...]
}

https://developer.mozilla.org/ru/docs/Web/JavaScri...
Вопрос: Сломался debian что делать?

Лучший ответ:
Причина всегда одна и та же. И решение тоже. Не надо ставить в источники пакетов всякий шлак, набранный из "туториалов".

Худший ответ:
PPA репозитории от Ubuntu... Серьёзно? Удаляй все пакеты, что были поставлены из этих PPA, затем:
sudo apt-get -f install

При этом очень вримательно ознакомиться с тем, что предлагает установить-удалить.
Вопрос: Скрипт проверки работает ли служба в Linux, есть ли заготовки?

Лучший ответ:
Всё это умеет systemd, не нужно велосипедить.

Худший ответ:
тык
Вопрос: Как взаимодействовать с txt файлом, находящимся на сервере, с помощью с++?

Лучший ответ:
Вопросов тьма, от ответов на них зависит и результат
Например - сервер доступен ли по какому то протоколу?
во всех операционных системах можно настроить какой-нибудь протокол smb/nfs/ftp/http/ssh/... все они позволяют получить доступ к файлу так или иначе.
Это вопрос не программирования а devops, настроить соответствующее приложение-сервер, на стороне клиента есть очень универсальная библиотека - libcurl (и одноименная утилита) умеет наверное все популярные и не очень протоколы.

Само собой можно написать свой сервер по своим правилам (гуглить socket server c++) но стоит ли?

p.s. netcat, консольная утилита, позволяет отправить через пайпы содержимое файла в сетевой сокет а на другой стороне соответственно наоборот принять, способ тупой, простой, на основе его и баш можно сделать однострочник сервер для отправки файла любому подключившемуся.

Худший ответ:
можно написать tcp или http сервер, который будет отдавать этот файл клиенту.
Вопрос: Есть ли преимущества у DOS-версии Victoria HDD перед Win-версией?

Лучший ответ:
С загрузочной флешки. Чтоб система в диск не лезла

Худший ответ:
А смысл, если диск просыпался то ему хана, отрезать кусок как раньше бутер сложно таки как геометрия дисков нынче не физическая а логическая к сожалению
Вопрос: Как прописать Рекламный ролик в проигрыватель для Windows?

Лучший ответ:
создать плейлист в который впихнуть рекламные ролики.
на ноутбуках запускать онный плейлист, т.е. запускать плеер с плейлистом расположенным на рашрашреной папке..
менять плейлист в онной папке когда захочется.

все запихнуть в cmd и просто запускать его на ноутах.

Худший ответ:
Никак. Нужно писать свой проигрыватель, ну или модифицировать имеющийся.
Самый простой путь, раздавать все через http/hls с помощью nginx-rtsp. Ну и написать свой javascript плеер с прокруткой рекламы. Например на основе video.js или mediaelement.js. Делается это за 3-5 дней, средним программистом на яваскрипте. Я и с тем и с тем плерами работал, сложного ничего нет. И да, как раз работаю в сфере показа рекламы через аудио-видео.
Если непонятно написал, спрашивайте, уточню что нужно делать.
Вопрос: Дайте совет, куда и как двигаться дальше?

Лучший ответ:
Если отрыть сейчас hh, и посмотреть первые десятки резюме, то окажется что 99% из них - дерьмо (простите за мой французский). 99% людей не способны связать даже несколько слов в осмысленный текст, а гитхаб который они прикладывают - скорее минус чем плюс. Вангую что у тебя тоже самое, и то что ты считаешь за резюме и нормальный код - скорее всего ими не являются. Ты даже не сообразила приложить их чтобы получить конструктивную критику. Какого ответа ты ждешь? "Старайся лучше"?

Худший ответ:
Ну уж если ты 7й месяц ищешь работу, то проблем с деньгами можешь решить .....

Конечно же у всех ситуации разные, но, ты не думала выйти на фриланс? При грамотном оформлении портфолио, от заказов не будет отбоя. 

А так я вижу две проблемы, не можешь себя "продать" и вторая, и ты девушка. Дискриминация((((((
Попробуй попасть на работу, через знакомство.....
Скорее всего нету таких знакомых, но не забывай про теорию шести рукопожатий....
Уверен, мои советы тебе покажутся сомнительными, но все равно подумай.
Вопрос: Насколько правильно и оптимально написан код?

Лучший ответ:
Сравнивайте, делайте выводы:

document.querySelector('#check').addEventListener('change', e => {
  document.querySelector('#password-input').type = e.target.checked
    ? 'text'
    : 'password';
});

Худший ответ:
Если вам не нужна обязательно глобальная константа, оберните свой код в анонимную функцию.
Вопрос: Какой бы вы посоветовали ПК из этих трех?

Лучший ответ:
Сборки шлак. И завышены сильно
Проще, дешевле и надежнее самому собрать. Я думаю у Вас есть знакомый чел, который за 5ру соберет всё по красоте...

Худший ответ:
А ничего, что в системнике "MSI" видеокарта 1660, а ты собрался 4к на повышенных частотах запускать?

Пойди на oveclockers опиши свою ситуацию (там есть правила заявки) и тебе подробно распишут максимально выгодный конфиг.
Вопрос: Как соединить 2 python файла в один код?

Лучший ответ:
Вначале file1 пишешь:
import file2
Тогда в файле 1 для вызова функции из файла 2 нужно будет писать (например) file2.get_text_messages

Но лучше вместо "import file2" писать:
from file2 import get_text_messages (или любые другие функции)
Тогда для вызова этой функции в 1 файле нужно будет просто написать get_text_messages (без file2. в начале)

Худший ответ:
через import NNN
по умолчанию подгрузится файл NNN.py
Вопрос: Z+=i что делает этот оператор?

Лучший ответ:
Увеличивает z на i.
Например:
int Z = 10;
int i = 5;
Z+=i;
println(Z); //будет 15

Худший ответ:
Увеличивает z на i.
Например:
int Z = 10;
int i = 5;
Z+=i;
println(Z); //будет 15
Вопрос: Как выдавать по запросу другой файл?

Лучший ответ:
Тупо редирект со старого места на новое - если у Вас apache то в .htaccess если только nginx или litespeed то в нём.

Гуглите 301 редирект :)

Худший ответ:
https://symfony.com/doc/current/routing.html
https://laravel.com/docs/8.x/routing
https://www.yiiframework.com/doc/guide/2.0/en/runt...

старое попроще
https://codeigniter.com/userguide3/general/routing.html

совсем примитив
forum.php.su/topic.php?forum=71&topic=4323
Вопрос: Как проверить строку, есть ли в начале определенные символы?

Лучший ответ:
strings.HasPrefix("Gopher", "Go")

Документация тут

Худший ответ:
strings.HasPrefix("Gopher", "Go")

Документация тут
Вопрос: Будет ли работать данная схема на MOSFET с общим минусом?

Лучший ответ:
Будет, по сути это стандартная трехфазная схема.
Но я бы лучше просто запаралелил кроны - так лучше и надежней

Худший ответ:
Может работать, но:
- светодиоды, скорее всего, сгорят от 9 В;
- в соединении крайнего правого светодиода есть ошибка;
- если имеются в виду "обычные индикаторные" светодиоды с номинальным током до 20 мА, то их можно подключить к дурине и питанию 5 В без внешних транзисторов.

Что нужно добавить к светодиодам для питания от 9 вольт? Да и от 5 - тоже.
Вопрос: IKEv1 + Windows 10 — возможно ли?

Лучший ответ:
IKE(v1) плохо подходит для удалённого подключения клиентов (сценарий road warrior), он создавался для связи стационарных точек. У него много проблем, много недоработок, вся дополнительная функциональность добавлялась костылями.
Windows не поддерживает обычный IKE без L2TP.

1. IKEv2 и L2TP не умеют в LDAP, только RADIUS? RADIUS поднимать не хочу, лень.Протоколы поддерживают EAP, в частности, для логина и пароля в Windows используется EAP-MSCHAPv2. Какой бекэнд для аутентификации использовать — зависит только от сервера.
strongSwan не поддерживает LDAP напрямую, но поддерживает RADIUS. Для freeradius есть плагин аутентификации через LDAP.

2. Можно ли к IKEv1 подцепить windows-хосты?К «чистому» — нет. По крайней мере, не через стандартный Windows-клиент. Возможно, какие-то дополнения от Cisco или других сторонних производителей могут добавить такую возможность, но необходимо устанавливать дополнительно.

3. Насколько вообще безопасно/эффективно/глупо юзать голый IPsec?IPsec — хороший протокол, но IKEv2 лучше IKEv1 во всём.

Вот здесь приводил пример конфигурации:
https://qna.habr.com/answer?answer_id=2192678#answ...

Худший ответ:
IKEv1 + Windows 10 — возможно ли?
"Искаропки" - нет. Нужно ставить сторонние клиенты, которые давно заброшены, хотя в свое время активно пилились - ShrewSoft, TheGreenBow. Плюсом у них было то, что можно им сунуть текстовик в качестве конфига.
Самым простым вариантом является
инструкция, где по пунктам рапсписано, что сделать, чтобы поставить сертификат. С картинками. С большим количеством картинок - практически комикс. У нас такую инструкцию одолевали все.
Никаких сертификатов устанавливать не хотят (особенно маководы).
на маках как раз (поскольку это все же некий родственник линуха) сертификат поставить - пара пустяков, куда проще чем на винде.
2. Можно ли к IKEv1 подцепить windows-хосты?
Только с помощью стороннего софта, но его за...шься настраивать - а инструктировать юзера, куда ему скинуть текстовик - тоже весело будет. Да и работали они криво.
3. Насколько вообще безопасно/эффективно/глупо юзать голый IPsec?
Безопасно, эфективно и не глупо. IKEv2 и сертификаты решают проблему мобильных юзеров полностью - что на винде, что на андроиде, что на маке.
Вопрос: Как отдать браузеру 1 картинку и отобразить её в нескольких местах страницы?

Лучший ответ:
Одну и ту же картинку браузер качает один раз, ложит в локальный кэш (если он не выключен), и показывает во всех местах. Качать одно и то же 10 раз - дурных нема. Браузеры придумывали во времена, когда каждый килобайт трафика стоил денежек...

Исправьте отдачу одной картинки под разными URL-ами, и всё. Или замените отдачу на редирект на единственно правильную картинку.

Худший ответ:
Можно попробовать 307 код ответа напраляющие одинаковые URL картинки. 

Тоесть SRC в тегах разный, но при его запросе идет 307 и направление на один и тот же URL, который закэшируется и повторно не скачается, так как он уже одинаковый.
Вопрос: Как обработать запрос который приходит на клиент?

Лучший ответ:
 если его присылают на клиент?
Его присылают НЕ на клиент, а на определённый урл, который наверняка указывается в настройках при подключении платёжки.



За 2 минуты нашёл инструкцию на их сайте. Как вы гуглите?

Худший ответ:
Во-первых, данным от клиента доверять нельзя.

Как только платёжка вернёт клиента к вам на страницу, вы по POST-данным получить номер заказа и у себя на бекенде через запрос в платёжную систему проверить, оплачен ли этот номер заказа.
Если номер заказа оплачен - то переадресовывать на страницу успешной оплаты, если ошибка - то на страницу ошибки.
+ не забывайте неоплаченные заказы проверять раз в сколько-то минут, чтобы исключить ситуацию, что клиент по каким-либо причинам оплатил заказ, но не вернулся на сайт.

Из JavaScript (если речь идёт только о фротенде) этого сделать нельзя. Это исключительно задача бекенда.
Вопрос: Как сравнить два изображения на delphi с процентной погрешностью?

Лучший ответ:
Можно. Например, можно просто попиксельно сравнить. Указав допустимую погрешность разницы между пикселями.
Получить доступ к пикселями можно очень легко. Через Bitmap.Canvas.Pixels[x, y], либо быстрее, через scanline[y]

Худший ответ:
Сделать привязку к библиотеке pHash и сравнивать хеши по расстоянию Хемминга.
Вопрос: Удаленная подмена системных файлов, что делать?

Лучший ответ:
Запомните правило - скомпрометированный комп не надо чистить. Если хотите разобраться в деталях - снимите копию с диска, после этого полная зачистка и установка заново.  Плюс остальные меры для недопущения повторения истории - сложные пароли, антивирсная защита, firewall и т.д. и т.п.

Худший ответ:
что делать?
В детстве я очень любил давать один ответ на этот вопрос :)

Начнем с того, что в семье не бывает конкурентов :) Эт во-первых. Для взломы нынешней почты непременно нужно сначала заразить комп, на котором эта почта используется - наверняка все началось с того, что кто-то где-то кликнул на ссылку, а работал он с правами админа и паролем 123456...
Я бы вот в таком случае сделал полное форматирование диска и установку винды заново с официального дистриба (а не со "сборки от Васяна")