The disassembled code of an executable program can be represented as a graph representing the possible sequence of instructions (Control Flow Graph). Such a graph can be used to detect and classify (cryptographic) algorithms by analyzing its structure and its semantics. This approach differs from conventional methods used, which generally rely on constant detection. /grap/ is an open-source tool able to detect graph patterns, defined by the analyst, within an executable program. It can be used for detection of cryptographic algorithms with serviceable patterns. Our presentation details this technique and its use on AES and other algorithms. We will also present a new feature of grap allowing interactive creation of patterns directly within IDA.