bonjour,
Je fais une manip qui à priori me parait anodile, mais qui rend mon code instable. J'ai un code assez complexe en C & C++ sous windows avec du Qt4.8 compilé avec gcc4.7. Et j'ai besoin de le protéger par un checksum que j'ai bricolé comme suit.
J'ai une chaine dont le contenu en dur me permet de me repérer dans le binaire de l'exe.
Avec un code externe je calcul la somme des octects dans l'exe excluant la partie contenant ma chaine. Puis j'inscrit en dur dans l'exe cette somme dans les derniers octects de la chaine en question.
Ainsi au démarrage de mon exe je refais ce checksum que je compare aux données inscrite dans la chaine. protégeant ainsi cette exe contre toute modification visant à le modifier.
Mais voila, mon code est trés stable tant que je n'ai pas inscrit la somme dans la chaine. Aussitot que j'ai le fait, il fonctionne mais finit toujours par se cracher à des endroits différents.
Je n'arrive pas à reproduire ce comportement instable en mode débug. Il y a t-il quelquechose dans la structure d'un exe sous windows que je détruit en modifiant une chaine via un code externe?
Merci de vos lumiéres
Partager