Hvordan velge en digital kode for et program. Lisensnøkkel til et program eller spill. Fysisk hacking av programmet

Når du velger et passord, er det ingen som garanterer suksessen til denne bedriften). Imidlertid er det noen regler som kan øke sjansene dine for et gunstig resultat av denne saken betydelig.

Hvor du skal begynne

  1. Ofte kreves det ikke bare et passord, men også en pålogging. Hvis du prøver å finne en pålogging, for eksempel for å bryte deg inn på din kollegas datamaskin, bruk navnet hans. Hvis det ikke fungerer, se på hva denne personen kaller seg på sosiale nettverk (Twitter, Facebook, Vkontakte, etc.) - ofte fungerer det 100%.
  2. Se om det er begrensninger på lengden på passordet du skriver inn eller tegnene som brukes. Ofte må passordet være minst seks tegn langt og inneholde minst ett tall. Hvis du ikke vet, det er slike begrensninger, prøv å opprette din egen konto, for eksempel på nettstedet du velger passord for - under registreringen vil du bli fortalt om kravene til passord.
  3. Be om et hintspørsmål. Ofte har sidene for inntasting av passord denne funksjonen. Som regel brukes spørsmål som "mors pikenavn?", "Hva er navnet på kjæledyret ditt?", "Hvilken by ble du født i?" som spørsmål. etc. Dette vil innsnevres betydelig mulige alternativer ord, spesielt hvis du i det minste vet noe om personen!

Bruk triks

  1. Bare gjett passordet. Oftest bruker folk det samme standard passord. Listen deres har lenge vært kjent og blir kontinuerlig oppdatert). Nedenfor finner du de 25 vanligste passordene (ifølge Splash Data):
    passord
    123456
    12345678
    abc123
    qwerty
    ape
    slipp meg inn
    drage
    111111
    baseball
    Jeg elsker deg
    trustno1
    1234567
    solskinn
    herre
    123123
    Velkommen
    skygge
    Ashley
    Fotball
    jesus
    michael
    ninja
    mustang
    passord1

    Her er litt statistikk:
    4,7 % av brukerne bruker passord;
    8,5 % av brukerne velger ett av to alternativer: passord eller 123456;
    9,8 % av brukerne velger ett av tre alternativer: passord, 123456 eller 12345678;
    14 % av brukerne velger ett av de 10 mest populære passordene;
    40 % av brukerne velger ett av de 100 mest populære passordene;
    79 % av brukerne velger et av de 500 mest populære passordene;
    91 % av brukerne velger ett av de 1000 mest populære passordene.

  2. Bruk kjente utvalgsregler. Det er eksperimentelt fastslått at hvis et passord inneholder tall, vil det være tallet 1 eller 2, og det vil være på slutten av det. Dessuten, hvis passordet har en stor bokstav, vil det være helt i begynnelsen av ordet, etterfulgt av en vokal.
  3. En persons kjønn kan gi en pekepinn. Det er kjent at kvinner foretrekker å bruke personlige navn (navnet på ektemannen eller kjæresten) som passord, og menn foretrekker å bruke sine hobbyer og interesser (navnet på favorittidrettslaget, bilmerket, etc.).

Bruk informasjon som er relevant for personen

  1. Egennavn: navn på ektefeller, familiemedlemmer, kjæledyr, idrettsutøvere, barnas kallenavn, etc.
  2. Hobbyer og interesser: navn på favorittprogrammer, filmkarakterer, yrker, kulinariske retter, etc.
  3. Viktige tall og datoer: fødselsdag, adresse, telefonnummer osv.

Ansvarsfraskrivelse: alt skrevet nedenfor er skrevet utelukkende for utdannings- og forskningsformål, samt for å forstå mekanismene for beskyttelse mot hacking. Forfatteren anbefaler under ingen omstendigheter bruk denne informasjonen for hacking programmer.

I denne artikkelen vil jeg snakke om tre og en halv hovedmåter å hacke .NET-programmer på. Målet jeg forfølger er å hjelpe utviklere til å bedre forstå sikkerhetsmekanismene til programmene deres, dvs. identifisere de mest åpenbare truslene og iverksette passende tiltak (eller ikke).

Jeg vil ikke gå i detalj eller bruke komplekse hackingverktøy. Alt vil bli beskrevet "for dummies", dvs. alle verktøy vil være enkle, lett tilgjengelige og gratis. Og den viktigste vil være Reflector, en dekompilator av programmer for .NET

