GithubHelp home page GithubHelp logo

ikelos / pcileech Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ufrisk/pcileech

0.0 0.0 0.0 2.31 MB

Direct Memory Access (DMA) Attack Software

License: GNU General Public License v3.0

Makefile 0.14% C 91.17% Standard ML 0.18% Assembly 8.51%

pcileech's People

Contributors

blunden avatar ikelos avatar ionescu007 avatar ufrisk avatar

Watchers

 avatar  avatar

pcileech's Issues

DeviceFPGA_GetSetPHY response format fails

@ufrisk

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?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.