Czy ktoś używał dobrego obfuscatora dla PHP? Próbowałem, ale nie działają one przy bardzo dużych projektach. Nie obsługują na przykład zmiennych zawartych w jednym pliku i używanych w innym.
A może masz jakieś inne sztuczki, aby zatrzymać rozprzestrzenianie się kodu?
php
obfuscation
użytkownik29593
źródło
źródło
Odpowiedzi:
Możesz wypróbować ochronę PHP, która jest darmowym obfuscatorem PHP do zaciemnienia kodu PHP.EDYCJA: Ta usługa nie jest już dostępna.Jest bardzo ładny, łatwy w użyciu, a także bezpłatny.
Co do tego, co napisali tutaj inni o nieużywaniu zaciemnienia, ponieważ można je złamać itp .:
Mam tylko jedną odpowiedź, aby im odpowiedzieć - nie zamykaj drzwi domu, ponieważ każdy może otworzyć zamek.
Dokładnie tak jest, zaciemnianie nie ma na celu zapobiec 100% kradzieży kodu. Wystarczy, że będzie to czasochłonne zadanie, więc taniej będzie zapłacić oryginalnemu programistowi. Mam nadzieję że to pomoże.
źródło
Ludzie będą oferować ci zaciemnienia, ale żadna ilość zaciemnienia nie może uniemożliwić komuś dostępu do twojego kodu. Żaden. Jeśli komputer może go uruchomić, lub w przypadku filmów i muzyki, jeśli można go odtworzyć, użytkownik może to zrobić. Nawet skompilowanie go do kodu maszynowego tylko utrudnia zadanie. Jeśli używasz zaciemniacza, po prostu oszukujesz siebie. Co gorsza, nie zezwalasz również użytkownikom na naprawianie błędów lub wprowadzanie modyfikacji.
Firmy muzyczne i filmowe jeszcze się z tym nie pogodziły, wciąż wydają miliony na DRM.
W tłumaczonych językach, takich jak PHP i Perl, jest to banalne. Perl miał wiele zaciemniaczy kodu, a potem zdaliśmy sobie sprawę, że można je w prosty sposób dekompilować.
PHP ma takie funkcje jak DeZender i Show My Code .
Moja rada? Napisz licencję i uzyskaj prawnika. Jedyną inną opcją jest niepodawanie kodu i uruchomienie hostowanej usługi.
Zobacz także wpis perlfaq na ten temat .
źródło
Nic nie będzie idealne. Jeśli chcesz tylko coś powstrzymać nie-programistów, oto krótki skrypt, który napisałem, z którego możesz skorzystać:
źródło
Nie jestem pewien, czy można uznać zaciemnianie interpretowanego języka za bezcelowe (nie jestem w stanie dodać komentarza do postu Schwern, więc oto nowy wpis).
Wydaje mi się, że trochę krótkowzrocznie jest założenie, że znasz wszystkie możliwe scenariusze, w których ktoś chciałby zaciemnić kod, i zakładasz, że każdy rzeczywiście będzie chciał zrobić wszystko, co konieczne, aby wyświetlić ten kod po zaciemnieniu. Rozważ mój obecny scenariusz:
Pracuję dla firmy konsultingowej, która rozwija dużą i dość wyrafinowaną stronę opartą na PHP. Projekt będzie hostowany na serwerze klienta, który hostuje inne strony opracowane przez inne firmy konsultingowe. Technicznie każdy kod, który piszemy, jest własnością klienta, więc nie możemy go licencjonować. Jednak każda inna firma doradcza (konkurent) z dostępem do serwera może skopiować nasz kod bez uprzedniej zgody klienta. Dlatego mamy prawdziwy powód do zaciemnienia - do podjęcia wysiłku, aby konkurent zrozumiał nasz kod bardziej niż wysiłek stworzenia kopii naszej pracy od zera.
źródło
Zobacz nasz SD Thicket PHP Obfuscator aby znaleźć obfuscator, który działa dobrze z dowolnie dużymi zestawami stron. Działa głównie poprzez szyfrowanie nazw identyfikatorów. Przy skromnych i dużych aplikacjach może to uczynić kod niezwykle trudnym do zrozumienia, co stanowi cały cel.
Nie marnuje energii na schematy „eval (dekodowanie ( kodowany kod programu ))”, które robi wiele „ obfuscatorów ” PHP [są to „enkodery”, a nie „obfuscatory”, ponieważ każdy grud może znaleźć to wywołanie i sam wykonaj eval-dekoduj i pobierz dekodowany kod.
Do przetwarzania PHP używa parsera precyzyjnego dla języka; poinformuje cię, czy twój program jest nieprawidłowo składniowy. Co ważniejsze, zna dokładnie cały język; nie zostanie zgubiony ani zdezorientowany, a także nie złamie twojego kodu (inaczej dzieje się, jeśli zaciemnisz „niepoprawnie”, np. nie zidentyfikujesz poprawnie publicznego interfejsu API kodu).
Tak, zaciemnia identyfikatory identycznie na stronach; gdyby tego nie zrobił, wynik nie działałby.
źródło
Najlepsze, co widziałem, to Zend Guard .
źródło
Spróbuj tego: http://www.pipsomania.com/best_php_obfuscator.do
Niedawno napisałem to w Javie, aby zaciemnić moje projekty PHP, ponieważ nie znalazłem żadnego dobrego i kompatybilnego gotowego napisanego w sieci, postanowiłem umieścić go online jako saas, więc wszyscy używają go za darmo. Nie zmienia nazw zmiennych między różnymi skryptami dla maksymalnej kompatybilności, ale zaciemnia je bardzo dobrze, z losową logiką, również dla każdej instrukcji. Sznurki ... wszystko. Uważam, że jest znacznie lepszy niż ten błędny kodek, który jest napisany w PHP i bardzo wolno :)
źródło
Thicket ™ Obfuscator dla PHP
źródło
:(
W każdym razie to martwe oprogramowanie. Są teraz lepsze i niesamowite.Korzystanie z SourceGuardian jest dobre, ponieważ zawiera fajny i łatwy w użyciu interfejs GUI.
Ale pamiętaj:
Zwróć uwagę na jego - raczej zabawne - warunki licencyjne.
źródło
Zaciemnianie dodaje tylko kolejną warstwę potencjalnych błędów i luk w zabezpieczeniach do twojego programu. Proszę nie rób tego.
Ludzie, którzy piszą oprogramowanie zaciemniające, zazwyczaj wydają się bardzo pobieżni i niewykwalifikowani.
Jeśli Twój kod jest „świetny”, crackerzy robią wszystko, aby go rozprzestrzeniać, niezależnie od tego, czy jest zaciemniony. Jeśli nikt nie wie / nie troszczy się o twój kod, prawdopodobnie też nie.
źródło