Skip to content

This guide teaches you how to stand on the shoulders of giants and use open source projects to make your own private firmware.(Pcileech-DMA)

License

Notifications You must be signed in to change notification settings

Ptolemaios9/Pcileech-DMA-SimpleFirmwareCustomizationGuide

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pcileech-SimpleFirmwareCustomizationGuide

🤬I hate scammers who make crap firmware and sell it at inflated prices, and people who like to be vague in their guidelines.

😊That's why this guide was created, to make your own proprietary firmware with zero experience!

Emphasis

  • This guide teaches you to make your own firmware using open source projects instead of starting from scratch!

  • The guide follow step by step, enough to make firmware for BE!

  • This guide uses descriptions that even primary school children can understand!

How to get help

discord:https://discord.gg/beater

🔥Beaters DC channel offers free firmware (Many scammers firmware distributors are angry because Beater has made VMD firmware available for free,Try to discredit Beater by claiming that the free firmware is unsafe so that users can buy their paid Poor quality firmware.),BeaterFreeVMD play the games you want to play!VGK has implemented VMD detection not long ago, and EAC BE still runs well. Beater Never tried to sell VMD firmware solutions for profit.

Let's start making firmware!

Capturing real configuration space

Beginners naturally take the easiest network card solid as a demonstration (demonstration of the use of ekknod open source WIFI source code, let us thank ekknod), to buy a PCIe network card, the price does not matter, inserted into a computer that can run normally, pay attention to the PCIe network card, do not buy the wrong other interfaces! Acquisition software recommended TeleScan more convenient, but TeleScan default display bar value is wrong, you need to manually repair (the following will be demonstrated), skilled hands can use Arbor. production process is not only applicable to the network card, you have other firmware source code can also be done.

Capture the real configuration space open TeleScan to find the network card you bought (class more bad to find you can choose other arrangement), see the picture box out of the card's Base Address Register column that Bar? Left-click to select Bar0 after the box will become blue, in the right side of the long bar in the digital box, long press 1 to replace all the numbers in the box for 1, at this time, the blue selected box value and the long box number 1 are green, right-click to select the Write ¡ú DOWORD to save (you can use Alt + Shift + D shortcut keys to save), save the changes in the blue selected box value and the long bar box value will become black! After saving the changes, the values in the blue checked box and the values in the long bar box will turn black, and so on, Bar0~Bar5 will be repaired to the correct Bar value (only Bar0/Bar2/Bar4 in the figure have values to be repaired). After fixing the Bar values, you can save the tlscan file (the save button is the second one in the second row).

image image

pcileech_cfgspace.coe

Nowadays there are many one-click tlscan to COE tool, Just find a tlscan to COE tool to convert , the generated file renamed pcileech_cfgspace.coe replaced into the IP folder you use the source code, overwrite the original pcileech_cfgspace.coe file.

image

pcileech_fifo.sv pcileech_pcie_cfg_a7.sv

pcileech_fifo.sv file in your source code decompression src folder, you can use Vivado/Notepad++/Notepad to open the modification (depending on personal habits, the final firmware are to use Vivado to generate, Vivado open the path to srcs/sources 1/imports/pcileech- xxx/src/pcileech-fifo.sv), open the pcileech_fifo.sv file see the picture boxed out of the rw[203] and rw[206] two places? rw[203] of the b after the change of 0, rw[206] after the change of b after the change of 1. change remember to save!

image

If you want to change the value after rw[143:128]~rw[199:192], you can fill in the corresponding value read by TeleScan backwards or randomly (the effect is the same).

image

image

After changing the pcileech_fifo.sv file now change the pcileech_pcie_cfg_a7.sv file, also in the src folder after you unzipped the source code, what software to use to change the same depends on personal habits (Vivado open the path to srcs/sources 1/imports/pcileech-xxx/ src/pcileech fifo.sv). src/pcileech fifo.sv), see the rw[127:64] boxed out in the picture, the 16-bit value after h is the firmware DSN, here fill in the DSN (abbreviation of Device Serial Number Capability) read by TeleScan to your card, the 1st DW+2nd DW value added together is not exactly 16 bits? The value in 1st DW+2nd DW should be 16 bits, the value in 2nd DW should be filled in the front, the value in 1st DW should be filled in the back, don't fill in the opposite. Then change rw[21] to 0 and rw[20] to 1 (here it is recommended to keep the default unchanged). change remember to save!

image image

If you want to change the value after rw[143:128] and rw[199:192], you can fill in the corresponding value read by TeleScan upside down or just fill in the corresponding value (the same as the above rw[143:128]~rw[199:192]-fill in the random value needs to be consistent).

image

pcie_7x_0_core_top.v

This document is recommended to use other people to change the good version of the province of a pointer to check, after all, the public source code and then how to sew patch is not too bad, is not it? The pursuit of hand-operated words in accordance with the following chart in the order of control can be modified, the first ID board is very simple to modify the box h after the value changed to TeleScan to read out the corresponding parameters of the card can be, the other do not make any changes.

image

The second BAES board fills in the offset offset address of the NIC read out by Telesan, i.e., the value before h after offset in the Advanced Error Reporting Capability and Virtual Channel Capability brackets, which only needs to be changed in two places.

image

The third BAR board fill Telesan read out the value of the network card's Base Address Register0~5, 04 and 04 end of the BAR after the BAR full F, for example, BAR1/BAR3/BAR5. because bar0 can not be 1 at the end of the 1 is on behalf of the 10, 0 is on behalf of the memory space to be changed to 0 bar2 and bar4 followed by the 4 or C is the 64-bit address, then bar3 and bar5 should be changed to all F.

image

The following one by one to check and find the changes, as shown in the figure against the modification of each place, Telesan read out the network card has to change to the corresponding value and open (FALSE to TRUE), there is no skip.

image image image image image image image image image image image image image image image image image

Let's generate the firmware.

Vivado left navigation bar click Generate Bitstream, pop-up window box out of the option to generate the firmware when the number of CPU cores used, the recommended default core number, if your computer configuration is higher can be appropriate to increase the output core. Generate the firmware pcileech _enigma_x1 _top.bin in the source code file under the impl_1 folder.

image

Making a personal firmware based on open source source modifications is easier than you think, isn't it?

😉Want to add more advanced features to the firmware to deal with stronger anti-cheats? I'll keep compiling guides when I have time!

About

This guide teaches you how to stand on the shoulders of giants and use open source projects to make your own private firmware.(Pcileech-DMA)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published