4

Par filigrane, je veux dire: Un tableau d'octets qui est en quelque sorte intégré dans un fichier .exe/.dll, qui peut être recherché. De nombreux programmes anti-piratage/anti-reverse engineering intègrent un système appelé "filigranes" en tant qu'auteur. Par exemple VMProtect.Comment fonctionne le "watermarking" dans les applications?

Comment ça marche? Si quelqu'un devait craquer et/ou copier le fichier binaire protégé, ce qui l'empêche exactement de retirer le filigrane. L'idée est que vous, en tant que créateur de votre logiciel, pouvez télécharger une copie piratée de votre propre programme, alors vous pouvez voir qui a fui/téléchargé cette copie. Qu'est-ce qui empêche exactement un attaquant de simplement scanner les filigranes et de les supprimer ??

Deuxième partie de cette question: On dit qu'un filigrane est (ou devrait être) inclus plusieurs fois à différentes positions aléatoires dans le binaire. Évidemment, ils ne sont pas complètement aléatoires. Parce que cela endommagerait le binaire de la même manière qu'un disque dur défectueux. Le programme ne peut pas remplacer le code dans le fichier binaire avec le filigrane, c'est certain. Comment le programme de protection peut-il inclure un filigrane dans différents emplacements (et aléatoires) du binaire? Comment ces emplacements sont-ils choisis?

Troisième partie: En supposant que j'ai un binaire filigrané. Comment le programme de protection recherchera-t-il ultérieurement les filigranes? Comment retrouve-t-il les filigranes?

Comment peut-il y avoir des informations incluses avec le filigrane (une petite chaîne, identifiant le propriétaire original de la copie)? L'information est-elle en quelque sorte cryptée dans le filigrane?

Répondre

1

Je ne sais pas ce que votre objectif est, mais:

  • watermarking est que vous décrivez mettre une séquence d'octets unique dans le
  • binaire la séquence d'octets mst être inséré avec soin pour ne pas faire le binaire inutilisable (dépend du type de binaire - .NET ou .jar ou .EXE natif, etc.)
  • la séquence d'octets doit être telle qu'elle soit difficile à identifier pour quiconque n'est pas familier avec ce système de tatouage spécifique (par exemple vous pourrait utiliser une sorte de http://en.wikipedia.org/wiki/Steganography)
  • tout cela rend très difficile à enlever watermarking lorsque l'on craque du logiciel
  • le programme de protection peut scanner pour filigrane, car il connaît l'algorithme et les touches utilisées pour watermarking
  • vous pouvez inclure quoi que ce soit dans un filigrane (en fonction de l'algorithme) ... le logiciel de tatouage devrait en quelque sorte le crypter avant de le mettre dans le filigrane (il pourrait même juste mettre un hachage dans le binaire au lieu de l'information réelle et être toujours capable de l'identifier) ​​
Questions connexes