“.Net Reflector” zullen de meeste .Net’ers wel kennen (.Net assemblies details bekijken, analyseren, decompilen, etc):
http://www.aisto.com/roeder/dotnet/Download.aspx?File=Reflector
Voor dit mooie programma zijn ook allerlei “add ins” beschikbaar:
http://www.codeplex.com/reflectoraddins

1 ervan is “Reflexil”:
http://sebastien.lebreton.free.fr/reflexil/
Hiermee kan een assembly ook bewerkt worden! Bestaande code kan aangepast worden, of geheel vervangen worden door nieuwe code. Ik heb het zelf even getest met een Delphi.Net programma, en het werkt super.

Het is gebasseerd op Mono.Cecil, wat onderdeel is van het open source “Mono” project:
http://www.mono-project.com/Cecil

Een aantal voorbeelden hoe je een assembly kunt aanpassen:
http://www.codeproject.com/KB/msil/reflexil.aspx
http://blog.cumps.be/reverse-engineering-with-reflector-and-reflexil/

Wat wel even belangrijk is als je het zelf probeert: als je iets aangepast hebt, moet je in de tree van Reflector de assembly zelf selecteren. Dan pas kun je de wijzigingen opslaan :-) .

Nu kan het een en ander natuurlijk moeilijker gemaakt worden dmv “obfuscation”. Hiermee worden de originele namen vervangen door “abc”, code structuur iets aangepast (geen mooie “if then else” constructies, etc):
http://blog.cumps.be/obfuscation-making-reverse-engineering-harder/

Ook kun je “Code Signing” gebruiken om het nog moeilijker te maken, maar het is en blijft vrij eenvoudig mogelijk om een assembly aan te passen:
http://blog.cumps.be/code-signing-as-reverse-engineering-protection/

Veel succes ermee! :-)

Stem of voeg toe aanUitleg over het gebruik van deze icons :Voeg dit artikel toe aan Del.icio.us Voeg toe aan je Google bladwijzers Plaats dit bericht op Twitter Geef dit als tip aan je Hyves-vrienden Voeg toe aan je Facebook-profiel Deel met je LinkedIn-contacten Abonneer je op de RSS-feed van deze site Verstuur deze pagina per e-mail via Feedburner Print deze pagina of genereer een PDF-bestand