La semaine dernière, j'ai dû créer une petite interface graphique pour les devoirs. Aucun de mes camarades de classe ne l'a fait. Ils ont volé le mien d'où nous devions le télécharger, puis ils l'ont téléchargé à nouveau comme le leur. Quand j'ai dit à mon professeur que c'était tout mon travail, il ne m'a pas cru.
J'ai donc pensé à mettre une méthode inutile ou quelque chose à l'intérieur avec une preuve que je l'avais codé. J'ai pensé au cryptage. Ma meilleure idée jusqu'à présent:
String key = ("ZGV2ZWxvcGVkIGJ5IFdhckdvZE5U"); //My proof in base64
Pouvez-vous penser à d'autres meilleures façons?
encryption
WarGodNT
la source
la source
Réponses:
J'ai eu le même problème que vous il y a longtemps. Nous avions des machines Windows 2000 et téléchargions des fichiers dans un dossier réseau Novel que tout le monde pouvait voir. J'ai utilisé plusieurs astuces pour battre même les meilleurs voleurs: le filigrane d'espaces blancs; filigrane de métadonnées; caractères inhabituels; horodatage de confiance; mode opératoire. Voici-les dans l'ordre.
Filigrane d'espaces blancs:
C'est ma contribution originale au tatouage. J'avais besoin d'un filigrane invisible qui fonctionnait dans les fichiers texte. Le truc que j'ai trouvé était de mettre dans un modèle spécifique d'espaces entre les instructions de programmation (ou les paragraphes). Le fichier leur ressemblait: des instructions de programmation et des sauts de ligne. La sélection du texte avec soin montrerait l'espace blanc. Chaque ligne vide contiendrait un certain nombre d'espaces qui n'est évidemment pas aléatoire ou accidentel. (par exemple 17) En pratique, cette méthode a fait le travail pour moi parce qu'ils ne pouvaient pas comprendre ce que j'incorporais dans les documents.
Filigrane de métadonnées
C'est ici que vous modifiez les métadonnées du fichier pour qu'elles contiennent des informations. Vous pouvez intégrer votre nom, un hachage, etc. dans des parties invisibles d'un fichier, en particulier les EXE. À l'époque NT, les flux de données alternatifs étaient populaires.
Personnages inhabituels
Je vais jeter celui-ci juste pour les coups de pied. Une vieille astuce d'usurpation d'identité IRC consistait à créer un nom avec des lettres qui ressemblent au nom d'une autre personne. Vous pouvez l'utiliser dans le filigrane. La table de caractères dans Windows vous donnera de nombreux caractères inhabituels qui ressemblent à, mais ne le sont pas, une lettre ou un chiffre que vous pourriez utiliser dans votre code source. Celles-ci apparaissant à un endroit précis du travail de quelqu'un d'autre ne peuvent pas être accidentelles.
Horodatage fiable
En un mot, vous envoyez un fichier (ou son hachage) à un tiers qui lui ajoute ensuite un horodatage et le signe avec une clé privée. Toute personne souhaitant une preuve de la création d'un document peut se rendre auprès du tiers de confiance, souvent un site Web, pour vérifier votre preuve de l'heure de création. Celles-ci ont été utilisées dans des affaires judiciaires pour des litiges de propriété intellectuelle et constituent donc une forme de preuve très solide. C'est le moyen standard d'accomplir la preuve que vous recherchez. (J'ai d'abord inclus les autres car ils sont faciles, ils sont plus amusants et fonctionneront probablement.)
Cet article Wikipédia peut aider votre instructeur à comprendre vos preuves et la section des liens externes contient de nombreux fournisseurs, y compris des fournisseurs gratuits. J'exécutais des fichiers de test sur des fichiers gratuits pendant quelques jours avant de les utiliser pour quelque chose d'important.
Mode opératoire
Alors, vous avez fait quelque chose et vous avez maintenant une preuve non? Non, les élèves peuvent encore dire que vous leur avez volé l'idée ou une autre absurdité. Ma solution pour cela était d'établir, en privé, une ou plusieurs de mes méthodes avec mon instructeur. Je dis à l'instructeur de chercher les espaces, de rechercher certains symboles, etc. mais de ne jamais dire aux autres ce qu'était le filigrane. Si l'instructeur accepte de garder secrètes vos techniques simples, elles continueront probablement à bien fonctionner. Sinon, il y a toujours un horodatage fiable. ;)
la source
Si vos camarades de classe volaient votre code sur le site de téléchargement, je chiffrerais vos devoirs et enverrais la clé à l'enseignant. Vous pouvez le faire avec PGP si vous voulez être compliqué, ou quelque chose d'aussi simple qu'un fichier Zip avec un mot de passe.
EDIT: PGP vous permettrait de crypter / signer sans révéler votre clé, mais vous ne pouvez pas battre la simplicité de cisaillement d'un fichier Zip avec un mot de passe, alors choisissez simplement une nouvelle clé à chaque devoir. La beauté dans la simplicité :)
la source
Si vous donnez le code source à l'enseignant, ajoutez simplement un
serialVersionUID
à l'un de vos fichiers de classe qui est une version cryptée de votre nom. Vous pouvez le décrypter vous-même auprès du professeur.Cela ne veut rien dire pour les autres, juste pour vous. Vous pouvez dire que c'est un code généré, s'ils le volent, ils ne prendront probablement pas la peine de le modifier.
Si vous voulez le faire de manière élégante, vous pouvez utiliser cette astuce , si vous trouvez la graine aléatoire qui produit votre nom. :) Ce serait alors votre numéro , et partout où il apparaîtrait, cela prouverait que c'était vous qui créé ce code.
la source
//written by WarGodNT
par//Written by ImaCheata
.) Il est également peu probable que beaucoup d'entre eux sachent même que le svUID pourrait les détruire. Même si quelques-uns d'entre eux sont aussi intelligents; si la majorité de la classe triche, quelques-uns sont presque certains de se faire prendre. Au minimum, cela devrait être suffisant pour convaincre l'enseignant de ne pas mettre son processus en place.Cela s'est produit avec deux de mes étudiants qui vivaient dans le même appartement. L'un d'eux a volé le code source d'un disque laissé dans un tiroir de bureau.
Le voleur a légèrement modifié la source volée, pour que ce ne soit pas évident. J'ai quand même remarqué la similitude du code et examiné la source dans un éditeur. Certaines lignes avaient des espaces supplémentaires aux extrémités. La source de chaque élève avait le même nombre d'espaces supplémentaires.
Vous pouvez exploiter cela pour encoder des informations sans les rendre visibles. Vous pouvez encoder vos initiales ou votre carte d'étudiant à la fin de certaines lignes, avec des espaces.
Un voleur apportera probablement des modifications cosmétiques au code visible, mais peut manquer les caractères non visibles.
ÉDITER:
En y réfléchissant un peu plus, vous pouvez utiliser des espaces et des tabulations comme dits et dah en code Morse, et mettre votre nom à la fin de plusieurs lignes. Un voleur pourrait supprimer, réorganiser ou retaper certaines lignes sans détruire votre identification.
MODIFIER 2:
"La stéganographie en espace blanc" est le terme pour dissimuler des messages dans un espace blanc. Googler révèle cette implémentation open-source datant des années 90, utilisant l'encodage Huffman au lieu du code Morse.
la source
Cela me semble être un problème d'administration informatique. Chaque étudiant doit avoir sa propre zone de téléchargement qui n'est pas accessible aux autres étudiants.
L'enseignant serait un niveau supérieur, étant en mesure d'accéder à chaque dossier de téléchargement d'élève. Si ce n'est pas possible, utilisez @exabrial answer car c'est la solution la plus simple.
la source
La meilleure chose à faire est de compresser simplement le code source avec un mot de passe et d'envoyer le mot de passe par e-mail à l'enseignant.
Problème résolu.
la source
Utilisez un système de contrôle de version distribué (= autonome) , comme git . Cela pourrait aussi être utile.
Un historique des versions avec votre nom et vos dates peut être suffisamment convaincant.
la source
git filter-branch
été conçu pour des trucs dingues comme ça, ça ne devrait pas être facileQu'est-ce qui a été volé?
La source ? Vous pouvez y mettre des chaînes aléatoires (mais cela peut être changé). Vous pouvez également essayer d'ajouter un comportement spécial que vous ne connaissez que de vous (une pression spéciale sur une touche changera une ligne de couleur), vous pouvez alors demander à l'enseignant "les autres connaissent ce combo spécial?". Le meilleur moyen sera de planter le programme si un fichier vide inutile n'est pas présent dans l'archive après 5 minutes d'activité, vos camarades de classe seront trop paresseux pour attendre ce laps de temps.
Le binaire? Il suffit de comparer la somme de contrôle de chaque .class (vos camarades de classe sont trop paresseux pour réécrire les fichiers de la classe)
la source
Publiez simplement votre solution à la dernière minute. Cela ne donnera à personne le temps de le copier.
Et envoyez un commentaire à l'administrateur pour interdire aux étudiants de voir les devoirs d'autres étudiants.
la source
Si vous téléchargez le fichier dans un fichier .zip avec cryptage de mot de passe, n'importe qui peut simplement déchiffrer le mot de passe en téléchargeant le fichier .zip et demander à son processeur d'exécuter un million de requêtes s'il est aussi gros voleur de triche. Malheureusement, certains le sont et c'est facile à faire.
Votre source peut être consultée sur le serveur partagé par les autres étudiants. L'enseignant devrait vraiment vous donner votre propre répertoire crypté par mot de passe pour télécharger. Cela pourrait être fait facilement en ajoutant simplement des sous-domaines. Mais peut-être que l'enseignant vous autorisera à télécharger les fichiers sur votre propre serveur pour qu'il puisse y accéder.
Il est également possible de masquer le script afin qu'il ait un document.write ('Cette page a été écrite par xxxxx'), obligeant quiconque copie votre travail à ne pas pouvoir supprimer le crédit à moins de le déchiffrer au préalable. Mais la vraie réponse est que votre école doit donner à chacun de ses élèves ses propres répertoires protégés par mot de passe.
la source
Dans mon cas, mes professeurs sont venus avec une meilleure approche. Les questions qu'ils nous ont posées ont quelque chose à voir avec notre numéro d'enregistrement. Ex:
Ainsi, les réponses ou l'approche de la solution sont relativement différentes de chaque élève, ce qui oblige tous les élèves à faire leurs devoirs seuls, ou du moins à savoir comment pirater l'approche avec leur propre inscription [it peut être plus difficile que d'apprendre la lession;)].
la source