A method for providing solidified software in a computing environment
includes creating a new reference for a function in a function table;
copying an address of the function and associating the address with the
new reference; replacing the address associated with an old reference of
the function with a dummy address; and substituting each old reference in
normal code with the new reference, where injected code is not able to
execute in the computing environment. The function table entries can be
further randomized by reordering the entries, introducing intermediate
mappings, or providing non-operative entries. Alternatively, all or part
of the code of the function can be copied and moved to a different
storage location and associated with the new reference. The copied code
can be further randomized by the insertion of dummy code, utilizing
reverse peephole techniques, varying the size of the copied portion, or
interleaving non-operative code.