• Добро пожаловать на сайт - wlux.net!

    FAQ по форуму

    1. Все сообщения до группы местный проходят модерацию от 1 минуты до 24 часа

    2. Сообщения учитываються в следующих разделах: Читать

    3.Что-бы скачать вложение нужно 2 сообщения.

    4.Личные переписки работают только с Администрацией форума

    5. Запрещено: Просить скрытый текст , спам, реклама, скам, ддос, кардинг и другая чернуха, нарушать любые законы РФ/СНГ = бан аккаунта

    6. Внимание! Мы не удаляем аккаунты с форума! Будьте внимательны ДО регистрации! Как удалить аккаунт на форуме?!

    5.Не понимаю, как и что тут работает у вас?!Как создавать темы, писать сообщения, как получать реакции. Почему не засчитывает сообщения. Все ответы здесь

This is a mobile optimized page that loads fast, if you want to load the real page, click this text.

Гайд Гайд по созданию читов для DMA плат

Оффлайн

wlux.net

Где волчьи уши, там волчьи зубы.
Команда форума
LV
7
 
20.06.2022
23 849
218
36
Награды
10
Пол
Муж.

Репутация:

  • Автор темы
  • Администратор
  • Модератор
  • Команда форума
  • #1


Цель этого руководства - показать пользователям, как начать создавать собственную пользовательскую прошивку

Шаг 1:​


Гуиде:

вам нужна новейшая версия Xlinix Vivado (требуется учетная запись в AMD)
Сообщество Visual studio (потому что я использую его для этого руководства и функций поиска.)
исходный код прошивки по умолчанию, найденный в репозитории ulfs на github

Источники:

Вивадо:

Пожалуйста, войдите или зерегистрируйтесь, чтобы увидеть скрытый текст.


Visual studio :

Пожалуйста, войдите или зерегистрируйтесь, чтобы увидеть скрытый текст.


Источник прошивки :

Пожалуйста, войдите или зерегистрируйтесь, чтобы увидеть скрытый текст.


(я не буду рассказывать вам, как их установить, это очень просто.)

Шаг 2:​


Первоначальная настройка:


Нам нужно выполнить некоторые настройки, прежде чем мы продолжим.
откройте папку PCIeSquirrel с помощью visual studio

теперь давайте выполним поиск функций, которые мы хотели бы изменить

нажмите CTRL+F для поиска и введите rw[20] <= 1;
результатом должен быть файл с именем pcileech_pcie_cfg_a7.sv , в котором строка указана как 208

Итак, давайте изменим некоторые строки!

давайте изменим строки 208 и 209, чтобы отразить это:

rw[20] <= 1;
rw[21] <= 1;

и затем в строке 215 есть DSN (серийный номер устройства), указанный как таковой :

rw[127:64] <= 64 '00000000xxxxxxxx; // +008: cfg_dsn

Давайте изменим эти последние цифры, вы можете увидеть, что по умолчанию в конце стоит 35
(Чип Artix 35T)

пример :
rw[127:64] <= 64 '0000000042006969; // +008: cfg_dsn

Хорошо, как только это будет сделано, давайте сохраним все файлы полностью
(файл в верхнем левом углу "сохранить все").

Шаг 3:


Следующее, что мы собираемся сделать, это "сгенерировать" проект

Откройте TCL shell 2022.xx (ваша версия может отличаться, не волнуйтесь.)
это должно быть у вас после установки vivado.

используйте cd и укажите на папку проекта
(если это выдаст сообщение об ошибке "каталог не найден", поменяйте косые черты)
пример: cd C:/Users/XXXX/Desktop/PCIeSquirrel

Теперь мы перешли в папку с исходным кодом и хотим создать проект
vivado, введите команду:

источник vivado_generate_project.tcl -notrace

дождитесь завершения.

после завершения у нас будет файл нашего проекта в каталоге
PCIeSquirrel\pcileech_squirrel\pcileech_squirrel.xpr

После этого давайте перейдем к следующему шагу!

Шаг 4:​

Теперь vivado выглядит сложным, очень пугающим.
Не напрягайтесь. сделайте резервные копии, все будет в порядке

давайте дважды щелкнем по этому файлу проекта, чтобы открыть проект в vivado (да)

