A method and system for producing multiple copies of an executable software
object, in which a copy is functionally identical to all other copies
while being structurally unique, alter the source code according to
parameters specified by a seed and a set of preferences. High-level source
code is translated to assembly code. Selected procedures from the assembly
code are blended to form larger procedures functionally equivalent to the
original procedures. Instructions within procedures are reshuffled, while
the original flow of execution is conserved. Dummy opcodes are
interspersed with executable instructions. The resulting modified code is
translated to object code and an executable object is constructed. The
invention is also embodied as a computer readable program product on a
computer readable medium. Each copy bears a unique fingerprint that allows
the producer of the product to exercise control over the use of the
software product and prevent unauthorized use and copying.
Um método e um sistema para produzir cópias múltiplas de um software executável objetam, em que uma cópia é funcionalmente idêntica a todas cópias restantes ao ser estrutural original, alteram o código de fonte de acordo com os parâmetros especificados por uma semente e por um jogo das preferências. O código de fonte high-level é traduzido ao código do conjunto. Os procedimentos selecionados do código do conjunto são misturados para dar forma aos procedimentos maiores funcionalmente equivalentes aos procedimentos originais. As instruções dentro dos procedimentos reshuffled, quando o fluxo original da execução for conservado. Os opcodes dummy interspersed com instruções executáveis. O código modificado resultante é traduzido ao código de objeto e um objeto executável é construído. A invenção embodied também como um produto readable do programa do computador em um meio readable do computador. Cada cópia carrega uma impressão digital original que permita que o produtor do produto exercite o controle sobre o uso do produto de software e impeça uso e copi desautorizados.