1 Using IDE Windows
Iceman edited this page 2019-01-26 07:49:43 +01:00

Using a IDE for compilation of the Proxmark source code on windows you can use these instructions.

Install everything normally

Follow the instructions for each software.

Configure vscode

For the include you can define the vscode c config file like this: I just added : "${workspaceFolder}/include"

{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**",
                "${workspaceFolder}/include"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "compilerPath": "C:\\cygwin64\\bin\\clang-5.0.exe",
            "cStandard": "c11",
            "cppStandard": "c++17",
            "intelliSenseMode": "clang-x64"
        }
    ],
    "version": 4
}

Install GDB in Proxmark Mingw Environment

Once installed you'll need to install gdb. you must not install the latest version

pacman -S mingw-w64-x86_64-gdb  7.10-1 http://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-gdb-7.10-1-any.pkg.tar.xz   

And then you just need to create the launch.json.

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) Launch",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/client/proxmark3",
            "args": ["com 9"],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": true,
            "MIMode": "gdb",
            "miDebuggerPath": "PATH\\TO\\WHICH\\SHOULD\\FINISH\\WITH\\msys2\\mingw64\\bin\\gdb.exe",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        }
    ]
}

Adjust the Makefile

don't forget to change the client/Makefile

CC = gcc -g
CXX = g++ -g
LD = g++ -g

Put your breakpoints and let the magic begins :p

Thanks to the users @Gator96100 and @Rhodds for the writeup on the forum.