Beskytt Python-skriptene dine mot reverse engineering med Pyarmor

Python er svært lesbar og har utbredt bruk. Selv om denne lesbarheten oppmuntrer til samarbeid, øker den risikoen for uautorisert tilgang og misbruk. Dine konkurrenter eller ondsinnede aktører kan replikere algoritmene dine og proprietære logikk uten riktige sikkerhetstiltak. Dette vil negativt påvirke programvarens integritet og brukernes tillit.

DAGENS MUO-VIDEO

RULL FOR Å FORTSETTE MED INNHOLD

Implementering av robuste sikkerhetstiltak, som forvirring og lisensverifisering, styrker programvaren din mot potensielle trusler. Å sikre Python-skript er ikke bare en praksis; det er en kritisk strategi for å sikre konfidensialiteten til innovasjonene dine og opprettholde tilliten til brukerne dine i det digitale landskapet.

Forstå Pyarmor

Pyarmor er et kommandolinjebibliotek. Det hjelper med å beskytte og skjule Python-skript og -pakker. Den forvandler den originale Python-koden til en form som er vanskeligere å forstå samtidig som den beholder funksjonaliteten. Obfuskeringsprosessen omdøper variabler, funksjoner og klasser til ikke-beskrivende navn. Den fjerner også kommentarer og omstrukturerer koden. Dette gjør koden vanskelig å reversere, tukle med eller kopiere.

Pyarmor kan sikre individuelle Python-skript, og hele pakker og til og med legge til lisensverifisering til koden din.

Installere Pyarmor-biblioteket

Pyarmor er oppført på Python Package Index (PyPI). Bruk pip for å installere den ved å kjøre følgende kommando:

 pip install pyarmor

Det er ikke et must for deg å installere Pyarmor i samme katalog som er vert for prosjektet. Du kan installere det hvor som helst på datamaskinen din og være i stand til å sikre alle Python-skript fra hvilken som helst katalog.

  18 Metaverse-jobber som kan bli populære i fremtiden

Men hvis du vil kjøre de sikre skriptene uten å måtte installere Pyarmor på målmaskinen, må du installere det i samme katalog som er vert for prosjektet. Dette er fordi de sikrede skriptene vil inneholde referanser til Pyarmor-kjøretiden, som må være tilstede for å kjøre skriptene.

Sikring av individuelle Python-skript

Det er enkelt å sikre individuelle skript ved hjelp av Pyarmor. Følgende skript som legger til to tall vil tjene som eksempel.

 def add_numbers(num1, num2):
   result = num1 + num2
   print("The sum of {} and {} is: {}".format(num1, num2, result))


num1 = float(input("Enter the first number: "))
num2 = float(input("Enter the second number: "))
add_numbers(num1, num2)

Bruk kommandolinjen for å navigere til katalogen der du har installert Pyarmor. Kjør deretter følgende kommando for å kryptere og tilsløre skriptet ditt. Erstatt main.py med navnet på skriptet ditt.

 pyarmor gen --output dist main.py

Etter å ha kjørt kommandoen, oppretter Pyarmor en ny mappe kalt dist. Inne i den ligger det sikrede skriptet ditt.

Åpne det sikrede skriptet for å se innholdet.

Skjermbildet ovenfor viser utdataene etter at Pyarmor obfuskerer og krypterer det enkle tilleggsskriptet. Du kan nå ikke fortelle hva manuset gjør ved å bare se på det.

For å kjøre det sikrede skriptet, åpne terminalen eller ledeteksten og naviger til plasseringen som inneholder dist-katalogen. Bruk deretter følgende kommando for å kjøre skriptet:

 python dist/main.py 

Erstatt main.py med skriptets navn. Skriptet skal kjøres som det ville uten tilsløring. Test den grundig for å sikre at alle funksjonene fungerer som du forventer.

  Topp 14 etterspurte ferdigheter som kreves for AI-profesjonelle

Sikring av hele Python-pakker

