FILES - lists a 1 line description of the files in this directory Read through keyextract.pl to see how it works, but here is a short description. A database of words (keydd.db) is imported and the output of a keylogger (../xtrapdei-0.2/xtrapdei) is parsed as to extract features for any of the words in the databased. A circular buffer (size=max word length in database) is kept and when a word matches the features are printed out. If you have a word that is a sub-word of another, the features of both are printed out (i.e., it's not just a greedy search). The code is not as clean as I'd like it to be and the current default features are limited to: total duration, Press(i+1)-Press(i), Release(i+1)-Release(i), Press(i+1)-Release(i), Release(i)-Press(i), but you can modify (new, add_key, vec) in xWord.pm to add any features; I wrote the code so that such modifications can be easily integrated. I might update the whole feature extration code to provide for function pointers of additional features. I would suggest using this with xtrapdei, but you can use it with any other keylogger. Note, however, that the expected output of the keylogger is: [Window=$string|Event=$keyevent|type=$d|keycode=$d|keysym=$d|char=$char|screen=$d|rootXY=($x,$y)|root=$d|state=$d|time=$t]] Where: $string is a string. $d is a number. $keyevent is a string: 'KeyPress' or 'KeyRelease'. $char is the character pressed/released. $x x-position of mouse. $x y-position of mouse. $t is the time. =================================================================================== EXAMPLE =================================================================================== Database (keydd.db): =================================================================================== http:// http://www http://www. http://www.google.com google google.com dimacs deianstefan DIMACS rutgers cooper danfeng yahoo.com mail.google.com https://mail.google.com http://gmail.com https://dimax.rutgers.edu https://dimax.rutgers.edu/REU =================================================================================== Typed input: =================================================================================== deianstefan DIMACS deianstefan http:/// http://google.com http://www.google.com http://............. danfeng.............rutgers......cooper....... =================================================================================== Output of extractor: =================================================================================== deianstefan: 984, 128, 128, 72, 80, 144, 48, 104, 128, 88, 152, 96, 96, 96, 128, 64, 88, 104, 72, 136, 56, 48, 96, 40, 136, 128, -8, 160, 96, 96, 120, -8, -32, -32, 56, -16, -56, 56, -32, 8, -32, -104 DIMACS: 624, 128, 160, 152, 88, 144, 104, 96, 80, 56, 112, 176, 128, 72, -8, 168, 136, -32, -80, -96, 24, 32 deianstefan: 976, 128, 120, 72, 88, 96, 40, 120, 144, 120, 128, 96, 64, 88, 128, 80, 112, 72, 80, 120, 88, 48, 56, 40, 144, 88, 56, 152, 104, 96, 96, 16, -64, -32, 56, -8, 16, 32, -40, -24, -32, -80 http://: 1376, 72, 104, 144, 88, 80, 88, 96, 56, 152, 216, 232, 360, 264, 88, 192, 160, 224, 368, 272, -16, 48, 72, 144, 280, 176 http://: 1376, 72, 104, 144, 88, 80, 88, 96, 56, 152, 216, 232, 360, 264, 88, 192, 160, 224, 368, 272, -16, 48, 72, 144, 280, 176 http://: 1288, 104, 80, 112, 128, 136, 64, 112, 72, 160, 168, 360, 272, 144, 48, 192, 184, 368, 200, 192, -32, 80, 56, 232, 136, 80 http://: 1288, 104, 80, 112, 128, 136, 64, 112, 72, 160, 168, 360, 272, 144, 48, 192, 184, 368, 200, 192, -32, 80, 56, 232, 136, 80 google.com: 944, 96, 64, 80, 112, 72, 128, 80, 136, 144, 128, 80, 136, 64, 120, 80, 72, 112, 72, 80, 48, 152, 96, 80, 136, 24, 168, 80, 64, -16, 72, -16, 8, 8, -56, 32, -64, -64 google.com: 944, 96, 64, 80, 112, 72, 128, 80, 136, 144, 128, 80, 136, 64, 120, 80, 72, 112, 72, 80, 48, 152, 96, 80, 136, 24, 168, 80, 64, -16, 72, -16, 8, 8, -56, 32, -64, -64 http://www.: 2064, 96, 80, 112, 136, 104, 72, 136, 112, 96, 128, 144, 72, 152, 120, 256, 200, 144, 128, 184, 192, 472, 56, 184, 144, 224, 168, 208, 104, 168, 224, 488, -24, 72, 8, 120, 96, 72, -8, 72, 96, 344 google.com: 984, 88, 64, 112, 120, 96, 128, 88, 128, 144, 128, 72, 128, 96, 112, 88, 96, 104, 72, 88, 48, 176, 104, 88, 120, 56, 144, 88, 72, -16, 64, -16, -8, -8, -32, 16, -56, -56 danfeng: 1400, 160, 120, 144, 80, 120, 96, 144, 88, 80, 824, 72, 144, 48, 48, 104, 760, 112, 120, 96, -72, -40, 680, -8, 24, -48 rutgers: 904, 120, 152, 80, 88, 152, 112, 128, 104, 112, 184, 120, 88, 168, 136, 40, 192, 184, 48, 184, -16, -40, 104, 32, -64, 56 cooper: 624, 136, 56, 176, 152, 152, 168, 120, 128, 88, 64, 56, 40, 248, 64, 64, 72, -16, 72, -88, -88, -96 ===================================================================================