Som forsøkskanin valgte jeg Expresso – en analysator vanlig uttrykk. Dette programmet Det er gratis, lisensen ser ikke ut til å si noe om hacking, men uten registrering vil den bare fungere i 60 dager. Med andre ord, skaden ved å hacke dette programmet er minimal, og dets interne struktur er veldig godt egnet for trening. Jeg håper at forfatteren av dette programmet ikke vil bli fornærmet av meg.


Først et kort pedagogisk program om strukturen til .NET-programmet, for de som ikke er kjent med utvikling for dette rammeverket: all kode skrevet på et hvilket som helst .NET-språk (C#, Visual Basic, F#, Delphi.NET) er kompilert til et spesielt mellomspråk, vanligvis kalt IL eller MSIL. Dette er noe som en montør, bare veldig smart og med veldig kraftige instruksjoner. Og dette er i prinsippet det samme like språket som C#, bare syntaksen er dårligere (og det er flere muligheter). I tillegg bruker .NET-programmet aktivt metadata, d.v.s. all informasjon om klasser, metoder, egenskaper, attributter og alt annet lagres i den kjørbare filen.
De. faktisk er dekompilering av et program ikke et veldig riktig konsept i dette tilfellet. Det er allerede alt i åpen form, og verktøy i form av Reflector er engasjert i å bringe MSIL-konstruksjoner til de tilsvarende konstruksjonene til C# eller et annet språk, og øker lesbarheten til koden.

La oss gå videre til selve hackingen.

0. Tilbakestilling av prøveversjon

Faktisk er dette ikke engang et hack, men en semi-lovlig måte å forlenge levetiden til et inaktivert program. Den består i at det er et sted hvor datoen for første lansering lagres og endres/ødelegges. Etter dette kan du fortsatt bruke programmet frem til neste frist.

La oss se på testobjektet vårt med reflektor:
Etter å ha gått litt gjennom koden, finner vi en interessant linje i MainForm-konstruktøren


Åpne registerredigering, gå til HKEY_CURRENT_USER\Software\Ultrapico\Expresso og se følgende nøkler:


Vi sletter dem og får ytterligere 60 dager med arbeid.

Dette alternativet er selvfølgelig enkelt og åpenbart, men selv om det var mer komplisert, ville det tatt litt mer tid i reflektoren for å finne ut alle stedene hvor informasjon er skrevet og fjerne dem.

Råd til utviklere som vil prøve å skrive data til et skjult sted: skriv mer nøye, ellers kan alt bli problemer for vanlige brukere som av en eller annen grunn ikke har dette stedet, eller ikke har nok rettigheter til det.

1. Skrive keygen

Det mest forferdelige alternativet for utvikleren, og det mest behagelige for den onde sluttbrukeren. Programmet anser seg selv som lisensiert, ingen skumle bevegelser trenger å gjøres.

Vi åpner reflektoren og ser etter koden for klasser som inneholder lisens eller registrering, vi ser:

Når du skriver inn navn og kode, beregnes en hash etter navn og sammenlignes med koden.


Denne hashen bruker DES og alle slags prefikser


Byte konverteres til en streng ved hjelp av denne metoden.

Nå er alt klart, åpne IDE og kopier alle nødvendige kodebiter (eller implementer det selv). Alt som gjenstår er å finne ut hva verdiene til prefiks, suffiks og MyDES implementeringsparametere er. Jeg vil ikke gi dem, dette er tekniske detaljer.

Som et resultat genererer vi en nøkkel for et hvilket som helst navn og ser:


Bingo!

Beskyttelse mot nøkkelgener er enkel og åpenbar: bruk en form for asymmetrisk kryptering. De. gjør det slik at det ville være umulig å generere en kode uten å kjenne den private nøkkelen, og denne nøkkelen er kun plassert på ett sted - hos forfatteren av programmet.

2. Bruke en innpakning

Å kontrollere at lisensen er riktig er en ganske plagsom og langsom oppgave. Derfor sjekker programutviklere vanligvis lisensen én gang, og bruker deretter det resulterende flagget - gyldig/ugyldig (som et alternativ, hvor gyldig er den, hvis flere typer lisenser er tillatt, med forskjellig funksjonalitet). Her kan du spille på dette ved å bruke følgende algoritme:
  1. Indiker til programmet at lisensen allerede er verifisert
  2. Indiker til programmet at lisensen er riktig
Hvordan gjøre det? Jeg har allerede nevnt tilstedeværelsen av metadata i kjørbare filer i begynnelsen vil vi bruke dette. La oss se hvordan programmet lanseres og hvordan lisensen kontrolleres:


Det er ikke noe interessant med lanseringen, men sjekken viser at hvis programmet allerede er registrert, anser det at alt er i orden og gjør ikke noe videre arbeid for å fastslå riktigheten av lisensen.

La oss bruke dette:
La oss lage et nytt prosjekt, legge til Reference til Expresso.exe og kjøre det gjennom oss selv:


La oss se hva som skjedde:


Vel, hvem vil tvile på det.

I dette tilfellet viste alt seg å være enkelt, men hvis forfatteren av programmet hadde erstattet offentlige eiendommer med private, ville han bare ha måttet bruke Reflection for tilgang og alt ville ha kommet ned til det opprinnelige problemet.

Jeg tror det er klart hvordan du kan prøve å beskytte deg mot dette - sjekk lisensen med jevne mellomrom, se på miljøet som programmet kjører fra, gjør det umulig å angi den nødvendige variabelen.

Men alle disse beskyttelsene vil føre til at angriperen bruker

3. Fysisk hacking av programmet

Alt blir seriøst her. Hele programmet dekompileres til MSIL og monteres deretter tilbake fra det (husker du at jeg skrev at MSIL er samme språk som C#?). For å dekompilere trenger vi et verktøy fra SDK kalt ildasme, og for kompilering er kompilatoren fra .NET Framework ilasme.

Start ildasm, åpne Expresso.exe og lagre dumpen i en .il-fil. Vi finner den allerede diskuterte IsRegistered-metoden og legger til litt av koden vår (uten etiketter):

Så tar vi ilasm og setter alt sammen igjen (glem ikke å koble sammen ressursene).

Hva denne koden gjør: installerer ønsket navn for registrering (valgfritt), og returnerer status om at alt er i orden.
For å gjøre det klarere, er det slik det ser ut i reflektoren, i C#

De. Det er ganske åpenbart at nå vil alt bli bra:

Litt om koden i MSIL: det er en stabelmaskin som ikke har registre, alle operasjoner har formen: skyv det nødvendige antallet parametere inn på stabelen, utfør en funksjon som tar det nødvendige antallet parametere og setter resultatet. Vel, og omvendt: sett verdien av variabelen til det som er på stabelen. For bedre å forstå hvordan alt dette fungerer, anbefaler jeg en enkel teknikk: skriv et lite program på et kjent språk, kompiler det, se hva som skjer i MSILe og forstå språkkonstruksjonene.
Samtidig kan noen ting i MSIL gjøres veldig vakkert, for eksempel å bytte to variabler - 4 fine linjer (mindre i C#, men stygg).

Hva angriperen ofrer: signaturen til programmet, nå er det ikke lenger forfatterens, men hans. I noen tilfeller er dette et problem hvis programmet bruker mange biblioteker. Da må den onde hackeren demontere dem alle og sette dem sammen igjen, men hvis han takler dette, vil han ha "sin egen" signert versjon av programmet hans nøkkel.

Det er faktisk liten beskyttelse mot all denne skam: utfør tilsløring eller flytt deler av logikk-/sikkerhetskontrollene inn i den opprinnelige koden.

Konklusjon

Jeg tror jeg fortalte deg hvor lett alt kan bli ødelagt på .NET hvis skaperen ikke har gjort en innsats for å beskytte programmet sitt. Og du bestemmer om det er verdt å lage beskyttelse og bruke tid og ressurser på det. Eller kanskje bare lage et nettbasert system, eller en gratis begrenset versjon. Det er opp til utviklerne å bestemme.

Ulike generatorer (passord, kallenavn, tilfeldige tall og koder) er veldig populære, siden de er mye brukt av offentlige administratorer, organisasjonseiere og vanlige brukere til forskjellige formål.

Kampanjekodegenerator– en spesifikk tjeneste som kan brukes av eiere av organisasjoner og kommersielle foretak for å gjennomføre kampanjer og konkurranser.

For eksempel, ved å bruke en kampanjekode, kan det gis rabatter, gavekort kan være gyldige i butikker, og på andre tjenester kan de brukes til å gi tilgang til et bredere spekter av tjenester.

Valg

For de brukerne som bruker kampanjekoder ganske ofte, er det viktig å finne en funksjonell og praktisk generator som oppfyller alle krav.

Slike tjenester implementeres både som applikasjoner for sosiale nettverk(noe som er spesielt praktisk når du for eksempel gjennomfører kampanjer blant offentlige abonnenter), både online og i form av programmer installert på en datamaskin (noe som i de fleste tilfeller er helt upraktisk).

De er forskjellige i innstillinger og liste over funksjoner.

En riktig valgt generator kan betydelig forenkle prosessen med å organisere kampanjer og spesialtilbud, samt konkurranser.

Hovedtrekk

Alle populære (og ikke så populære) generatorer skiller seg fra hverandre i en rekke parametere.

Blant dem er slike indikatorer som antall tegn i koden, tilstedeværelsen av et prefiks og postfiks (som forenkler klassifiseringen og inndelingen av koder i grupper), brukt i osv.

I tillegg tilbyr ulike tjenester forskjellig antall koder for samtidig (ved å trykke på én knapp) generering.

Grunnleggende spesifikasjoner tjenestene omtalt nedenfor er vist i tabellen.

Tabell 1 . Sammenlignende egenskaper for ulike tjenester for generering av kampanjekoder
NavnTillatelsePrefiks, postfiksVelge symbolene som skal brukesVelge antall tegnRask generering av flere koder
GetEasyCode.ruGratis prøveversjon, betalt på forhåndJaJaJaJa
RandomiserGratisNeiJaJaJa
TakeTheCodeGratisKun prefiksJaJaJa
AkademiGratisNeiNeiNeiNei
Generator ukrbio.comGratisNeiBegrensetJaJa
Studio F1GratisNeiBegrensetJaJa
InglobalGratisKun prefiksBegrensetJaJa

Basert på disse egenskapene er det lettere å ta det riktige valget.

GetEasyCode.ru

Dette er et nettsted som laster raskt på én side med en generator som er rask og stabil.

Nesten alltid tilgjengelig.

Det viktigste kjennetegnet ved tjenesten– maksimal funksjonalitet og høy hastighet.

Menyen er enkel og intuitiv, designet er behagelig og distraherer ikke fra arbeidet.

  • Lar deg lage et prefiks og postfiks;
  • Du kan generere flere koder samtidig (fra 1 til 100);
  • Brukeren kan velge hvilke symboler som skal brukes i koden.
  • Upraktisk bytte av antall koder;
  • Betalt levering av fra 100 til 999 koder - koster 299 rubler (i skrivende stund);
  • Betalt levering av 1000 koder eller mer - koster 999 rubler (også i skrivende stund);
  • Du må hele tiden trykke på "Jeg er ikke en robot"-knappen.

Her er hva brukere som allerede har brukt denne generatoren sier: "Praktisk, multifunksjonell tjeneste", "Ganske høye priser for generasjon", "Det er praktisk å bruke denne generatoren - jeg bruker den bare."

Randomiser

Denne siden er designet for å generere forskjellige passord, kampanjekoder, tall osv.

Den er multifunksjonell og praktisk for de som driver med ulike spøk eller bruker mange passord.

Denne generatoren er posisjonert som en premiumtjeneste for nettbutikker.

Det er ikke det enkleste å bruke, men det er en virkelig funksjonsrik og gratis tjeneste.

Hovedfunksjonen til tjenesten er den såkalte "individuelle" kodegenereringsmodusen.

I denne modusen kan du skrive eksisterende kode, noe som indikerer at bare enkelte tegn må endres.

  • Mulighet for å registrere et prefiks;
  • Evne til å manuelt legge inn symbolene som brukes;
  • Tilgjengelighet av en "individuell" generasjonsinnstillingsmodus;
  • Du kan generere opptil 10 millioner koder og laste dem ned i ett eller annet format;
  • Angir sannsynligheten for valg for koder av forskjellige typer.
  • Manglende evne til å registrere en postfix;
  • Begrenset lite antall tegn (fra 4 til 16);
  • Minst 1000 koder genereres.

Brukere svarer på tjenesten på følgende måte: "Det er praktisk at du kan generere mange koder på en gang," og menyen er ikke veldig praktisk.

Akademi

Denne generatoren er tilgjengelig for bruk på lenken https://academy.ru/personal/promo-gen/.

Dette er en multifunksjonell side, blant dens mange funksjoner er det blant annet en kampanjekodegenerator.

Et ganske komplekst design og mange sider fører til at tjenesten tar lang tid å laste.

Det er viktig å forstå at dette nettstedet ikke er en spesialisert generator. Det kan hjelpe for engangsgenerasjon.

Men det er umulig å bruke det i masseskala.

  • Rask generering uten unødvendige innstillinger;
  • Praktisk kodekopiering ved å trykke på én knapp;
  • En ferdig database med ubrukte kampanjekoder.
  • Et svært lite antall funksjoner - du kan ikke velge antall eller antall samtidig genererte koder osv.;
  • Du kan ikke spesifisere et prefiks eller postfiks, kodedesignet er også valgt av systemet som standard;
  • Det er ganske mange forskjellige lenker og designkomplikasjoner på siden, noe som gjør arbeidet ikke så enkelt.

Brukere snakker om generatoren slik: "Det kan være greit å motta én kampanjekode, men det er ikke klart hvordan man bruker den mer utbredt," "Veldig upraktisk og få funksjoner."

Generator ukrbio.com

Dette er en én-sides generator med en enkel meny og et intuitivt grensesnitt.

Den har et enkelt og behagelig design, takket være at siden lastes raskt.

Tjenesten fungerer stabilt og gir et tilstrekkelig sett med funksjoner.

Denne tjenesten lar deg generere kombinasjoner kun fra tall, bare fra bokstaver, blandet, inkludert eller.

Du kan også justere store og små bokstaver og vise alle koder i ett eller annet format.

  • Enkel meny og minimalistisk nettsidedesign;
  • Gratis oppretting av et veldig stort antall koder (fra 1 til 9999 stykker);
  • Det er ganske store muligheter for å tilpasse formatet og utseendet til fremtidige koder.
  • <Рис. 8 Studio F1>

    Denne multifunksjonelle generasjonstjenesten er tilgjengelig på https://studiof1.ru/blog/developing/passgen/.

    Nettstedet er en multifunksjonell ressurs med tjenester for nettstedspromotering mv.

    Ressursen har en ganske enkel design og er praktisk å bruke i tilfeller der brukeren, i tillegg til kampanjer, holder konkurranser og andre arrangementer for å tiltrekke seg et publikum.

    Strengt tatt kalles denne tjenesten en passordgenerator; den er i stand til å lage ganske komplekse og varierte kombinasjoner som kan brukes som kampanjekoder.

    Tross alt lar denne tjenesten deg bruke nesten alle de samme innstillingene som kampanjekodegeneratoren tilbyr.

    • Evne til å velge passordlengde og dets sammensetning (små og store bokstaver, tall, tegn);
    • Evne til å generere flere passordkoder samtidig;
    • Denne siden har mange hjelpefunksjoner, ofte nødvendige funksjoner for hånden.
    • Manglende evne til å sette prefiks og postfiks;
    • Det er ikke mulig å begrense eller velge tegnene som brukes;
    • Alle koder er skrevet i ett ord uten mellomrom og har omtrent det samme utseende, kan de ikke lastes ned - bare kopieres som ren tekst, noe som er upraktisk hvis det er et stort antall av dem.

La oss forestille oss en situasjon der du måtte "ødelegge Windows" (fjern operativsystemet windows system) og installer en ny. Hvis du takler dette, kan det oppstå et problem som å installere programmer og spill som allerede er kjent for deg. Det er bra hvis de er fritt tilgjengelige og gratis, men hva du skal gjøre når du har betalt for et program (eller spill), og når du installerer det på nytt, krever det at du lisensnøkkel(og dette er helt normalt)? Det er bra hvis du har lagret det et sted og skrevet det ned, men hva om du mistet eller ikke la igjen nøkkelen? I dette tilfellet er det to løsninger.

1) Skriv til støtte for dette programmet og forklar situasjonen. Hvis utviklerne er normale og du beviser for dem at du virkelig har kjøpt produktet deres, vil de hjelpe deg.
2) Bruk en gratis program, som det vil være tekst om nedenfor.

Så programmet heter Belarc Advisor - Gratis personlig PC-revisjon

Installasjonsprosessen er normal.
For det første er vi enige i informasjonsmeldingen om at de også har en versjon for Android

Da godtar vi lisensavtalen


Deretter klikker du på Installer-knappen (programmet spør ikke hvor det skal installeres) og godtar å analysere systemet for å søke etter nøkler:


Vi venter på ferdigstillelse


Og til slutt vil et vindu (denne typen rapport) åpnes med forskjellig informasjon (operativsystem, alle komponenter, brukere, nettverk, etc.). Her ser vi etter programvarelisenselementet nederst og ser alt programmet fant:

Jeg har ikke så mye, fordi... Jeg bruker stort sett gratisløsninger, men meningen er klar.

Dermed ved hjelp av dette programmet kan du finne ut lisensnøkler ikke bare for operativsystem og programmer, samt finne ut detaljert statistikk om datamaskinen din (ned til de siste tilkoblede flash-stasjonene). Derfor tror jeg dette programmet vil være nyttig for deg, og det er verdt å vite om det.




Topp