Заштитите своје Питхон скрипте од обрнутог инжењеринга помоћу Пиармор-а

Питхон је веома читљив и има широку употребу. Иако ова читљивост подстиче сарадњу, повећава ризик од неовлашћеног приступа и злоупотребе. Ваши конкуренти или злонамерни актери могу реплицирати ваше алгоритме и власничку логику без одговарајућих мера заштите. Ово ће негативно утицати на интегритет вашег софтвера и поверење ваших корисника.

МУО ВИДЕО ДАНА

ПОМЕРИТЕ ДА БИСТЕ НАСТАВИЛИ СА САДРЖАЈЕМ

Примена робусних безбедносних мера, као што су прикривање и верификација лиценце, ојачава ваш софтвер од потенцијалних претњи. Заштита Питхон скрипти није само пракса; то је критична стратегија за осигурање поверљивости ваших иновација и одржавање поверења ваших корисника у дигитални пејзаж.

Разумевање Пиармора

Пиармор је библиотека командне линије. Помаже у заштити и прикривању Питхон скрипти и пакета. Он трансформише оригинални Питхон код у облик који је теже разумети, а да притом задржи његову функционалност. Процес замагљивања преименује променљиве, функције и класе у неописна имена. Такође уклања коментаре и реструктурира код. Ово чини код тешким за реверзни инжењеринг, манипулисање или копирање.

Пиармор може да обезбеди појединачне Питхон скрипте и читаве пакете, па чак и да дода верификацију лиценце вашем коду.

Инсталирање Пиармор библиотеке

Пиармор је наведен на Питхон индексу пакета (ПиПИ). Користите пип да га инсталирате тако што ћете покренути следећу команду:

 pip install pyarmor

Није обавезно да инсталирате Пиармор у исти директоријум у коме се налази ваш пројекат. Можете га инсталирати било где на рачунару и моћи ћете да обезбедите било коју Питхон скрипту из било ког директоријума.

  Да ли се ваш Цхромебоок не укључује? Испробајте ових 7 најбољих поправки!

Међутим, ако желите да покренете заштићене скрипте без потребе да инсталирате Пиармор на циљној машини, потребно је да га инсталирате у истом директоријуму у коме се налази ваш пројекат. То је зато што ће обезбеђене скрипте садржати референце на Пиармор рунтиме, које ће морати да буду присутне да би се скрипте покренуле.

Обезбеђивање појединачних Питхон скрипти

Обезбеђивање појединачних скрипти помоћу Пиармор-а је једноставно. Следећа скрипта која додаје два броја послужиће као пример.

 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)

Користите командну линију за навигацију до директоријума у ​​који сте инсталирали Пиармор. Затим покрените следећу команду да бисте шифровали и замаглили своју скрипту. Замените маин.пи именом ваше скрипте.

 pyarmor gen --output dist main.py

Након што покрене команду, Пиармор креира нову фасциклу под називом дист. Унутар њега се налази ваша заштићена скрипта.

Отворите заштићену скрипту да бисте видели њен садржај.

Горњи снимак екрана приказује излаз након што Пиармор замагљује и шифрира једноставну скрипту за додавање. Сада не можете рећи шта скрипта ради само гледајући га.

Да бисте покренули заштићену скрипту, отворите терминал или командну линију и идите до локације која садржи дист директоријум. Затим користите следећу команду да покренете скрипту:

 python dist/main.py 

Замените маин.пи именом ваше скрипте. Скрипта треба да ради као што би радила без замућивања. Тестирајте га темељно да бисте били сигурни да све функције раде како очекујете.

  Грешка за иТунес рачунар није ауторизован

Заштита читавих Питхон пакета

Пакети могу да садрже неколико модула или стотине модула у зависности од њихове намене. Заштита сваког модула засебно може бити заморна. Срећом, Пиармор има могућност да обезбеди цео пакет без потребе да наведете сваки модул посебно.

Претпоставимо да имате једноставан Питхон пакет под називом сампле_пацкаге са следећом структуром:

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

Можете креирати онолико модула колико желите.

Да бисте шифровали и сакрили пакет, отворите терминал или командну линију и идите до директоријума у ​​коме се налази ваш пакет. Затим покрените следећу команду:

 pyarmor gen -O dist -r -i sample_package 

Замените сампле_пацкаге именом вашег пакета. Ова команда ће шифровати и сакрити ваш директоријум пакета и сачувати заштићени излаз у дист директоријуму. Користите заштићени пакет као и за било који други Питхон пакет.

На пример. Да бисте користили горњи пример пакета, креирајте нову скрипту унутар дист директоријума:

 from my_package import module1, module2

module1.say_hello()
module2.do_something()

Када покренете код, пакет би требало да функционише као што би био пре него што га обезбедите.

Контролисање приступа вашој скрипти

Можда ћете желети да ограничите време које корисник покреће вашу скрипту. На пример, током пробног периода.

Да бисте ограничили време које скрипта покреће, користите следећу команду када прикривате своју скрипту.

 pyarmor gen -O dist -e 30 main.py 

Замените 30 бројем дана за које желите да скрипта буде активна. Можете га заменити и тачним датумом. Када прођу дани, скрипта ће истећи.

Ову функцију можете тестирати тако што ћете поставити прошли датум. Због тога би покретање скрипте требало да доведе до грешке. Користите следећу команду да бисте замаглили скрипту са истеклим датумом:

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

Затим покрените заштићену скрипту.

  Упс! АппЛоцк користи образац тастера за јачину звука да спречи приступ апликацијама [Android]

Грешка показује да је лиценцни кључ истекао па се скрипта не може покренути.

Балансирање сигурности и ефикасности

Иако Пиармор нуди робусне механизме замагљивања за побољшање безбедности вашег кода, важно је балансирати између безбедносних мера и одржавања ефикасности и перформанси вашег софтвера. То можете постићи на следећи начин:

  • Процена потребе за прикривањем: Ако ваш софтвер укључује власничке алгоритме, осетљиве податке или јединствену пословну логику, прикривање је веома корисно. Међутим, за скрипте отвореног кода са минималним проблемима интелектуалне својине, компромис између безбедности и перформанси више се ослања на ефикасност.
  • Процена утицаја на перформансе: Обфускација уводи додатне трошкове током извршавања због додатних операција и трансформација примењених на код. Овај утицај је занемарљив за мале скрипте, али постаје видљивији за веће пројекте. Требало би пажљиво да процените импликације замагљивања на перформансе и спроведете тестирање како бисте били сигурни да ваш софтвер остаје брз и ефикасан.
  • Спровођење редовних ажурирања и одржавања: Редовно ажурирајте свој замућени код, лиценце и безбедносне механизме да бисте били испред потенцијалних рањивости. Уравнотежите ово са потребом да минимизирате сметње за ваше кориснике.

Може ли неко да разбије замагљени код?

Креирање софтвера се односи на чин уклањања заштите од копирања или механизама лиценцирања софтверске апликације. Да бисте добили неовлашћени приступ његовој пуној функционалности без плаћања. Важно је напоменути да замагљивање вашег софтвера не штити га у потпуности од крекера.

Уз довољно одлучности и ресурса, замагљени код се може разбити. Ово је разлог због којег би требало да тежите редовном ажурирању и одржавању како бисте закрпили све сумњиве рупе.