2009-01-21, 13:55
  #1
Medlem
bananaskidzs avatar
Hej vänner!

Har sedan något halvår pillat med lite utav varje när det kommer till webbutveckling, endast på hobbystadiet men har under den tiden sprungit på en del olika script (som med all sin rätt) upphovsrättsmakaren vill ha ett par kronor för.

Som med allt på internet så finns det flera vägar att gå, har inte kunnat undvika att se hur samma script finns att ladda ner utan kostnad här och där, eftersom jag själv är väldigt intresserad utav säkerhet så tänkte jag fråga om det är någon här som har några lästips eller generella funderingar, tillskott kring hur koperingsskydden är uppbyggda, och hur dom knäcks?

Termer såsom "NULL" förekommer ofta har jag sett, någon som har en lite enklare förklaring på det, förstod inte riktigt det jag fann på Google.


Vi kan ta ett exempel på ett script:
Info: http://www.phpjunkyard.com/php-guestbook-script.php
Direktlänk: http://www.phpjunkyard.com/dnl/gbook16.zip

I min värld vill jag tro att själva skyddet borde lokalisera sig i gbook.php
Länk till den late: http://pastebin.com/m321f5ff8


-

Deras gästbok är fri att användas utan kostnad, det dom tjänar på det är väl isåfall att varje person som använder det även går med på att ha en liten textbanner längst ned på sidan:

"Powered by PHP guestbook 1.6 from PHPJunkyard - Free PHP scripts"

Min fråga är inte, "hur får man bort skyddet så man slipper betala" utan snarare hur ett sådant skydd naturligt är uppbyggt och hur svårt det är att knäcka det, respektive vilken kunskapsnivå som krävs.



Tack på förhand för att ni orkade läsa igenom vad som till sist verkade bli en halv novell, hoppas ialf att någon kan dela min nyfikenhet
__________________
Senast redigerad av bananaskidz 2009-01-21 kl. 14:05.
Citera
2009-01-21, 16:42
  #2
Medlem
Finns några bra kopieringsskydd till php, men dom kräver nästan alltid special setup på webservern.

Det du har nu är bara vanliga eval();
Dom brukar köra dom flera gånger.

ex. (eval ifrån rad 1093)

Kod:
<?php
header
("Content-Type: text/plain"); 
$src "eval(gzinflate(base64_decode('DclHkqNIAADA50xPcAAKJ2JPGGEEogHhLxuYwnuEKV6/m9eER9
r/VHczln36hT9ZukGW/reA+VTAnz9yzmvdYumCIAsMcVH5WzCe1CFJ0uMhmfVb0MOxlsuG9w6mQsjO7G
bm8MSTiz7Edy8Jv6YfkUKooxrHu1roj2POxx7mzSjVgHe/0slbW6IEHld3t2xMzzdQIv1AL0TOrl6alU
HhKYfCoMEUTJSfrSJrs2KmbgedTdiB324skM2zdNizG0pb5Q7WDWOGp7RoJW2muvwZJG50bSqeG9gNzq
7Bw4ykY3zHjKT8qOSyl7936tTe4k6jbHcp7qkKem0GRoM6kdqwp4fxsbQUOtnX4A6QrVSYeFFfXdS1wC
BNQs8C/8fWyC1OmGoZmWkGETDBWcb7zaDdXzfgLc2Vf1piWUm/wZBHeNQ76ZhLz2LDzkNv10mXAvXTKr
5TgbNCH9TE163MCVJxrKraXPnLtcgLQd/l9ZGTFwY/WVnOevbGkcb3F6u82yKlxcwymEZvlHONvSeIVb
dgtdwd9OvQ+VLPp/YyupuTJwgOZOooo3U2bd3q2AIBMEMkGvR8V9eiJUJnA44Uxa9acYlbPPuGNH3Gl5
1yeskkh9jDstj7YMEdKkNw1/RNR0P5qB01WahbsI1dDXveIkYLVdzIEPsq+kfk3GK1vl8CsSNGIFIMTq
3/0KF918FVt0610xSBDVSD//Lngappdczg8KXoUAH99qRF4oheJvIV+rQP3ZOzVyGejTlf12DeCrNvEe
c/Pxf9meKz9YL3JNvqq/6KfZ05qz6ZwSAto2v9Ft2l6tHjUH7lx824xR0VLyVLqR7tSXPW2hzkos8lgM
5pkSPYtsxa+Yk5gIA6VBZzGZ2b+tKzyjMhoKHqAA2zMwtF0BhaRU9XX9fMiJqLby1S2zgOXWSJMXHZhy
j7Amqe+VI4cthjZvTaf7EsxqBGrQWW8xIFKBXu5p0ks4t+XdbfWb7dQSAUDWmdxk6XfLhz3Bn4XU3GGq
pmvBx5HMe38s/fv3//+Q8=')));"
;
while(
substr($src,0,5) == "eval(") {
    
$src str_replace("eval(gzinflate(base64_decode('","",$src);
    
$src str_replace("')));",";",$src);
    
$src gzinflate(base64_decode($src));
}
highlight_string("<?php ".$src);
?>

Ger:


Kod:
<?php $link=true;$target=$settings['url_blank']?'target="_blank"':'';if (file_exists('gbook_license.php')) {include_once('gbook_license.php');if (@is_array($settings['gbook_license'])) {$link=false;}}if ($link) {echo '<!--
Changing the "Powered by" credit sentence without purchasing a licence is illegal!
Please visit [url]http://www.phpjunkyard.com/copyright-removal.php[/url] for more information.
-->
<p style="text-align:center" class="smaller">Powered by <a href="http://www.phpjunkyard.com/php-guestbook-script.php" class="smaller" '
.$target.'>PHP guestbook</a> '.$settings['verzija'].' from <a href="http://www.phpjunkyard.com/" class="smaller" '.$target.'>PHPJunkyard - Free PHP scripts</a></p>';}if ($settings['show_nospam']) {echo '<p style="text-align:center"><a href="http://www.phpjunkyard.com/tutorials/guestbook-spam.php" '.$target.'><img src="images/nospam.gif" alt="Guestbook SPAM? Stop it!" style="border:none" /></a></p>';}echo '</div>';include('footer.txt');echo '</body></html>';

För att få bort footern kan du ta bort koden eller så kan du läsa den och förstå den.

I principen är "license" för den bara att skapa en fil som heter gbook_license.php och lägga in
Kod:
$settings['gbook_license'] = array(); 
Så får du ingen footer.
Citera
2009-01-21, 22:23
  #3
Moderator
Protons avatar
Håller med. Det som krävs är så gott som alltid specialanpassningar på servern om man vill kunna köra krypterade script. Ett sätt att skydda sina script är med sourceguardian och ett annat betydligt mer utbrett är ju zend guard. Bägge dessa kräver installationer av extraprylar på servern. I gengäld så går det att

1. Låsa ett script till en viss domän eller ipnummer vilket omöjliggör exekvering på en annan maskin än den som angetts

2 skydda logiken i scriptet. Vet inte exakt hur krypteringen funkar, men jag har sett krypterade script och dessa går inte att läsa på normala sätt

3 påskynda exekveringen av scripten då dessa "kompileras" till en form av bytekod av en del skydd, exempelvis det förutnämnda zend guard.
Citera
2009-01-29, 01:47
  #4
Medlem
bananaskidzs avatar
Tack så mycket!
Många frågetecken som rätats ut, och nya begrepp att läsa på!
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in