Binary Recompilation Via Dynamic Analysis And The Protection Of Control And Data-Flows Therein