В окне менеджера проектов вы увидите поле с надписью "исходные тексты", внутри которого находится дерево файлов.
давайте откроем дерево и перейдем к
pcileech_squirrel_top\i_pcileech_pci_a7
теперь вы должны увидеть "файл" с именем i_pcie_7x_0 с желтым значком.
давайте дважды щелкнем по нему, чтобы "Настроить IP"
Появится большое окно с кучей опций, нас интересует вкладка "Идентификаторы"

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

например:

Идентификатор поставщика: 10EB
Идентификатор устройства: 3029
Идентификатор редакции: 09 (я почти уверен, что это можно установить на все, что вы хотите.)
Идентификатор поставщика подсистемы: 10EB (это должно соответствовать идентификатору поставщика)
Идентификатор подсистемы: 0008 (честно говоря, я не уверен, что изменение его с 7 на 8 ничему не повредит)

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

вы можете найти множество идентификаторов устройств в Интернете по этой ссылке:

Пожалуйста, войдите или зерегистрируйтесь, чтобы увидеть скрытый текст.



после того, как вы закончите, нажмите кнопку "ОК" в правом нижнем углу окна

откроется еще одно маленькое окно
, просто нажмите кнопку "Сгенерировать" внизу и дождитесь завершения.

Шаг 5:​


Блокировка IP-ядра:

Мы хотим заблокировать "ядро", чтобы его можно было модифицировать в дальнейшем
, когда vivado соберет прошивку, она перезапишет некоторые измененные параметры.
чтобы предотвратить это, мы заблокируем его! теперь его нельзя изменить в vivado или с помощью vivado.

Внизу vivado вы должны увидеть список вкладок, одна из ни
х называется "Консоль Tcl"
, переключитесь на эту вкладку и введите это :

set_property is_managed false [get_files pcie_7x_0.xci]

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

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

set_property is_managed true [get_files pcie_7x_0.xci]

Пока что мы сделали следующее:

DSN : changed
Master abort flag : set
Auto status register : set
vendor ID : Changed
Device ID : Changed
Subsystem ID : Changed
Revision # : Changed
следующие шаги мне не ясны на 100%, и они были броском кубиков в зависимости от неудачи или успеха.

Шаг 6:​


ПРОПУСТИТЕ ЭТО, ЕСЛИ ВЫ НЕ МЕНЯЕТЕ информацию о панели/PCIE/MSI

Меняете адрес панели:

(не стесняйтесь подключаться)

итак, теперь нам нужно изменить адрес панели
и блоки конфигурации 0x48 и 0x60

Итак, давайте откроем резервную копию visual studio (если вы ее закрыли)

И выполним поиск (ctrl+F) : "bar_0":

в списке должен быть указан файл с именем pcie_7x_0.xci
и @ строка 264 кода:

"bar_0": [ { "значение": "FFFFF000", "resolve_type": "сгенерировано", "использование": "все" } ],

Это адрес строки. и мы хотим его изменить.
вы можете имитировать физическое устройство, которое у вас есть под рукой, сбросив информацию в linux или с помощью RWeverything64
я не буду говорить вам, на что его установить, но значение по умолчанию - FFFFF000.

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

(Это может потребовать некоторых проб и ошибок в зависимости от вашей системы / устройства.)

Шаг 6.5:​

ПРОПУСТИТЕ ЭТО, ЕСЛИ ВЫ НЕ МЕНЯЕТЕ информацию о панели/PCIE/MSI

Меняете указатели MSI/PCI
(блоки 0x40 и 0x60, как упоминалось в других темах)

в vivado с открытым проектом нам нужно "Запустить синтез" на левой боковой панели.
это сгенерирует строки, которые мы хотели бы изменить.
дождитесь завершения, и после завершения должно появиться другое окно, вы можете просто нажать "Отмена".
(если вы знаете способ получше, скажите об этом!)

теперь в visual studio (на данный момент они оба должны быть по-прежнему открыты.)
давайте выполним поиск и найдем указатели MSI/PCIE.
вы можете найти их, выполнив поиск, например, по "PCIE_BASE_PTR", и найти все упоминания об этом.

Вот пример некоторого кода.
и давайте немного разберем его

