Download PIN
https://www.intel.com/content/www/us/en/developer/articles/tool/pin-a-binary-instrumentation-tool-downloads.html
https://software.intel.com/sites/landingpage/pintool/downloads/pin-3.24-98612-g6bd5931f2-msvc-windows.zip
https://software.intel.com/sites/landingpage/pintool/downloads/pin-3.27-98718-gbeaa5d51e-gcc-linux.tar.gz
Windows prep
- Unpack
pin-3.24-98612-g6bd5931f2-msvc-windows.zip
inC:\
- Unpack
ida83-pin-3.24-98612-g6bd5931f2-msvc-windows.zip
inC:\pin-3.24-98612-g6bd5931f2-msvc-windows\source\tools
Example for remote Windows tracing of Notepad (manual launch via a batch file):
C:\pin-3.24-98612-g6bd5931f2-msvc-windows\pin.exe ^
-t64 "C:\pin-3.24-98612-g6bd5931f2-msvc-windows\source\tools\idapin\idadbg64.dll" ^
-t "C:\pin-3.24-98612-g6bd5931f2-msvc-windows\source\tools\idapin\idadbg.dll" ^
-p 23946 -- "C:\Windows\notepad.exe"
Linux prep
- Unpack
pin-3.27-98718-gbeaa5d51e-gcc-linux.tar.gz
in/opt
- Unpack
ida83-pin-3.27-98718-gbeaa5d51e-gcc-linux.tar.xz
in/opt/pin-3.24-98612-g6bd5931f2-gcc-linux/source/tools
Example for remote Linux tracing of ls (manual launch via a shell script):
#!/bin/bash
/opt/pin-3.27-98718-gbeaa5d51e-gcc-linux/pin \
-t64 /opt/pin-3.27-98718-gbeaa5d51e-gcc-linux/source/tools/idapin/idadbg64.so \
-t /opt/pin-3.27-98718-gbeaa5d51e-gcc-linux/source/tools/idapin/idadbg.so \
-p 23946 -- /usr/bin/ls
Build info
- Windows → Visual Studio 2022 and pin-3.24-98612-g6bd5931f2-msvc-windows
- Linux → Ubuntu 23.04 and pin-3.27-98718-gbeaa5d51e-gcc-linux
The Windows build was completed from the Visual Studio GUI, i.e. by:
- Right-click on
idadbg.sln
→ Open With → Visual Studio 2022 - Build in Release mode for both Win32 and x64
- Build config: Windows 11 SDK 10.0.22621.0 and Visual Studio 2022 17.6.4