diff --git a/examples/mul/generate_cprogs.sh b/examples/mul/generate_cprogs.sh index a409850107eeb41a920965e489f0f3a490de39ea..4ee93dfb94072a776a4a11852c163c43a1e59033 100755 --- a/examples/mul/generate_cprogs.sh +++ b/examples/mul/generate_cprogs.sh @@ -39,7 +39,7 @@ create_prog() gcc -w $progname.c -o $progname.orig.exe - $PEASOUP_HOME/tools/ps_analyze.sh --step ilr=off --step p1transform=off $progname.orig.exe $progname.protected.exe + $PEASOUP_HOME/tools/ps_analyze.sh $progname.orig.exe $progname.protected.exe --step ilr=off --step p1transform=off --step concolic=off } for type1 in $types diff --git a/examples/mul/mul.ctmpl b/examples/mul/mul.ctmpl index f73522e05934f81f3b0223d5ed491e6491b91e5a..d7f63ea7801a5c56d1c9ff8e979de550fb24bdae 100644 --- a/examples/mul/mul.ctmpl +++ b/examples/mul/mul.ctmpl @@ -1,3 +1,6 @@ +#define INT_MAX 2147483647 +#define UINT_MAX 4294967295 + #TYPE1# #FUNCTION_NAME#(#TYPE1# x, #TYPE2# y) { #TYPE1# result = x * y; @@ -7,15 +10,94 @@ main() { - #TYPE1# x = 127; - #TYPE2# y = 0xFFFFFFFF; + #TYPE1# x; + #TYPE2# y; + + x = 0x7f; + y = 0x7f; + #FUNCTION_NAME#(x, y); + + x = 0x7f; + y = 0xff; + #FUNCTION_NAME#(x, y); + + x = 0x7f; + y = 0x7fff; + #FUNCTION_NAME#(x, y); + + x = 0x7f; + y = 0xffff; + #FUNCTION_NAME#(x, y); + + x = 0x7f; + y = 0x7fffffff; + #FUNCTION_NAME#(x, y); + + x = 0x7f; + y = 0xffffffff; + #FUNCTION_NAME#(x, y); + + x = 0x7fff; + y = 0x7f; + #FUNCTION_NAME#(x, y); + + x = 0x7fff; + y = 0xff; + #FUNCTION_NAME#(x, y); + + x = 0x7fff; + y = 0x7fff; + #FUNCTION_NAME#(x, y); + + x = 0x7fff; + y = 0xffff; + #FUNCTION_NAME#(x, y); + + x = 0x7fff; + y = 0x7fffffff; + #FUNCTION_NAME#(x, y); + + x = 0x7fff; + y = 0xffffffff; + #FUNCTION_NAME#(x, y); + + x = 0x7fffffff; + y = 0x7f; + #FUNCTION_NAME#(x, y); + + x = 0x7fffffff; + y = 0xff; + #FUNCTION_NAME#(x, y); + + x = 0x7fffffff; + y = 0x7fff; + #FUNCTION_NAME#(x, y); + + x = 0x7fffffff; + y = 0xffff; + #FUNCTION_NAME#(x, y); + + x = 0x7fffffff; + y = 0x7fffffff; + #FUNCTION_NAME#(x, y); + + x = 0x7fffffff; + y = 0xffffffff; + #FUNCTION_NAME#(x, y); + + x = 0xff; + y = 0xff; + #FUNCTION_NAME#(x, y); + + x = 0xffff; + y = 0xffff; #FUNCTION_NAME#(x, y); - x = 0x0FFFFFFF; - y = 0x0FFFFFFF; + x = 0xffffffff; + y = 0xffffffff; #FUNCTION_NAME#(x, y); - x = 0x0000007F; - y = 0x0000007F; + x = 255; + y = 255; #FUNCTION_NAME#(x, y); }