Если на память не ошибаюсь то тебе будет нужен 7 и 9 пины клайника. Как я уже и писал выше — сами читы (если у них Only Read метод) да, ЕДИНСТВЕННЫЙ способ обнаружить дма софт — это обнаружить “подозрительную” плату замаскированную dma под вашей прошивкой. В этой статье — гайде, я расскажу как правильно выбрать DMA карту, для чего она нужна, что это такое. Такого полного гайда вы не прочтете нигде в рунете, да и в англоязычных источниках эту информацию вы будете собирать крупицами. Обратите внимание на содержание чтобы не читать статью полностью, если вы с чем-то знакомы. К сожалению у нас есть такая периферия с нетолерантностью к задержкам.
Сигнальные события вызываются прерываниями периферии, но в отличие от прерываний сигнальные события не надо специально очищать чтобы они снова возникли. У DTC нет каналов, все запросы на обмен по DTC обслуживаются последовательно в порядке приоритетности сигналов прерываний вызвавших запрос DTC. DMA имеет 8 фиксированных каналов, где у канала 0 высший приоритет, а у канала 7 низший.
DTC работает через ту же шину что и DMA, но DMA имеет приоритет над DTC. Запросы DMA всегда обслуживаются раньше чем запросы DTC. Обмен по DTC и DMA стартует по сигнальным событиям, а не по запросам DMA.
На плате находится FPGA чип — программируемая логическая матрица, которая выполняет считывание и запись в память. Атака DMA (Direct Memory Access) — это атака, при которой злоумышленник получает возможность загружать данные напрямую в память устройства и считывать их оттуда через высокоскоростные порты. Здесь мы продолжаем развитие платформы нашего ПЛК (PLC) под названием PLCS7 на базе модуля с микроконтроллером семейства Synergy S7FS2. В этом ПЛК ввод-вывод в основном выполняется через микросхемы расширители IO с последовательными каналами связи. Программный байтовый обмен с такими микросхемами может отбирать значительные ресурсы процессора.
ЦП записывает значения в регистры контроллера DMA, отправляет устройству (например, диску) команду на чтение данных. Устройство читает данные (например, с диска) и записывает в свою внутреннюю память (буфер). Контроллер DMA устанавливает на адресную шину адрес памяти ПК, отправляет устройству запрос на чтение данных из внутренней памяти (буфера) устройства.
Дескрипторы описывающие, как должна выполняться пересылка DTC хранятся в RAM и при каждом запуске DTC считываются из RAM и записываются вновь в RAM после модификации счетчика пересылок и адресов источника и приёмника данных. Дескрипторы для 8-ми каналов DMA хранятся в самом модуле DMA и при старте DMA не нужно читать их из памяти. DTC допускает чтение дескрипторов и выполнение пересылок по цепочке, размер цепочки не ограничен. DMA не обладает возможностью отработки дескрипторов по цепочке. В модуле DMA в каждом канале отрабатывается один дескриптор записанный в сам модуль DMA. В жестких дисках с интерфейсом IDE технология ПДП получила свое развитие в виде дополнительных режимов ПДП, получивших название Ultra DMA (UDMA).
По мере развития процессорной техники, контроллеры ПДП стали многоканальными, что позволило поддерживать несколько каналов доступа к памяти от разных периферийных устройств, а также и из памяти в память. Сами архитектуры процессорных систем сильно видоизменялись, контроллеры ПДП, периферия и память входили в разные части процессорных систем, но общая идея прямого доступа к памяти фактически не изменилась. Остановимся отдельно на режиме BUS Master компьютерных интерфейсов PCI и PCI Express. Плата, вставленная в слот, поддерживающая режим BUS Master, способна сама на время захватить шину, полностью взяв на себя роль контроллера ПДП.
В нашем ПЛК реализовано более 10 одновременно работающих каналов DMA и DTC. Однако корректная работа DMA не достаётся автоматически. Требуется тщательное планирование размещения в памяти и тестирование.
Всего стандарт Ultra DMA поддерживает 8 основных режимов передачи данных, обеспечивающих скорость от 16,7 до 167 МБ/c. Использование режимов Ultra DMA для винчестеров позволило значительно увеличить пропускную способность шины IDE. Включить или изменить режим Ultra DMA для жестких дисков можно при помощи специальной опции BIOS, обычно носящей название DMA (UDMA) Mode. Таким образом DMA подходит для быстрых обменов блоками данных между памятью и единственным регистром периферии или между двумя областями памяти. А DTC годен для пересылок по самым разным адресам периферии за один проход без вмешательства процессора, но при этом нужно быть готовым к задержкам пересылок вследствие ожидания окончания всех пересылок DMA. Так появилась идея технологии DMA (сокращение от Direct Memory Access, т.е. Прямой Доступ к Памяти), состоящая в том, чтобы позволить различным устройствам обращаться к оперативной памяти напрямую, минуя ЦП.
Прямой доступ к памяти (англ. direct memory access, DMA) — режим обмена данными между устройствами компьютера или же между устройством и основной памятью, в котором центральный процессор (ЦП) не участвует. Так как данные не пересылаются в ЦП и обратно, скорость передачи увеличивается. Начиная с появления шины ввода-вывода PCI, концепция практической реализации ПДП претерпела изменения. В материнских платах с шиной PCI больше не использовался контроллер DMA, а вместо этого стала применяться технология Bus Mastering. Суть этой технологии заключается в том, что любое устройство может обратиться к шине и полностью использовать ее в своих целях, в том числе, и для доступа к оперативной памяти.
Устройство получает запрос и при этом даже не знает, пришёл ли запрос от ЦП или от контроллера DMA. Устройство пересылает очередное слово из своей внутренней памяти (буфера) в оперативную память ПК по адресу, находящемуся на адресной шине. Затем устройство посылает контроллеру DMA сигнал, сообщающий об окончании записи. Контроллер DMA увеличивает адрес памяти ПК и выставляет его на адресную шину, уменьшает значение своего счётчика байтов, снова отправляет запрос на чтение данных из внутренней памяти (буфера) устройства. Цикл повторяется, пока значение счётчика не станет равно нулю. После окончания цикла устройство инициирует прерывание процессора, сообщающее о завершении переноса данных.
Контроллеры были и остаются несовместимыми по ПО между различными производителями, хотя совместимость всех Intel IDE/ATA/SATA снизу вверх более или менее поддерживается. В начале 1990-х годов диски MFM/RLL вышли из употребления («вымерли»), сменившись дисками IDE, но регистровый интерфейс ПО к контроллеру не изменился.
В первую очередь надо обратить внимание на обмен с микросхемами расширителями ввода-вывода аналоговых и цифровых сигналов. Он выполнен через DTC, поскольку требует цепочечных передач данных. Если бы выбрали I2C, то не смогли бы работать без прерываний на каждой пакете.
Сами разработчики прошивок не сразу находят чужую прошивку на компе, а если и находят то тратят много времени, что уж говорить об организаторах турнира или зрителях на стриме. Дело в том что античиты учатся определять фейковые прошивки, и вешают флаги на некоторые ограничения устройств в системе, если посчитают их подозрительными. Также особенностью этой поддержки является использование новых команд протокола IDE/ATA, а значит, и требование поддержки DMA не только контроллером, но и самим жёстким диском.