ikelos / pcileech Goto Github PK
View Code? Open in Web Editor NEWThis project forked from ufrisk/pcileech
Direct Memory Access (DMA) Attack Software
License: GNU General Public License v3.0
This project forked from ufrisk/pcileech
Direct Memory Access (DMA) Attack Software
License: GNU General Public License v3.0
Firstly, I've set up a repo so we can have longer discussions about getting this working.
Secondly, I've made the linux changes, but this time changed how I've done them slightly (I haven't added the list devices call I had previously, and I still put the function pointers in pfn attributes, rather than changing the call sites directly). I can now successfully get to the end of the DeviceFPGA_GetDeviceID_FpgaVersion call, but can't get DeviceFPGA_GetSetPHY to return True.
In the DeviceFPGA_GetDeviceID_FpgaVersion call, it goes past all the padding, successfully reads the FPGA_CMD_VERSION and FPGA_CMD_ID, but then is followed by more padding (causing the if(i > cbRX - 32) { goto fail; }
guard to error out). Getting rid of that check ensures it doesn't jump to fail, but it then calls DeviceFPGA_GetSetPHY which again gets a response, filled with padding, but the first point where the padding doesn't match gives a dwStatus of 0xffffdaf0 (which doesn't start 0xe as the check suggests it should).
I'm now not sure whether the dwStatus is a valid "something went wrong" status, or whether the earlier padding after the FPGA_CMD_* data came back is the problem? I can't tell from the documentation you put up how the padding fits into the response messages, but it seems just to be "ignore these values and continue. I'm happy to run tests and provide values of anything within the code (although my gdb is very weak, so if you can provide a list of gdb commands you want the result of it'd be much appreciated), but at the moment this is as far as I've gotten.
For completeness, when I get to the dwStatus test statement, i is 0x1000 (suggesting that the entire page before that is just padding and there is no response from the cmd message, or that it isn't in the amount read so far). Any thoughts as to where to go from here?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.