
PINT
#Application Protection#Application Security
A web security tool that scans for vulnerabilities and known attacks.
Pint: A PIN Tool for Lua Scripts
Pint is a PIN tool that provides access to the PIN API for Lua scripts. It operates on 64-bit Ubuntu and 32-bit Windows XP, and it is expected to function on 32-bit Ubuntu and 64-bit Windows XP as well, although this has not yet been tested. PIN is a dynamic instrumentation engine created by Intel. In essence, it serves as a Just-In-Time (JIT) compiler for binary files.
Disassembling and Recompiling Binaries with Pint
The process involves disassembling the binary, one basic block at a time, and then recompiling it by inserting additional instructions at chosen positions. Pint allows for the integration of Lua code at this stage.
Installation Instructions
On Windows, ensure that you have VC++2010 installed. Next, install Cygwin along with the following packages: ruby, patch, wget, and unzip. After installation, add C:\cygwin\bin to the %PATH% environment variable. Open a VC++ console window. Navigate to your preferred directory and execute the following commands: git clone "https://github.com/hexgolems/pint" followed by cd pint and ruby make.rb setup.
The setup target will download and build components
The setup target will download pin and lua, apply any necessary patches, and then build Pint.
The Final Pintool: Runner
The final pintool is named runner.dll. To execute your Lua script, use the following command: pin.exe -t runner.dll -s path/to/script -- binary_to_instrument.exe args for exe. If you are using Ubuntu, ensure that you have ruby1.9 installed along with git. Then, you can run the following commands: git clone "https://github.com/hexgolems/pint" and cd pint.