Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

6 Stron V  « < 4 5 6  
Reply to this topicStart new topic
> Zabezpieczanie aplikacji przed kradzieżą
Jarod
post
Post #101





Grupa: Zarejestrowani
Postów: 1 190
Pomógł: 27
Dołączył: 23.04.2005

Ostrzeżenie: (0%)
-----


MMCache, eAccelerator nie działa z php >= 5.2.x. Pozostały mi tylko obfuscatory php, ale okazuje się, że z nimi też są problemy. Przetestowałem różne, większość wersje trial (POBS i http://www.semdesigns.com/Products/Obfusca...Obfuscator.html wykłada się - tzn nie działa).

Jedyny darmowy soft, który zwrócił moją uwagę to: http://www.raizlabs.com/software/phpobfuscator/

Ale i tak mam problem. Każdą klasę trzymam w osobnym pliku i po przepuszczeniu przez taki obfuscator wszystko nadaje się do poprawy (po zmianie nazw klas i ich właściwości). Potrzebuję softu, który po zmianie np nazwy klasy Config, zmieni tę nazwę na taką samą we wszystkich plikach, do której jest odwołanie do tej klasy. Nie uśmiecha mi się poprawiać tego ręcznie, tym bardziej, że aplikację ciągle rozbudowuje i jest masa plików..

Znacie jakiś soft, który radziłby sobie z tym problemem?
Go to the top of the page
+Quote Post
fredzio90
post
Post #102





Grupa: Zarejestrowani
Postów: 251
Pomógł: 0
Dołączył: 19.02.2007

Ostrzeżenie: (0%)
-----


a czy jakiś program do kodowania kodu php nie wystarczy, nie chodzi mi tutaj o Zend Encodera.... znalazłem taki zwykły programik do kodowania kodu. nie pamiętam nazwy, ale probowałem znaleźć dekoder takich zakodowanych plików i pierwsza strona w goglach w załączniku pobrałem taki rosyjski programik.... lecz nie w temacie może by nie wiedzieli jakim programem był zakodowany plik.....
nazwy peogramu nie pamiętam, ale znalazłem pliczki któe kodowałęm, org i zakodowany... a więc oryginalny wyglądał tak:

  1. <?php
  2. /**
  3.  * @author sHu 2007
  4.  * @copyright 2007
  5.  */
  6. echo date("H:i:s d/m/y");
  7. ?>


a zakodowany tak:

  1. <?php /* WARNING: This file is protected by copyright law. To reverse engineer or decod
    e this file is strictly prohibited. */
  2. $o="QAAAOzh3b3cKDQoNKC0tCg0nLQAAJ0dmcnNvaHUndE9yJzU3N0AUMAFTZGh3fnVuYG9zAUYoA1F
    iZAAA
  3. 2gnY2ZzYi8lTz1uPXQnYwEAKGoofiUuPAHRODk=";eval(base64_decode("JGxsbD0wO2V2YWwoYmFzZTY0X2RlY29kZSgiSkd4c2JHeHNiR3hzYkd4c1BTZGlZWE5sTmpSZlp
    HVmpi
  4. lJsSnpzPSIpKTskbGw9MDtldmFsKCRsbGxsbGxsbGxsbCgiSkd4c2JHeHNiR3hzYkd3OUoyOXlaQ2M3I
  5. kpOyRsbGxsPTA7JGxsbGxsPTM7ZXZhbCgkbGxsbGxsbGxsbGwoIkpHdzlKR3hzYkd4c2JHeHNiR3hzS0
  6. SdktUcz0iKSk7JGxsbGxsbGw9MDskbGxsbGxsPSgkbGxsbGxsbGxsbCgkbFsxXSk8PDgpKyRsbGxsbGx
  7. bGxsKCRsWzJdKTtldmFsKCRsbGxsbGxsbGxsbCgiSkd4c2JHeHNiR3hzYkd4c2JHdzlKM04wY214bGJp
  8. zciKSk7JGxsbGxsbGxsbD0xNjskbGxsbGxsbGw9IiI7Zm9yKDskbGxsbGw8JGxsbGxsbGxsbGxsbGwoJ
  9. wpOyl7aWYoJGxsbGxsbGxsbD09MCl7JGxsbGxsbD0oJGxsbGxsbGxsbGwoJGxbJGxsbGxsKytdKTw8OC
  10. 7JGxsbGxsbCs9JGxsbGxsbGxsbGwoJGxbJGxsbGxsKytdKTskbGxsbGxsbGxsPTE2O31pZigkbGxsbGx
  11. JjB4ODAwMCl7JGxsbD0oJGxsbGxsbGxsbGwoJGxbJGxsbGxsKytdKTw8NCk7JGxsbCs9KCRsbGxsbGxs
  12. GxsKCRsWyRsbGxsbF0pPj40KTtpZigkbGxsKXskbGw9KCRsbGxsbGxsbGxsKCRsWyRsbGxsbCsrXSkmM
  13. gwZikrMztmb3IoJGxsbGw9MDskbGxsbDwkbGw7JGxsbGwrKykkbGxsbGxsbGxbJGxsbGxsbGwrJGxsbG
  14. dPSRsbGxsbGxsbFskbGxsbGxsbC0kbGxsKyRsbGxsXTskbGxsbGxsbCs9JGxsO31lbHNleyRsbD0oJGx
  15. bGxsbGxsbGwoJGxbJGxsbGxsKytdKTw8OCk7JGxsKz0kbGxsbGxsbGxsbCgkbFskbGxsbGwrK10pKzE2
  16. 2ZvcigkbGxsbD0wOyRsbGxsPCRsbDskbGxsbGxsbGxbJGxsbGxsbGwrJGxsbGwrK109JGxsbGxsbGxsb
  17. woJGxbJGxsbGxsXSkpOyRsbGxsbCsrOyRsbGxsbGxsKz0kbGw7fX1lbHNlJGxsbGxsbGxsWyRsbGxsbG
  18. sKytdPSRsbGxsbGxsbGxsKCRsWyRsbGxsbCsrXSk7JGxsbGxsbDw8PTE7JGxsbGxsbGxsbC0tO31ldmF
  19. KCRsbGxsbGxsbGxsbCgiSkd4c2JHeHNiR3hzYkd4c2JEMG5ZMmh5SnpzPSIpKTskbGxsbGw9MDtldmFs
  20. CRsbGxsbGxsbGxsbCgiSkd4c2JHeHNiR3hzYkQwaVB5SXVKR3hzYkd4c2JHeHNiR3hzYkNnMk1pazciK
  21. k7JGxsbGxsbGxsbGw9IiI7Zm9yKDskbGxsbGw8JGxsbGxsbGw7KXskbGxsbGxsbGxsbC49JGxsbGxsbG
  22. sbGxsbCgkbGxsbGxsbGxbJGxsbGxsKytdXjB4MDcpO31ldmFsKCRsbGxsbGxsbGxsbCgiSkd4c2JHeHN
  23. R3hzYkM0OUpHeHNiR3hzYkd4c2JHd3VKR3hzYkd4c2JHeHNiR3hzYkNnMk1Da3VJajhpT3c9PSIpKTtl
  24. mFsKCRsbGxsbGxsbGwpOw=="));return;?>


Ten post edytował fredzio90 20.09.2007, 11:09:38
Go to the top of the page
+Quote Post
Spirit86
post
Post #103





Grupa: Zarejestrowani
Postów: 607
Pomógł: 23
Dołączył: 8.09.2004
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


ej no sorry, ale to co napisałeś jest bez sensu, bez najmniejszego problemu można wyciągnąć z tego kod źródłowy, a takie coś to tylko niepotrzebnie opóźnia aplikacje....
Go to the top of the page
+Quote Post
Jarod
post
Post #104





Grupa: Zarejestrowani
Postów: 1 190
Pomógł: 27
Dołączył: 23.04.2005

Ostrzeżenie: (0%)
-----


Panowie to nie jest rozwiązanie problemu. Czy ktoś z Was używa zaciemniacza kodu (pytanie do tych, którzy dzielą aplikacje na pliki - myślę tu o OOP) ?
Go to the top of the page
+Quote Post
.radex
post
Post #105





Grupa: Zarejestrowani
Postów: 1 657
Pomógł: 125
Dołączył: 29.04.2006

Ostrzeżenie: (0%)
-----


Nie wiem czy już ktoś to zaproponował, ale:

dac wszystko zakodowane jakims szyfrem wedlug klucza, dac w konfigu kod, i sprawdza czy taki istnieje i nie jest uzywany przez inna domene, a pozniej za pomocą evala czy coś takiego za pomocą klucza przysłanego od serwera potwierdzającego i wykonywać to - pomysł głupi, bo wystarczyłoby przechwycić ten klucz i sprawa załatwiona, zapisujesz takie rozszyfrowane pliki, i puszczasz bez "DRM-ów"

w przypadku aplikacji kompilowanych jest dużo prościej, tj. jeśli aplikacja wymaga internetu

Ten post edytował radex_p 20.09.2007, 19:27:36
Go to the top of the page
+Quote Post
Jarod
post
Post #106





Grupa: Zarejestrowani
Postów: 1 190
Pomógł: 27
Dołączył: 23.04.2005

Ostrzeżenie: (0%)
-----


Nie chodzi mi o to. Chcę zaciemnić kod obfuscatorem. Znalazłem nawet darmowy, który działa http://www.raizlabs.com/software/phpobfuscator/

Problem: mamy trzy pliki php, w każdym jest jakaś klasa, np:

1.php -> zawiera klasę o nazwie Klasa1
2.php -> zawiera klasę o nazwie Klasa2
3.php -> zawiera klasę o nazwie Klasa3


Powyższy obfuscator zmienia nazwy klas, funkcji i zmiennych. Załóżmy że nazwę Klasa1 zamieni na $Klasa1$, nazwę Klasa2 zamienia na @Klasa2@ i nazwę Klasa3 na #Klasa3, to jeśli w pliku z klasą2 istnieje odwołanie/wywołanie/includowanie pliku z Klasa1, to nie zamieni nazwy na $Klasa1$ tylko na kolejno wygenerowany ciąg. I wszystko się sypie. Podejrzewam, że nie byłoby problemu, gdybym wszystko wrzucił do jednego pliku ale to nie jest możliwe ze względu na ilość plików i częstość aktualizacji softu..

Edit:

Przykład:
------------

/
|
--Klasy (katalog)
| |
| \- Klasa1.php
| \- Klasa2.php
|
|- index.php


Zawartość plików:

Klasa1.php
  1. <?php
  2. class Klasa1
  3. {
  4. private $k='Klasa1<br/>';
  5.  
  6. public function showK1()
  7. {
  8. echo $this->k;
  9. }
  10.  
  11. }
  12. ?>


Klasa2.php
  1. <?php
  2. class Klasa2
  3. {
  4. private $k='Klasa2<br/>';
  5.  
  6. public function showK2()
  7. {
  8. echo $this->k;
  9. }
  10.  
  11. }
  12. ?>


index.php
  1. <?php
  2. require_once('Klasy/Klasa1.php');
  3. require_once('Klasy/Klasa2.php');
  4.  
  5. $oKlasa1=new Klasa1();
  6. $oKlasa1->showK1();
  7. $oKlasa2=new Klasa2();
  8. $oKlasa2->showK2();
  9. ?>


Znacie taki obfuscator, który zaciemni powyższy kod i który będzie działał? Testowałem już różne i główne problemy to np. odwołania przez $this, itp. Ogólnie problemy jeśli ktoś pisze OOP
Go to the top of the page
+Quote Post
.radex
post
Post #107





Grupa: Zarejestrowani
Postów: 1 657
Pomógł: 125
Dołączył: 29.04.2006

Ostrzeżenie: (0%)
-----


rozumiem, że było to odwołanie do mojej propozycji, więc mój post nie był odpowiedzią na twój problem (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post

6 Stron V  « < 4 5 6
Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 7.12.2025 - 17:30