ekknod / pcileech-wifi

pcileech-fpga with wireless card emulation
https://github.com/ufrisk/pcileech-fpga/
347 stars 103 forks source link

How to get register addresses? #22

Closed Jotalz closed 6 months ago

Jotalz commented 7 months ago

Hello,ekknod,If I use a different network card device,Which values need to be modified in this part by myself? I read some simple tutorials beforehand,they said I need obtaining the register addresses for the device by wiki or ida,but no specific acquisition method was pointed out. For example, if I use ida pro to reverse drive,What clue do I use to locate this value?

SmileHalo commented 6 months ago

read this module https://github.com/ekknod/pcileech-wifi/blob/690eafc88a784a55b0af042dedbddcc495f778fc/src/pcileech_tlps128_bar_controller.sv#L803 and ath driver source to simulate tlp packet i guess.. it's hard to use ida reverse .sys binary file.
you can find some public open-source or reverse-engineered driver here https://en.wikipedia.org/wiki/Comparison_of_open-source_wireless_drivers

Jotalz commented 6 months ago

To be honest, I can't understand these lists given by wiki,It lists a lot of drivers but only lists them I think,It lists them to indicate that they exist as open source,do I need other ways to find the driver source code?

SmileHalo commented 6 months ago

ath.sys https://elixir.bootlin.com/linux/latest/source/drivers/net/wireless/ath/ath9k its linux source but for same device tlp packet is same. you can reference this source and fpga tlp bar controller module part to understand how the driver init on windows.

Jotalz commented 6 months ago

ath.sys https://elixir.bootlin.com/linux/latest/source/drivers/net/wireless/ath/ath9k its linux source but for same device tlp packet is same. you can reference this source and fpga tlp bar controller module part to understand how the driver init on windows.

Very useful, thank you for your patience in giving me answers!