ufrisk / pcileech

Direct Memory Access (DMA) Attack Software
GNU Affero General Public License v3.0
4.58k stars 695 forks source link

ERROR: PCILeech Invalid LeechDMA version number #298

Closed hocuspocus97 closed 2 months ago

hocuspocus97 commented 2 months ago

Running on windows 10 AMD system, when running the below command I get these 3 errors:
pcileech.exe display -min 0x1000 -device fpga -v

Output:

LeechDMA: FAIL: Invalid LeechDMA version number (too low). Upgrade fpga1 firmware to latest version.  
DEVICE: FPGA: ERROR: Unable to load 'FTD3XX.dll' or 'leechcore_driver.dll' [0,v0.0,0000]
PCILEECH: Failed to connect to the device. 

I've tried flashing latest fpga firmware to the card, but the issue is still the same.
DMA Card (ZDMA 100T) gets initialized properly from what I see, and is recognized on 2nd pc as an Intel tamales module 2.
BIOS settings are correct and IOMMU and SVM are disabled.
I also have the latest device drivers and thunderbolt drivers installed on 2nd pc.

Fix

Flash fpga1 (ends in _1) then fpga0 (ends in _0), turn off PC and PSU for 10 seconds, then turn on and boot into system.
Check in thunderbolt software for the card, and device manager as well (reports as LeechDMA under Memory Technology Devices), make sure you enable hidden devices first (View -> Show Hidden Devices)

If the device isn't recognized try a different thunderbolt cable.
Support also suggested a reinstall of the OS if the card still won't get recognized, but it was not necessary in my case.

ufrisk commented 2 months ago

I see on Discord that the issue was resolved. Congtratz 👍

Let me know if this was not the case and I'll try to help.

hocuspocus97 commented 2 months ago

I see on Discord that the issue was resolved. Congtratz 👍

Let me know if this was not the case and I'll try to help.

I'm sorry, I don't use discord, if it was resolved I would've closed the issue.
Please take a look when you have the time, I'm pulling my hair over this.
It's a ZDMA 100T card if it helps.

ufrisk commented 2 months ago

I'm sorry for that. Another guy asked me the same question on Discord like 30 minutes later but he managed to resolve it himself before I had the time to answer. People seldom close the github issues after they got an answer in another channel unfortunately.

There has been an upgrade to the ZDMA firmware. Also there was another upgrade made today for stability reasons. The leechcore_driver.dll is updated and should be included in the latest pcileech/memprocfs releases downloads for Windows. (inside the zip file).

It's likely this will require an upgrade to ZDMA FPGA1 firmware for Thunderbolt. You'd have to ask ZDMA to provide that download/upgrade.

Please let me know how it goes.

hocuspocus97 commented 2 months ago

I'm sorry for that. Another guy asked me the same question on Discord like 30 minutes later but he managed to resolve it himself before I had the time to answer. People seldom close the github issues after they got an answer in another channel unfortunately.

There has been an upgrade to the ZDMA firmware. Also there was another upgrade made today for stability reasons. The leechcore_driver.dll is updated and should be included in the latest pcileech/memprocfs releases downloads for Windows. (inside the zip file).

It's likely this will require an upgrade to ZDMA FPGA1 firmware for Thunderbolt. You'd have to ask ZDMA to provide that download/upgrade.

Please let me know how it goes.

Alright, so I obtained the firmware from support and flashed it, then I flashed new pcileech-fpga and updated pcilleech on 2nc pc.
Now it seems my device isn't being recognized in thunderbolt software for some reason.
The output from pcilleech is as follows:

DEVICE: FPGA: ERROR: Unable to load 'FTD3XX.dll' or 'leechcore_driver.dll' [0,v0.0,0000]
PCILEECH: Failed to connect to the device. 
ufrisk commented 2 months ago

After flashing you'd have to disconnect the flash cable and shut down the PC with the ZDMA board inside it for like 10s. Then start it again. Also make sure you have the latest PCILeech version from the Releases section: https://github.com/ufrisk/pcileech/releases/download/v4.17/PCILeech_files_and_binaries_v4.17.7-win_x64-20240519.zip

If it's a newly installed PC you run PCILeech on you'd also have to install the Windows kernel driver, but this should not be necessary if it was working before.

Also ensure the cable is moved to the Thunderbolt port if it was previously used for flashing.

hocuspocus97 commented 2 months ago

After flashing you'd have to disconnect the flash cable and shut down the PC with the ZDMA board inside it for like 10s. Then start it again. Also make sure you have the latest PCILeech version from the Releases section: https://github.com/ufrisk/pcileech/releases/download/v4.17/PCILeech_files_and_binaries_v4.17.7-win_x64-20240519.zip

If it's a newly installed PC you run PCILeech on you'd also have to install the Windows kernel driver, but this should not be necessary if it was working before.

Also ensure the cable is moved to the Thunderbolt port if it was previously used for flashing.

Yup all of that was checked/done.
I talked with support and we tried a lot of stuff, the problem in the end was the cable they send with the card, switching to a different cable got it working.

Thank you for your time, I will update the original comment for anyone that comes across this issue.

ufrisk commented 2 months ago

Awesome to see the issue was resolved and thanks for letting me know. I would never had guessed it was the cable.

hocuspocus97 commented 2 months ago

once again thank you for the help, if you have an ether address send it to me and I will donate

Awesome to see the issue was resolved and thanks for letting me know. I would never had guessed it was the cable.

ufrisk commented 2 months ago

Thanks. Unfortunately I don't. I really with to keep everything "by the book" around this project. Doing that with crypto would result in way too much tax unfortunately so I'd rather not accept it.

Only way to donate currently is with Github Sponsors here on Github. It's quite nice since they don't take any fees. But a CC is required I think :\

hocuspocus97 commented 2 months ago

That's unfortunate. I'll try to donate next paycheck then.