J'ai écrit une bibliothèque C composée de quelques fichiers .h et de fichiers .c. Je le compile comme une bibliothèque statique.Meilleure pratique pour la distribution d'une API C masquant des fonctions internes
Je voudrais n'exposer que certaines fonctions à l'utilisateur et garder le reste aussi "obscur" que possible pour rendre l'ingénierie inverse raisonnablement difficile.
Idéalement ma bibliothèque comprendrait:
1- un fichier .h avec seulement les fonctions exposées à l'utilisateur
2- myLibrary.a: comme non reversengineerable possible
Qu'est-ce que sont les meilleures pratiques pour cela? Où dois-je regarder, y at-il un bon tutoriel/livre quelque part?
Plus précisément:
pour - 1
J'ai déjà tout mon .h et .c travail et je voudrais éviter les changer autour, les déclarations de fonction de déplacement .h à .c et aller en références circulaires pbs potentiels. Est-ce possible?
Par exemple, est-ce une bonne idée de créer un nouveau fichier .h que je n'utiliserais que pour distribuer avec mon. Ce .h contiendrait des copies des fonctions que je veux exposer et transmettre des déclarations de types que j'utilise. est-ce une bonne idée?
pour - 2
a) ce que les drapeaux gcc (ou Xcode) je serai au courant (pour le décapage, de ne pas avoir des symboles de débogage, etc.) b) un bon pointeur pour en savoir plus sur la façon de faire obscurcissement de code?
Toute pensée vous aidera,
Merci, baba
Veuillez montrer du code que vous avez déjà écrit. Nous ne sommes pas votre service de codage personnel –