Question

HxD (éditeur hexadécimal) permet de rechercher / afficher / modifier la RAM.

Comment puis-je protéger un fichier EXE contre un tel éditeur? Les données sont cryptées dans INI / registry / DB, mais est décodé à la RAM.

Quelle est la solution? Au moment du décodage, utilisez et recodez les données dans la RAM dès que possible?

Était-ce utile?

La solution

Vous essayez de retenir la mer avec une cuillère à thé.

Ce type de "protection de la mémoire" est ce que le bon (mal?) malware fait. J'ai assisté à des démonstrations en direct sur la manière de briser ce type de "protection". C'est finalement inutile - à un moment donné, votre texte en clair doit être disponible pour exécution par l'ordinateur. Un programmeur / ingénieur inversé compétent peut facilement trouver quand le texte en clair devient disponible, puis mettre en pause le programme et examiner la mémoire du processus à loisir.

C’est le même problème que la RIAA rencontre avec DRM: les exigences sont défectueuses. Vous voulez cacher votre programme à vos utilisateurs, mais pour qu'ils puissent l'utiliser, ils doivent avoir le texte en clair à un moment donné.

Votre seul salut possible TPM , mais ils sont si rares sur le marché grand public que votre base d'utilisateurs sera réduit à un chiffre.

Autres conseils

Vous pouvez utiliser un protecteur exe comme Themida (qui rendra même l'affichage de la mémoire difficile), mais souvenez-vous que les utilisateurs vous haïront pour cela. N'oubliez pas non plus que Themida, comme tous les autres protecteurs, est régulièrement fissuré, malgré ce que prétendent les éditeurs de tels logiciels.

Bref: il n’existe aucun moyen de prévenir l’ingénierie inverse.

Je ne sais pas trop s'ils le font à ce niveau, mais KeePass , une source ouverte gestionnaire de mot de passe, prétend prendre tous les soins disponibles pour cacher les mots de passe de l'enquête. Cela peut être intéressant de voir comment ils font ça ...: -)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top