Код:
 parameter [7:0]  MSI_BASE_PTR = 8'h48,
  parameter        MSI_CAP_64_BIT_ADDR_CAPABLE = "TRUE",
  parameter [7:0]  MSI_CAP_ID = 8'h05,
  parameter        integer MSI_CAP_MULTIMSGCAP = 0,
  parameter        integer MSI_CAP_MULTIMSG_EXTENSION = 0,
  parameter [7:0]  MSI_CAP_NEXTPTR = 8'h60,
  parameter        MSI_CAP_ON = "FALSE",
  parameter        MSI_CAP_PER_VECTOR_MASKING_CAPABLE = "TRUE",
  parameter        integer N_FTS_COMCLK_GEN1 = 255,
  parameter        integer N_FTS_COMCLK_GEN2 = 255,
  parameter        integer N_FTS_GEN1 = 255,
  parameter        integer N_FTS_GEN2 = 255,
  parameter [7:0]  PCIE_BASE_PTR = 8'h60,
  parameter [7:0]  PCIE_CAP_CAPABILITY_ID = 8'h10,
  parameter [3:0]  PCIE_CAP_CAPABILITY_VERSION = 4'h2,
  parameter [3:0]  PCIE_CAP_DEVICE_PORT_TYPE = 4'h0,
  parameter [7:0]  PCIE_CAP_NEXTPTR = 8'h9C,
  parameter        PCIE_CAP_ON = "TRUE",

значение MSI_BASE_PTR по умолчанию равно "8'h48".
тогда его следующий указатель (MSI_CAP_NEXTPTR) равен "8'h60"
, и если мы проверим PCIE_BASE_PTR, то это "8 'h60".
Таким образом, заглавные буквы MSI, по сути, просто переходят в заглавную букву PCIE
, а PCIE_CAP_NEXTPTR равен "8 'h9c"
(не стесняйтесь утверждать обратное, если вы знаете больше, чем я.)

итак, по сути, мы хотим изменить их таким образом, чтобы они были новыми значениями и отображались в другом месте (указатель).
но будьте осторожны, чтобы не ПЕРЕОПРЕДЕЛИТЬ ЧТО-либо ЕЩЕ, ИСПОЛЬЗУЯ УКАЗАТЕЛЬ
, я не буду говорить вам, на что это изменить, метод проб и ошибок - ваш друг, и я все еще нахожусь в процессе "проб и ошибок" этого.

((я почти на 99% уверен, что вам нужно изменить файл pcileech_cfg space.core, если вы вообще изменяете это.
для этого требуются мозги, которых у меня нет. Я бы хотел, чтобы кто-нибудь вмешался в это.
Поскольку все содержимое файла .core начинается с начала адреса строки "FFFFF", я полагаю, что оно должно соответствовать вашей фактической строке и указателям msi/pcie)

После того, как все это будет сделано. пришло время двигаться дальше.

Шаг 7:​


Создание файла firmware .bin

внутри vivado мы хотим "сгенерировать поток битов" в нижней левой боковой панели.
это "создаст" файл firmware .bin
, просто нажмите "да" / "продолжить", пока он не начнет генерироваться, но не меняйте никаких параметров, если вы не знаете, что делаете.

ЭТО ЗАЙМЕТ НЕКОТОРОЕ ВРЕМЯ!!!

как только все будет завершено, вы найдете внутри bin-файл вашей прошивки :
PCIeSquirrel\pcileech_squirrel\pcileech_squirrel.runs\impl_1
он будет называться : pcileech_squirrel_top.bin

ЭТО ВАША ПРОШИВКА, ВЫ СДЕЛАЛИ ЭТО, VIVADO ВЫДАЛ КУЧУ ДЕРЬМОВЫХ ОШИБОК, НО ВЫ СДЕЛАЛИ ЭТО!
Я не несу ответственности, если вы испортите свой компьютер или DMA-карту. это не руководство по перепрошивке
(я уничтожил две материнские платы X670E, хвала системе гарантии best buy)
 
Оффлайн

for_freedom

Местный
Участник
LV
1
 
16.12.2024
65
0
18
Награды
3
46
Пол
Муж.

Репутация:

А так хорошо начиналось..... Спасибо за гайд
 

Поиск по форуму

Данный сайт использует cookie. Вы должны принять их для продолжения использования. Узнать больше....