ufrisk / pcileech

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

error: unknown type name ‘ULONG64’ #68

Closed blshkv closed 5 years ago

blshkv commented 5 years ago

Any idea why it can't be compiled?

gcc --version gcc (Gentoo Hardened 7.3.0-r3 p1.4) 7.3.0

make -j4 -C pcileech 
make: Entering directory '/var/tmp/portage/app-forensics/pcileech-3.6.2/work/pcileech-3.6.2/pcileech'
make: Circular pcileech <- pcileech dependency dropped.
gcc -c -o oscompatibility.o oscompatibility.c -I. -D LINUX -pthread `pkg-config libusb-1.0 --libs --cflags`
gcc -c -o pcileech.o pcileech.c -I. -D LINUX -pthread `pkg-config libusb-1.0 --libs --cflags`
gcc -c -o device.o device.c -I. -D LINUX -pthread `pkg-config libusb-1.0 --libs --cflags`
gcc -c -o device3380.o device3380.c -I. -D LINUX -pthread `pkg-config libusb-1.0 --libs --cflags`
In file included from pcileech.c:6:0:
pcileech.h:63:5: error: unknown type name ‘ULONG64’
     ULONG64 qwA;            // base address (DWORD boundry).
     ^~~~~~~
In file included from device3380.h:8:0,
                 from device3380.c:6:
pcileech.h:63:5: error: unknown type name ‘ULONG64’
     ULONG64 qwA;            // base address (DWORD boundry).
     ^~~~~~~
In file included from device.h:8:0,
                 from device.c:6:
pcileech.h:63:5: error: unknown type name ‘ULONG64’
     ULONG64 qwA;            // base address (DWORD boundry).
     ^~~~~~~
blshkv commented 5 years ago

The fix (workaround?) is to change it back to QWORD: https://github.com/ufrisk/pcileech/blob/master/pcileech/pcileech.h#L63

ufrisk commented 5 years ago

Thanks for this excellent bug report. I've fixed it and pushed the update here.

I missed this one, been doing a lot of development of windows-only file system recently and I haven't compiled any new Linux version (due to lack of changes) so I missed this one. I hope to remove the Memory Process File System from PCILeech and make a major refresh to it - including making it available as .so library in Linux as well some time early next year.