Maison >développement back-end >Golang >Comment puis-je supprimer les informations de débogage du code Go compilé pour empêcher la décompilation ?

Comment puis-je supprimer les informations de débogage du code Go compilé pour empêcher la décompilation ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-09 15:31:02868parcourir

How can I remove debugging information from compiled Go code to prevent decompilation?

Suppression des informations de débogage dans Go

Pour éviter la décompilation, il est essentiel de supprimer les informations de débogage du code Go compilé. Bien que le comportement par défaut du compilateur Go (gc) inclut des informations de débogage, il existe des méthodes pour les supprimer.

Solution utilisant -ldflags :

Utilisez l'indicateur -ldflags lors de la compilation :

go build -ldflags="-s -w"

Cet indicateur définit les indicateurs de l'éditeur de liens pour supprimer à la fois la ou les tables de symboles et les informations de débogage (-w).

Solution utilisant -trimpath :

De plus, avec Go 1.13 et supérieur, vous pouvez utiliser -trimpath pour réduire la longueur des chemins de fichiers stockés dans l'exécutable. Cela peut empêcher davantage les tentatives de décompilation.

go build -ldflags="-s -w -trimpath=/path/to/trim"

Remarque :

L'utilisation de gccgo n'est pas une solution viable car elle nécessite des informations de débogage pour fonctionner correctement. La suppression des informations de débogage avec l'indicateur -g entraînera un exécutable cassé. Par conséquent, les méthodes recommandées sont -ldflags et -trimpath.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn