mars 11, 2022

Hackarna bakom sprickbildning, Del 1: Hur man kringgår Programvaruregistrering

om du någonsin undrat hur programvara pirater kan ta programvara och knäcka det gång på gång, även med säkerhet på plats, är denna lilla serie för dig. Även med dagens mest avancerade metoder för att besegra piratkopiering på plats är det fortfarande relativt lätt att knäcka nästan alla program i världen. Detta beror främst på datorprocessernas förmåga att manipuleras fullständigt av en monteringsfelsökare. Med hjälp av detta kan du helt kringgå registreringsprocessen genom att göra det hoppa över programmets nyckelkodverifieringsprocess utan att använda en giltig nyckel. Detta fungerar eftersom montering kan du tala direkt till processorn och tvinga en hoppa över registreringsprocessen.

i denna Null Byte, låt oss gå över hur sprickbildning kan fungera i praktiken genom att titta på ett exempelprogram (ett program som inte tjänar något annat än för mig att hacka). Jag kommer inte att gå igenom hur man faktiskt knäcka ett legitimt program, eftersom jag inte bara kan knäcka ett program för demonstration, men de tekniker som tillämpas på mina exempel bör ge dig den grund som behövs för att skapa din egen. Vid den tiden är det ett test av din moral om du vill använda din kunskap för gott eller dåligt.

krav

  • Windows (endast för exempel finns felsökare över plattformar)
  • en felsökare installerad: Ida, ollydbg, etc. (ollydbg kommer att användas i exempel)

Steg 1 testa programmet

kör först programmet som du försöker omvända och försök att aktivera det med en slumpmässig nyckel för att verifiera att du behöver en giltig programvarunyckel för att fortsätta. Detta för att verifiera att vi kan komma med nycklarna.

steg 2 Kör programmet i en Debugger

  1. kör ollydbg.
  2. öppna programmet du vill kringgå med ollydbg.
  3. klicka på play-knappen för att köra programmet med felsökaren bifogad.
  4. högerklicka på CPU-fönstret och klicka på Sök efter > alla intermodulära samtal.
  5. Sök efter dll-filer med hög ränta. GETDLGITEMTEXT, kommer att vara för dialogrutor, som kallas när du försöker ange en programvarunyckel. Genom att gå in i funktionen med felsökaren kan vi undersöka registreringen specifikt. SENDDLGITEM kan också användas.
  6. testa för att se vilken som fungerar för att bryta ut ur aktiveringsslingan genom att högerklicka på DLL-samtalet och ställa in en brytpunkt för alla instanser av det samtalet.
  7. återuppta programmet och ange vilken programvarunyckel du känner för. Om felsökaren bryts (pausar programmets körning) efter att du har angett din nyckel, vet du att du hittade DLL i steg 5.
  8. tryck på F8 tillbaka i CPU-fönstret för att tvinga nästa steg tills du kommer till testet EAX. EAX är retur av ett värde, vilket innebär att en kontroll utförs här. Vid undersökning kan vi se att EAX kontrollerar ett tal som inte är lika med ett null-värde. Det betyder att om det ersätts med något annat än null, kommer det att köras.
  9. högerklicka på EAX och ändra det i hex-värde till 1 istället för 0.
  10. återuppta programmet igen,och du kommer att ha aktiverat programmet.Och för bevis var det registrerat för mig:

detta fungerar eftersom du får processen att hoppa från ett register och hoppa över det som verifierar den angivna nyckeln. För att utnyttja nyckelregistreringsalgoritmen, håll utkik efter del två i denna handledning om att göra nyckelgeneratorn. Hurra för montering!

  • posta till forumet
  • chatta på IRC
  • Följ på Twitter
  • cirkel på Google+

bild via msbyron27

Via hackarna bakom sprickbildning, Del 1: Hur man kringgår Programvaruregistrering på null-byte.wonderhowto.com.

Läs fler inlägg på WonderHowTo ”

Lämna ett svar

Din e-postadress kommer inte publiceras.