# FLIRT

FLIRT stands for [Fast Library Identification and Recognition Technology](https://hex-rays.com/products/ida/tech/flirt/in_depth). This technology allows IDA to recognize standard library functions generated by [supported compilers](https://hex-rays.com/products/ida/tech/flirt/compilers) and greatly improves the usability and readability of generated disassemblies. Of course, FLIRT can be combined with IDA’s usual interactivity to further improve the analysis. See this [Pascal](https://github.com/HexRaysSA/docs/blob/IDA-8.4/user-guide/signatures/supported-compilers/turbo-pascal.md) and this [Delphi](https://github.com/HexRaysSA/docs/blob/IDA-8.4/user-guide/signatures/supported-compilers/delphi.md) example as well.

## Automatic Unretouched Disassembly

![Automatic Disassembly](https://github.com/HexRaysSA/docs/blob/IDA-8.4/ida-features/flirt/assets/idaflirt.gif)

## Original Source Code

(some lines snipped for brevity’s sake)

```
offset = fread((char *)workblock...
do_after_key();
window(1,1,80,25);
gotoxy(1,25);
clreol();
printf("A sample of the re...
if( is_ok() == 2)
{ 
  enc_string_offset = 0;
  key_adjust(); 
}
window(1,1,80,25);
gotoxy(1,25);
clreol();
printf("Do you want to sav...
if(is_ok() == 1)             
  dump_to_disk();
    
```
