From 2391e74bd29ee62c00472f60260c4e07770e7b9c Mon Sep 17 00:00:00 2001 From: Paul Gardner-Stephen Date: Wed, 24 Apr 2019 09:20:53 +0930 Subject: [PATCH] begin implementing similarity comparison tool. --- Makefile | 3 ++ src/similarity.c | 82 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 85 insertions(+) create mode 100644 src/similarity.c diff --git a/Makefile b/Makefile index cb7fb9db..b7cdd314 100644 --- a/Makefile +++ b/Makefile @@ -6,6 +6,9 @@ src/collect_data: src/collect_data.c Makefile src/preprocess: src/preprocess.c Makefile gcc -g -Wall -o src/preprocess src/preprocess.c +src/similarity: src/similarity.c Makefile + gcc -g -Wall -o src/similarity src/similarity.c + src/make_error_tables: src/make_error_tables.c Makefile gcc -g -Wall -o src/make_error_tables src/make_error_tables.c diff --git a/src/similarity.c b/src/similarity.c new file mode 100644 index 00000000..5ea97635 --- /dev/null +++ b/src/similarity.c @@ -0,0 +1,82 @@ +/* + Simple program to find matching strings between two binaries + and report on the statistics of their lengths, and show the + longer ones. Used to defend against copyright infringement + claims. +*/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define MAX_SIZE 8192 +int matches[MAX_SIZE]; + +int main(int argc,char **argv) +{ + if (argc!=3) { + fprintf(stderr,"usage: similarity \n"); + exit(-1); + } + + for(int i=0;i