Hackerne bag Cracking, Del 1: Sådan omgår du Programmelregistrering
hvis du nogensinde har spekuleret på, hvordan pirates kan tage programmer og knække det igen og igen, selv med sikkerhed på plads, er denne lille serie noget for dig. Selv med nutidens mest avancerede metoder til at besejre piratkopiering på plads, er det stadig relativt let at knække næsten ethvert program i verden. Dette skyldes hovedsageligt computerprocessernes evne til at blive manipuleret fuldstændigt af en samlingsfejlfinder. Ved hjælp af dette kan du helt omgå registreringsprocessen ved at få den til at springe programmets nøglekodebekræftelsesproces over uden at bruge en gyldig nøgle. Dette fungerer, fordi samling giver dig mulighed for at tale direkte til processoren og tvinge et spring over registreringsprocessen.
i denne Null Byte, lad os gå over, hvordan revner kunne arbejde i praksis ved at se på et eksempel program (ET program, der tjener noget andet formål end for mig at hacke). Jeg vil ikke lede dig gennem, hvordan du rent faktisk knækker et legitimt program, fordi jeg ikke bare kan knække et program til demonstration, men de teknikker, der anvendes på mine eksempler, skal give dig det fundament, der er nødvendigt for at skabe dit eget. På det tidspunkt er det en test af din moral, hvis du vil bruge din viden til godt eller dårligt.
krav
- vinduer (kun for eksempler findes debuggere på tværs af platforme)
- en debugger installeret: IDA, ollydbg osv. (ollydbg vil blive brugt i eksempler)
Trin 1 Test programmet
Kør først det program, du forsøger at reverse engineering, og prøv at aktivere det med en tilfældig nøgle for at kontrollere, at du har brug for en gyldig programnøgle for at fortsætte. Dette er for at kontrollere, at vi kan komme med nøglerne.
Trin 2 Kør programmet i en Debugger
- Kør ollydbg.
- Åbn det program, du ønsker at omgå med ollydbg.
- Klik på knappen Afspil for at køre programmet med den vedhæftede debugger.
- Højreklik på CPU-vinduet, og klik på Søg efter > alle intermodulære opkald.
- Søg efter DLL ‘ er med høj interesse. GETDLGITEMTEKST, vil være til dialogbokse, som bliver kaldt, når du forsøger at indtaste en programnøgle. Ved at træde ind i funktionen med debuggeren kan vi undersøge registreringen specifikt. SENDDLGITEM kunne også bruges.
- Test for at se, hvilken der arbejder for at bryde ud af aktiveringssløjfen ved at højreklikke på DLL-opkaldet og indstille et breakpoint for alle forekomster af det opkald.
- Genoptag programmet og indtast en hvilken som helst programnøgle, du har lyst til. Hvis debuggeren går i stykker (sætter programmets udførelse på pause) efter indtastning af din nøgle, ved du, at du fandt DLL i trin 5.
- tryk på F8 tilbage i CPU-vinduet for at tvinge det næste trin, indtil du kommer til TESTØKSEN. EAK er retur af en værdi, hvilket betyder, at der udføres en check her. Ved undersøgelse kan vi se, at EAK kontrollerer for et tal, der ikke er lig med en null-værdi. Dette betyder, at hvis det erstattes med andet end null, kører det.
- Højreklik på EAK, og skift den i sekskantværdi til 1 i stedet for 0.
- Genoptag programmet igen, og du vil have aktiveret programmet.Og som bevis blev det registreret for mig:
Dette fungerer, fordi du får processen til at hoppe fra et register og springe over det, der verificerer den indtastede nøgle. For at udnytte nøgleregistreringsalgoritmen skal du holde øje med del to af denne tutorial om at lave nøglegeneratoren. Hurra for samling!
- indlæg til fora
- Chat på IRC
- Følg på kvidre
- cirkel på Google+
billede via msbyron27
via Hacks bag Cracking, Del 1: Sådan omgår du Programregistrering på null-byte.wonderhowto.com.
Læs flere indlæg på Vidunderhvordan “