Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [skrypt] TurtleEncoder
Forum PHP.pl > Inne > Oceny
carramba
Taka sobie proba napisania obfuskatora ktory bedzie ukrywal kod php sprawdzcie moze sie wam spodoba. ( oceny mile widziane )

http://www.turtle.dotproject.pl/
Vengeance
Ehm,... fajnie, ale ja tam nigdzie nie widze kodu samego skryptu (obfuskatora).
NuLL
Jesli na forum ma byc oceniony skrypt to my oceniamy kod.
carramba
no i fajnie smile.gif nie widac kodu obfuskatora bo zostal ukryty samym obfuskatorem w tej chwili pracuje nad dokumentacja do tego projektu jak skoncze udostepnie wersje open-source
kszychu
A, że tak zadam lamerskie pytanie, co robi ten skrypt poza kasowaniem odstępów i zmianą nazwa funkcji i zmiennych?
carramba
zamienia wystapienia wszystkich nazw funkcji zmiennych i class na losowo wygenerowane dziwne nazwy, kasuje komentarze i wszystkie niepotrzebne spacje. Wynik ? dla kodu ktory wyglada tak :

  1. <?php
  2. class ObfRunMe
  3. {
  4.  
  5. function ObfRunMe( )
  6. {
  7. error_reporting( E_ALL );
  8.  
  9. include( realpath( dirname( __FILE__ ) ).'/_obfuscator.class.php' );
  10. include( realpath( dirname( __FILE__ ) ).'/_file.class.php' );
  11.  
  12. $this -> _Obfuscator = Obfuscator::instance( );
  13.  
  14. $_FILE = new File( );
  15. $_FILE -> open( realpath( dirname( __FILE__ ) ).'/config.dat' );
  16. $_CONFIG = unserialize( $_FILE -> read( ) );
  17. $_FILE -> close( );
  18.  
  19. $this -> _Obfuscator -> _CONFIG =& $_CONFIG;
  20.  
  21. set_time_limit( 3600 * $_CONFIG['time'] );
  22. ?>


Otrzymujemy

  1. <?php
  2. class vHvWMadpk0919 { function vHvWMadpk0919( ) { error_reporting( E_ALL ); include( realpath( dirname( __FILE__ ) ).'/_obfuscator.class.php' ); include( realpath( dirname( __FILE__ ) ).'/_file.class.php' ); $this -> awkIjaHar9634 = ROJornNEW7555 ::PDuNEmexH1910( ); $HVoJRlaRk5093 = new seDAXJYec1105( ); $HVoJRlaRk5093 -> aWrPXJYyM9636( realpath( dirname( __FILE__ ) ).'/config.dat' ); $CZoLXXObr8250 = unserialize( $HVoJRlaRk5093 -> kBqYreUxk0084( ) ); $HVoJRlaRk5093 -> gIWTNxnJr3041( ); $this -> awkIjaHar9634 -> CZoLXXObr8250 =& $CZoLXXObr8250; set_time_limit( 3600 * $CZoLXXObr8250['time'] );
  3. ?>


oczywiscie nie jest to zabezpieczenie jakosci encodera ale z drogiej strony komu by sie chcialo odczytywac taka sieczke np. w projekcie ktory ma z 200 plikow ?
kszychu
Cytat(carramba @ 2005-10-24 13:10:28)
komu by sie chcialo odczytywac taka sieczke np. w projekcie ktory ma z 200 plikow ?

Pewnie nikomu. Ja na przykład użyłbym kilku prostych regół (chociażby w Wordzie!) aby doprowadzić to do stanu czytelności.
carramba
Krzychu sproboj winksmiley.jpg mam nadzieje ze ci sie uda heheh napisalem to dla zabawy i moze nie zdac egzaminu ale sproboj z ciekawosci winksmiley.jpg
dr_bonzo
W kodzie chodzi przeciez o algorytm a nie o nazwy zmiennych -- nazwy sobie pozmieniam na 'przyjazniejsze' a algorytm odczytam bez problemow.
carramba
wszystko zalezy od tego czy ci sie bedzie chcialo i wszystko zalezy od tego z jakim projektem bedziesz mial pracowac pozatym to nie taka prosta sprawa jesli wezmiemy pod uwage ze to w koncu php w ktorym jak by nie patrzec pisze sie duzo kodu w porownaniu z innymi jezykami ( ten skrypt mial za zadanie to utrodnic a nie uniemozliwic, zeby uniemozliwic mozna zakupic encoder nie ma problemu )
dr_bonzo
Cytat
zeby uniemozliwic mozna zakupic encoder nie ma problemu

Poczepiam sie troche: "TurtleEncoder" biggrin.gif
bela
A jeszcze jest taki fajny program co się zwie php Beatufier co kod porządkuje smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.