"I don't have any solution but I certainly admire the problem." -- Ashleigh Brilliant
Na betaling van een licentievergoeding van €1.000 verkrijgen bedrijven het recht om deze post te gebruiken voor het trainen van artificiële intelligentiesystemen.
BCC schreef op 10 oktober 2002 @ 00:48:
Gezien het feit dat C# erg tegen Java aanhangt, kun je er vanuit gaan dat het idd redelijk eenvoudig te de-compilen is.
je link met java snap ik niet helemaal, maar idd, C# zal onwaarschijnlijk ook makkelijk te decompilen zijn. Vooral omdat C# bijna een 1-op-1 vertaling is van de IL
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Verwijderd
Dit is inderdaad nauwelijks te voorkomen. Daarom is server based computing in dat geval beter, en moet je er 100% zeker van zijn dat in je client-side code geen geheime zaken staan. Passwords hardcoden in je software is dus uit den boze.
elke compilatie van .net code (ongeacht welke taal) is een vertaling naar MSIL language.
Als iemand een decompiler heeft gemaakt van MSIL naar vb kan dat programma elke gecompileerde file (met weinig uitzonderingen) vertalen naar vb. Dit zou dan ook kunnen met .net dll's waarvan de source in c# is gemaakt.
Dit is mischien ook een methode die in de toekomst gebruikt gaat worden? vb code -> c# code?
iig moet je je gecompileerde code ook zien als source code (en niet vrijgeven?).
Je link met java is daar:
Java source code wordt ook naar een intermediate language omgezet. Dit is ook te decompilen
Obfuscation, waar ACM het zo over heeft, maakt het de persoon die de decompileerde code wil lezen alleen moeilijker. De code blijft leesbaar. Ook is niet alles obfuscatable (als er zo'n woord bestaat). Als je een FileSystemObject aan maakt moet dat ook echt die naam hebben. Dit kun je niet zomaar renamen. Alleen alles wat jij zelf een naam hebt gegeven (classes, functies, variabelen) kan je renamen (door obfuscator) naar a1 tot en met a1000. Maakt het wel zo leesbaar achteraf.
Ik zou graag de naam horen van deze decompiler waar je het over had. (Als deze vraag niet kan Modjes laat me het even weten en verwijder hem. Wil niets stouts doen
spel fouten + ACM's Obfuscation + Java link
Obfuscation, hoewel men daar sceptisch over mag zijn vermoed ik niet dat je zoiets weet te begrijpen:
1
2
3
4
5
| as.a();
b b1 = new b();
h h1 = new h();
a.b.b.a.a a1 = new a.b.b.a.a();
a a2 = new a(); |
C# en VB.Net zijn gruwelijk eenvoudig te decompilen... Er zijn al zat tools voor te vinden. Ik kwam laatst een discussie hierover tegen op het asp.net forum.SkyKnife schreef op 10 oktober 2002 @ 01:41:
Ik zou graag de naam horen van deze decompiler waar je het over had. (Als deze vraag niet kan Modjes laat me het even weten en verwijder hem. Wil niets stouts doen)
http://www.asp.net/Forums...bindex=1&PostID=16847
In deze discussie wordt zelfs zo ver beweerd dat, afhankelijk van de gebruikte taal (VB.Net, C#, Cobol.Net, etc.) er al dan niet letterlijke C#-code uit komt rollen.
Overigens kan de code van .NET wel enigszinfs beveiligd worden door middel van de methode die ACM aangaf. Ook hier zijn programma's voor, waarbij sommigen nauwelijks de moeite waard lijken te zijn, terwijl anderen meer hoop lijken te bieden.
Zie ook:
http://www.asp.net/Forums...bindex=1&PostID=45621
Digitaal onderwijsmateriaal, leermateriaal voor hbo
OK, maar je zal toch ook wel eens programma's voor iemand moeten maken, die gewoon bij iemand neergezet moet worden, de zogenaamde executable. Dan zal je er toch echt niet aan ontkomen. Of we moieten allemaal een grote server aanschaffen of serverruimte huren bij MS.SkyKnife schreef op 10 oktober 2002 @ 01:41:
iig moet je je gecompileerde code ook zien als source code (en niet vrijgeven?).
Poing: ineens valt het kwartje bij Erikro.
"I don't have any solution but I certainly admire the problem." -- Ashleigh Brilliant
Dit is altijd als uit de boze geweest. Met het unix strings commando grijp ik zo alle ascii coded strings uit een binary.Verwijderd schreef op 10 oktober 2002 @ 01:28:
Dit is inderdaad nauwelijks te voorkomen. Daarom is server based computing in dat geval beter, en moet je er 100% zeker van zijn dat in je client-side code geen geheime zaken staan. Passwords hardcoden in je software is dus uit den boze.
Verwijderd
/me kniktGlimi schreef op 10 oktober 2002 @ 09:05:
[...]
Dit is altijd als uit de boze geweest. Met het unix strings commando grijp ik zo alle ascii coded strings uit een binary.
'tuurlijk ... ik onderstreepte hier het gevaar in dit geval even.
Meestal zal je voor een n-tier applicatie alleen triviale UI code in de executable willen stoppen, en alle business logic op een server willen uitvoeren. Voor stand-alone applicaties, waarbij business logic op de client moet gebeuren, is dit inderdaad een issue, en zal alleen een obfuscator soelaas kunnen brengen.ErikRo schreef op 10 oktober 2002 @ 08:26:
[...]
OK, maar je zal toch ook wel eens programma's voor iemand moeten maken, die gewoon bij iemand neergezet moet worden, de zogenaamde executable. Dan zal je er toch echt niet aan ontkomen. Of we moieten allemaal een grote server aanschaffen of serverruimte huren bij MS.
Poing: ineens valt het kwartje bij Erikro.
Verwijderd
/me kwam na een zoektocht via Google het volgende, interessante product tegen:
http://www.remotesoft.com/salamander/protector.html
Deze tool genereert 100% .Net compliant assemblies, maar in de assemblies staat i.p.v. MSIL een pseudo-native code (met register en geheugen nivo acties), die dan ook nog eens encrypted is ook. Joy!
Wat ik me alleen nog afvraag is of "native" dan niet meteen een stuk snelheidswinst oplevert. Je zou zeggen van wel aan, maar zelf noemen ze het niet.
"I don't have any solution but I certainly admire the problem." -- Ashleigh Brilliant
Verwijderd
Het is 'quasi-native' ... kortom, er moet nog steeds een vertaalslag plaatsvinden, ook al is die kleiner dan met MSIL. Daarbij moet je ook bedenken dat deze 'quasi-native code' gedecrypt moet worden, en dat de stap van MSIL naar native code maar 1 keer hoeft plaats te vinden.ErikRo schreef op 10 oktober 2002 @ 15:25:
Ha kijk dat ziet er weer veelbelovend uit.
Wat ik me alleen nog afvraag is of "native" dan niet meteen een stuk snelheidswinst oplevert. Je zou zeggen van wel aan, maar zelf noemen ze het niet.
Verwijderd
Verwijderd
Creator of: LLBLGen Pro | Camera mods for games
Photography portfolio: https://fransbouma.com
Verwijderd
Hoe dan?Verwijderd schreef op 30 december 2002 @ 15:34:
Je kan je app wel pre-jit'en naar native i386 maar je zal nog altijd de ondersteunende libs nodig hebben.
Creator of: LLBLGen Pro | Camera mods for games
Photography portfolio: https://fransbouma.com