/usr/lib/radare/bin/symdiff is in radare-common 1:1.5.2-6.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | #!/usr/bin/env perl
my $a=$ARGV[0];
my $b=$ARGV[1];
die "Usage: rsc symdiff [a-file] [b-file]\n"
if ($a eq "" or $b eq "" or $a eq "-h");
sub domybest {
unlink $tmpa;
unlink $tmpb;
exit 0;
}
sub ow_yeah {
foreach (@_) {
if (/[\||<|>]/) {
s/\s+//g;
if (/</) {
s/<//g;
print "<$_\n";
} else {
print "$_\n";
}
}
}
}
$SIG{INT}=\&domybest;
my $tmpa="/tmp/.a.$$.".int rand(0xfef);
my $tmpb="/tmp/.b.$$.".int rand(0xefe);
system("rabin -i $a | awk \'{print \$2}\' > $tmpa");
system("rabin -i $b | awk \'{print \$2}\' > $tmpb");
my @difflines=`diff -y $tmpa $tmpb`;
print "==> Imports:\n";
ow_yeah @difflines;
system("rabin -s $a | awk \'{print \$2}\' > $tmpa");
system("rabin -s $b | awk \'{print \$2}\' > $tmpb");
@difflines=`diff -y $tmpa $tmpb`;
print "==> Symbols:\n";
ow_yeah @difflines;
domybest;
|