#! /bin/bash final_dec=0 final_guard_dec=0 guard=0x10000 #set -x cygcheck "$1" | while read -r file do objdump -p "$file" | sed -n -e '2 {s/^/ /; s/: .*$//; h}' -e '/ImageBase/ {s/ImageBase/ /; G; h}' -e '/SizeOfImage/ {s/SizeOfImage//; G; s/[\t\n]//gp; Q}' done | sort -k 2 | while read -r size base name do conflict="" base_dec=$(( 0x$base )) if [ "$final_dec" -ge "$base_dec" ] then conflict="CONFLICT End: $final_dec Start:$base_dec" else [ "$final_guard_dec" -ge "$base_dec" ] && conflict="GUARD CONFLICT End: $final_dec Start:$base_dec" fi echo $name $base $size $conflict final_dec=$(( 0x$base + 0x$size )) final_guard_dec=$(( $final_dec + $guard )) done