Cu siguranță, fiecare dezvoltator se îngrijește de faptul că programele sale sunt protejate de distribuția ilegală. Mai ales dacă această dezvoltare este un produs comercial, replicabil.
Creatorii sistemului 1C: Enterprise 8 au avut grijă de protecția codului. Din păcate, parola pentru acces poate fi instalată numai pe module de obiecte, module comune, module de procesare și rapoarte. Inclusiv extern. Dar, de asemenea, este o mulțime de, deoarece este posibil proceduri și funcții semnificative de a plasa în modul și apoi să le adreseze.
În acest articol, vreau să vă dau seama cum să instalați protecția și să o eliminați dacă ați uitat parola.
Instalarea protecției pe modulul 1C
Luăm orice modul de orice obiect. Am luat primul document - "Raportul de avans". Dacă plasați cursorul pe textul codului modulului, elementul "Text" apare în meniul principal. În acest paragraf există un sub-element "Setare parolă".
Programul mi-a avertizat imediat că este imposibil să protejăm modulul care are directivele preprocesor:
Vă reamintim că directivele preprocesorului sunt astfel de construcții ca # Dacă, # Apoi, # Sfârșit, etc.
Să vedem ce va rezulta. Am setat parola.
După ce ați setat parola, când încercați să închideți modulul, primiți un mesaj de eroare:
Ignorați eroarea și salvați configurația. Mă întreb dacă documentul se va deschide. Lansăm programul în modul "Enterprise".
Totul sa dovedit a fi mai rău decât am crezut. Documentul nu funcționează complet. Pentru ao desfasura nu a fost posibil, programul se jura in mod constant pe orice campuri goale care intr-un cap de forma, in tabel nu sunt prezente.
Am încercat pentru puritatea experimentului pe alte documente, același rezultat. De exemplu, în factura de vânzare, câmpul "Contract" devine indisponibil.
Concluzia este neechivocă: nu toate modulele pot fi protejate. Cu toate acestea, nimic nu vă împiedică să faceți funcții și proceduri cu directivele preprocesor într-un modul separat.
Încercăm să protejăm modulul comun. Prin alegerea aleatorie încerc să protejez 10 module comune. Aproximativ jumătate au fost apărate fără nici un comentariu. Când am încercat să protejez a doua jumătate, am primit un mesaj spunând că modulul nu poate fi protejat.
Rămâne să verificăm procesarea. Luați pentru interesul extern. Apărarea a trecut fără probleme.
Verificarea fiabilității protecției utilizând modulul decodificator 1C
Să vedem acum dacă va fi posibil să ocolească protecția. După săparea unui pic pe Internet, am dat peste un "modul decompiler" (îl puteți descărca de pe link), despre care se presupune că este capabil să elimine parola. Decompilatorul este o procesare externă pe forme obișnuite. Încearcă. Vom începe toate cu aceeași prelucrare externă, la modulul căruia am setat parola.
Începem 1C în modul enterprise și deschidem procesarea cu ajutorul decompilatorului prin "File" - "Open". Am notat că procesarea pe care am găsit-o este scrisă în forme uzuale și trebuie să o executați sub un client gros:
Faceți clic pe "Decompilați" și obțineți un mesaj că totul a mers bine:
Încercăm să deschidem modulul în configurator și se deschide perfect.
Pe forumuri scrieți că uneori trebuie să rulați 1C în numele administratorului, dacă apare o eroare.
Acum rămâne să verificăm modul în care decompilatorul poate face față modulelor comune. Salvați configurația într-un fișier.
Alegeți în procesare:
După câteva minute primim mesajul:
Descărcați configurația din fișier și verificați protecția. Protecția este complet eliminată.
Testarea a fost efectuată pe platforma 8.3.9.1818, configurația "Enterprise Accounting 3.0.44.188".
Cel mai interesant este faptul că modulul acestui "decompilator" este, de asemenea, protejat. Dar prelucrarea nu permite eliminarea protecției de la sine.