# 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://docs.hex-rays.com/9.0/user-guide/signatures/flirt/supported-compilers/turbo-pascal) and this [Delphi](https://docs.hex-rays.com/9.0/user-guide/signatures/flirt/supported-compilers/delphi) example as well.

## Automatic Unretouched Disassembly

![Automatic Disassembly](https://3101246880-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F7BOcMAWP0fQxJv6opQQC%2Fuploads%2Fgit-blob-b2052c47aa67af2a6b86ac3b7712a1a3cec07fc8%2Fidaflirt.gif?alt=media)

## 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();
    
```
