We zijn bezig met een vrij forse win32 applicatie te migreren naar dotnet.
Omdat een rewrite niet mogelijk is, is er gekozen voor het afscheiden en abstraheren van code en die o.a in dotnet classes te zetten die te benaderen zijn via COM interop.
So far so good. Nu is het zo dat je dan al je interfaces ook exposed. Dat is nog niet zo heel erg, maar die kun je natuurlijk via elke andere app ook makkelijk aanroepen.
Dit willen wij niet omdat derden dan hun eigen tooling kunnen gaan maken met onze business logic.
Nu heeft MS wel verschillende methoden om het wat strakker te maken allemaal, maar dan moet je alles strongnamed gaan maken en daar heb je met win32 binaries niet zo heel veel aan.
Eerste gedachtenkronkel die ik heb is dat voor het buildproces de source wordt aangepast. Daar is intern al tooling voor aanwezig, dus dat is niet zo'n heel groot probleem.
En dan dus een authenticatie systeem toevoegen een beetje in de geest van "hoi ik ben de echte app!" en dat dan de classes geinstantieerd mogen worden adhv een boolean die in elke class komt.
Daarna een obfuscater erover en dan klaar.
Het is een beetje houtje touwtje oplossing en het lijkt me niet dat wij de enige zijn met dit probleem.
Er zal waarschijnlijk al iets voor zijn alleen kan ik het niet vinden.
Mocht dit wel de manier worden, weet dan iemand of je bijvoorbeeld een COM/dotnet file na het obfuscaten nog werkt met SxS?
We zitten nog redelijk vroeg in het deployment proces, dus alle suggesties zijn welkom.
Omdat een rewrite niet mogelijk is, is er gekozen voor het afscheiden en abstraheren van code en die o.a in dotnet classes te zetten die te benaderen zijn via COM interop.
So far so good. Nu is het zo dat je dan al je interfaces ook exposed. Dat is nog niet zo heel erg, maar die kun je natuurlijk via elke andere app ook makkelijk aanroepen.
Dit willen wij niet omdat derden dan hun eigen tooling kunnen gaan maken met onze business logic.
Nu heeft MS wel verschillende methoden om het wat strakker te maken allemaal, maar dan moet je alles strongnamed gaan maken en daar heb je met win32 binaries niet zo heel veel aan.
Eerste gedachtenkronkel die ik heb is dat voor het buildproces de source wordt aangepast. Daar is intern al tooling voor aanwezig, dus dat is niet zo'n heel groot probleem.
En dan dus een authenticatie systeem toevoegen een beetje in de geest van "hoi ik ben de echte app!" en dat dan de classes geinstantieerd mogen worden adhv een boolean die in elke class komt.
Daarna een obfuscater erover en dan klaar.
Het is een beetje houtje touwtje oplossing en het lijkt me niet dat wij de enige zijn met dit probleem.
Er zal waarschijnlijk al iets voor zijn alleen kan ik het niet vinden.
Mocht dit wel de manier worden, weet dan iemand of je bijvoorbeeld een COM/dotnet file na het obfuscaten nog werkt met SxS?
We zitten nog redelijk vroeg in het deployment proces, dus alle suggesties zijn welkom.
Lekker op de bank