Pakker kan inneholde noen få moduler eller hundrevis av moduler avhengig av formålet. Det kan være slitsomt å sikre hver modul separat. Heldigvis har Pyarmor muligheten til å sikre en hel pakke uten at du trenger å spesifisere hver modul separat.

Anta at du har en enkel Python-pakke kalt sample_package med følgende struktur:

 sample_package/
|-- __init__.py
|-- module1.py
|-- module2.py

Du kan lage så mange moduler du vil.

For å kryptere og tilsløre pakken, åpne terminalen eller ledeteksten og naviger til katalogen der pakken din ligger. Kjør deretter følgende kommando:

 pyarmor gen -O dist -r -i sample_package 

Erstatt sample_package med navnet på pakken din. Denne kommandoen vil kryptere og skjule pakkekatalogen din og lagre den beskyttede utgangen til dist-katalogen. Bruk den beskyttede pakken som du ville gjort for enhver annen Python-pakke.

For eksempel. For å bruke eksempelpakken ovenfor, lag et nytt skript i dist-katalogen:

 from my_package import module1, module2

module1.say_hello()
module2.do_something()

Når du kjører koden, skal pakken fungere som den ville før den sikres.

Kontrollere tilgang til skriptet ditt

Det kan være lurt å begrense tiden en bruker kjører skriptet ditt. For eksempel i prøveperioden.

For å begrense hvor lang tid skriptet kjører, bruk følgende kommando når du skjuler skriptet.

 pyarmor gen -O dist -e 30 main.py 

Erstatt 30 med antall dager du vil at skriptet skal være aktivt. Du kan også erstatte den med en nøyaktig dato. Etter at dagene er over vil skriptet utløpe.

Du kan teste denne funksjonaliteten ved å angi en tidligere dato. Dette bør gjøre at kjøring av skriptet gir en feil. Bruk følgende kommando for å skjule skriptet med en utløpsdato:

 pyarmor gen -O dist -e 2022-01-01 main.py

Kjør deretter det sikrede skriptet.

  14 beste gratis nettsteder for anonyme meldinger

Feilen viser at lisensnøkkelen er utløpt, og skriptet kan derfor ikke kjøres.

Balanserer sikkerhet og effektivitet

Selv om Pyarmor tilbyr robuste obfuskeringsmekanismer for å forbedre sikkerheten til koden din, er det viktig å balansere mellom sikkerhetstiltak og opprettholde effektiviteten og ytelsen til programvaren din. Du kan oppnå dette ved å:

  • Evaluering av behovet for obfuskering: Hvis programvaren din involverer proprietære algoritmer, sensitive data eller unik forretningslogikk, er tilsløring svært fordelaktig. Men for åpen kildekode-skript med minimale immaterielle rettigheter, lener avveiningen mellom sikkerhet og ytelse mer mot effektivitet.
  • Vurdere ytelsespåvirkning: Tilsløring introduserer ekstra driftskostnader på grunn av de ekstra operasjonene og transformasjonene som brukes på koden. Denne påvirkningen er ubetydelig for små skript, men blir mer merkbar for større prosjekter. Du bør nøye vurdere ytelsesimplikasjonene av tilsløring og utføre testing for å sikre at programvaren forblir responsiv og effektiv.
  • Gjennomføre regelmessige oppdateringer og vedlikehold: Oppdater regelmessig den skjulte koden, lisensene og sikkerhetsmekanismene for å være i forkant av potensielle sårbarheter. Balanser dette med behovet for å minimere forstyrrelser for brukerne dine.

Kan noen knekke den obfuskerte koden?

Programvarecracking refererer til handlingen med å fjerne kopibeskyttelsen eller lisensieringsmekanismene til en programvareapplikasjon. For å få uautorisert tilgang til dens fulle funksjonalitet uten å betale for det. Det er viktig å merke seg at tilsløring av programvaren din ikke beskytter den fullstendig mot kjeks.

Med nok besluttsomhet og ressurser kan den skjulte koden knekkes. Dette er grunnen til at du bør ta sikte på å gjennomføre regelmessige oppdateringer og vedlikehold for å rette opp eventuelle mistenkte smutthull.