# Linux Malware Detect v1.3.9
# (C) 2002-2011, R-fx Networks <proj@r-fx.org>
# (C) 2011, Ryan MacDonald <ryan@r-fx.org>
# inotifywait (C) 2007, Rohan McGovern <rohan@mcgovern.id.au>
# This program may be freely redistributed under the terms of the GNU GPL v2
$named_pipe_name = "/opt/maldetect/hexfifo";
if (-p $named_pipe_name) {
local $SIG{ALRM} = sub { die "alarm\n" }; # NB: \n required
if (sysopen(FIFO, $named_pipe_name, O_RDONLY)) {
while(my $this_line = <FIFO>) {
$errormsg = "ERROR: Failed to open named pipe $named_pipe_name for reading: $!";
$errormsg = "Timed out reading from named pipe $named_pipe_name";
$errormsg = "Error reading from named pipe: $!";
$dat_hexstring="/opt/maldetect/sigs/hex.dat";
open(DAT, $dat_hexstring) || die("Could not open $dat_hexstring");
foreach $hexptr (@raw_data) {
($ptr,$name)=split(/:/,$hexptr);
if ( grep(/$ptr/, $instr) ) {