Om diverse redenen heb ik in mijn sourcecode wat hardcoded SQL-server scripts zitten, dat moet zo blijven (het is overigens VB6).
Nu is het probleem dat na het compilen (zowel P als Native code) de Strings gewoon zichtbaar zijn in de exe. Gewoon met een hexeditor, de strings staan dan netjes achter elkaar in uncode.
Dat wil ik niet. Op die manier is het mogelijk om de scripts te extracten of zelfs de exe te wijzigen. Aangezien consultants mijn progje moeten gaan gebruiken en die alle manieren aanpakken om de voorgeschreven werkwijze te verstieren wil ik dus die strings niet zichtbaar hebben.
De volgende opties heb ik zelf bedacht:
Nu is het probleem dat na het compilen (zowel P als Native code) de Strings gewoon zichtbaar zijn in de exe. Gewoon met een hexeditor, de strings staan dan netjes achter elkaar in uncode.
Dat wil ik niet. Op die manier is het mogelijk om de scripts te extracten of zelfs de exe te wijzigen. Aangezien consultants mijn progje moeten gaan gebruiken en die alle manieren aanpakken om de voorgeschreven werkwijze te verstieren wil ik dus die strings niet zichtbaar hebben.
De volgende opties heb ik zelf bedacht:
- Gewoon de ascii waardes van ieder karakter in de string bij elkaar optellen en die waarde vergelijken opnieuw met de waarde van de string in de exe bekijken.
Voordeel: de exe kan niet worden gewijzigd. Als er een karakter wordt gewijzigd, signaleerd de exe dit zelf.
Nadeel:
1. Bij iedere wijziging aan de string in de code, moet dat getal opnieuw worden uitgerekend, wat nogal omslachtig is.
2. De scripts kunnen nog steeds uit de exe worden gehaald. - Het script encrypten en dan in code plakken.
Voordeel: Script niet of nauwelijks in de exe te wijzigen en te extracten
Nadeel: code niet meer leesbaar