2010-01-22 5 views
0

Je souhaite sceller une application .net avant de la distribuer à l'utilisateur.Exécuter une application cryptée

Mon but est de sceller l'application "app.exe + * .dll" et d'empêcher l'utilisateur de charger l'application à l'exception d'un chargeur d'application "Process.Start (app.exe)", l'idée est d'empêcher le l'utilisateur de charger l'application en double-cliquant sur "app.exe".

J'ai trouvé une application appelée "CodeVeil" mais ce que je veux, c'est quelque chose qui n'est pas intégré dans l'application.

Le chargeur d'application et l'application sont tous deux locaux sur le PC client.

+4

peut-être votre application pourrait nécessiter une sorte d'argument de ligne de commande secrète pour démarrer? Notez que pratiquement toute solution serait ridiculement facile à casser. –

+0

Je pense que je vais aller avec votre solution. Je crois que c'est le genre de sécurité que je recherche. Pouvons-nous poster ceci dans la section des réponses pour que je puisse le marquer. –

+0

@DrJokepu: Tout le monde assez intelligent pour démarrer Process Explorer ou un outil similaire casserait votre "protection" en une seconde juste en regardant la ligne de commande de l'application protégée. –

Répondre

1

Cela dépend de la force avec laquelle vous voulez que cette vérification soit effectuée.

Les choses les plus simples qui pourraient éventuellement travailler sont:

  • Examinez l'arbre de processus pour connaître le processus qui a commencé votre processus
  • passe dans un argument sur la ligne de commande et chercher. Quand quelqu'un double clique, cela ne sera pas présent

Si vous essayez simplement de sauver des personnes qui cliquent sur les mauvaises choses, puis-je demander pourquoi? Etes-vous en train d'essayer de mettre en œuvre une forme de solution de licence? Si c'est le cas, aucune des solutions ci-dessus ne présentera de défi quelconque à un kiddie Reflector.

Je recommanderais d'ajouter beaucoup plus de détails à votre question afin que les gens puissent vous donner une réponse à votre problème global plutôt qu'une simple solution à un petit fragment de celui-ci.

Questions connexes