2008-10-18 11 views
1

Il existe des outils assez puissants comme SIMBL ou Airfoil/Instant Hijack qui utilisent l'injection de code. Dans la mesure où je comprends cela, ces outils injectent leur propre code dans d'autres programmes. Cette idée me semble dangereuse car cela semble avoir le potentiel de rendre un logiciel parfaitement stable fragile et "buggé". Cela semble également poser des risques de sécurité.l'injection de code est-elle mauvaise?

Ces outils doivent-ils être évités pour des raisons de stabilité ou de sécurité?

Répondre

2

Cela dépend de l'utilisation que vous en faites et de la qualité du code injecté. Il est possible d'avoir un code injecté parfaitement stable. En fait, lorsque je développais un logiciel tiers anti-triche pour les jeux, l'injection de code en faisait partie, et j'étais souvent capable de rendre les jeux plus stables en éliminant les bugs et les exploits que les développeurs de jeux originaux n'avaient jamais résolus. ne supporte plus le jeu. D'autre part, je serais probablement sceptique quant à l'injection de code tiers dans les logiciels de sécurité, d'audit ou de comptabilité d'entreprise.

1

Je crois qu'il ne se réfère pas seulement à kind of code injection pour le piratage ou la fissuration d'un système.

C'est aussi une technique souvent utilisée dans le monde java, avec des outils comme AOP ou IPojo.

Quand ils ont un sens, ils complètent le code actuel, ce qui leur permet:

  • à fonctionner dans un cadre donné (OSGI déclaratives Services pour iPOJO)
  • pour ajouter des fonctionnalités (services d'exploitation forestière pour AOP)

Tant que le code initial peut s'exécuter sans cette injection de code, la stabilité est moins un problème.

La stabilité et la sécurité - dans le cas de ces deux utilisations bienveillantes de l'injection de code - du code injecté doivent être évaluées dans un code de test distinct.