Vraag & Antwoord

Programmeren

Beveiliging (en het kraken ervan)

8 antwoorden
  • Hallo, Ik ben op het moment bezig met de beveiliging van mijn programma's en de bestanden die ze gebruiken, en nu vraag ik me het volgende af. In hoeverre is het mogelijk om ... 1. de sourcecode van een programma uit de executable te halen (decompileren dus)? 2. de waarden van variabelen binnen programma's tonen en wijzigen terwijl het programma draait? 3. delen van programma's veranderen zonder dat je de oorspronkelijke sourcecode hebt? Als ik met Google wat rondzoek kom ik talloze sites met "fast and flexible decompilers" en "game cheaters" tegen die dit allemaal beweren te kunnen, maar kan het ook echt allemaal zo makkelijk?
  • Decompileren gaat meestal niet, behalve bij bijvoorbeeld java. Die kun je volledig decompileren. Bij normale executables zoals die bijvoorbeeld door een C compiler worden geproduceerd kan dit niet. Wat wel mogelijk is is disassemblen, een veel gebruikt programma hiervoor is [url=http://www.datarescue.com/idabase/index.htm]IDA Pro[/url]. Kijk maar eens naar [url=http://www.datarescue.com/idabase/pix/idalarge.gif]de screenshot op hun site[/url], om een indruk te krijgen van wat het zo ongeveer doet. Waarden van variabelen kun je altijd zien en zelfs wijzigen. Ze staan immers in het geheugen van je computer en kan door ieder programma (mits toegestaan het OS) worden uitgelezen of gewijzigd. Ook het wijzigen van je programma door derden behoort tot de mogelijkheden. Maar is alleen niet erg makkelijk en je zult hierbij verstand moeten hebben van x86 instructies (assembler). Dit wordt bijvoorbeeld gedaan bij het maken van cracks voor programma's of spellen. Kortom, makkelijk is het niet. Maar het gaat wel. Denk er ook aan dat je alleen Release-versies verspreidt een geen Debug-versies want daar zit een hoop extra informatie in zoals namen van variabelen etc.
  • Je kan het de decompileerder wel veel moeilijker maken door je [url=http://en.wikipedia.org/wiki/Code_morphing]code te morphen[/url]. Hiervoor lever je wel wat performance in. De vraag is echter of je wel zo ver wilt gaan om je programma te beschermen.
  • Hmmm... Het gaat me eerder om de resources dan om de pure broncode.
  • Resources kun je bekijken met software als [url=http://www.heaventools.com/overview.htm]PE Explorer[/url].
  • Hallo! Ik heb met de demoversie van IDA PRo mijn eigen programma gedisassembleerd, en die zou ik nu ook wel eens willen assembleren. Niet dat ik heel veel snap van assembly, maar ik wil er toch eens mee "spelen". Kan dat ook, de code die IDA Pro maakt weer omzetten in een executable?
  • Wijzigingen kun je gewoon in IDA aanbrengen en vervolgens opslaan, probleem is echter dat dat niet in de demo versie werkt. Misschien dat er binnenkort bij jou in de buurt een vrachtwagen rijdt die wat IDA Pro versies laat vallen? ;) Ik weet niet in hoeverre het mogelijk is om een complete assembly-uitlijsting te krijgen van het programma die dan weer te assembleren is met een assembler.
  • Ik heb al in de helpfile (of de website misschien) gelezen dat IDA alleen DOS-executables kan exporteren, maar dat geeft niet zo veel, want ik kan toch niets met assembly-code. En ach, die demo-versies.... Laten we dan IDA Pro maar cracken door het met zichzelf te disassembleren. :)

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.