php code "beveiligen"

Pagina: 1
Acties:
  • 203 views sinds 30-01-2008
  • Reageer

  • FireFoz
  • Registratie: Juni 2001
  • Laatst online: 31-08 23:38
Hey, ik heb een script gemaakt voor iemand... ik wil graag mijn tag eronder hebben. Is er een manier dat je dat niet zomaar uit het script kan halen?

als je bijvoorbeeld:
code:
1
print("gemaakt door FireFoz");

er in hebt staan, kan die dat er heel makkelijk uitslopen natuurlijk...nou dacht ik in include gewoon een file die op mijn server staat, dan weet ie zowieso al niet zo goed waar die regel staat. Maar dan kan ie natuurlijk weer gewoon die include eruit slopen. Hij heeft nauwelijks verstand van php dus echt bulletproof hoeft het niet te zijn (en dat kan ook niet geloof ik) maar is er een manier?

Leef lekker in het nu, er is niks anders


  • flat
  • Registratie: Mei 2000
  • Niet online
hmmm is lastig ja...
edit:

dit werkt ook niet wat ik hier had neergezet

"Happiness is a way of travel, not a destination."
--Roy Goodman


  • Zoijar
  • Registratie: September 2001
  • Niet online

Zoijar

Because he doesn't row...

nee, kan niet. Is het zelfde probleem als bij kopieer beveiligingen voor software. Je kan het erg lastig maken, maar er is altijd een manier om het eruit te slopen.

  • HGM
  • Registratie: April 2000
  • Niet online

HGM

kan niet,

met eval en een stukje decoden kan je misschien iets doen, maar het is er natuurlijk altijd makkelijk uit te halen.

Verwijderd

Misschien... gewoon op jouw server laten draaien?

  • Zoijar
  • Registratie: September 2001
  • Niet online

Zoijar

Because he doesn't row...

Op vrijdag 28 september 2001 12:05 schreef Yarvieh het volgende:
zend encoder ?
precompiled php? vet :) Thnx voor de link

  • FireFoz
  • Registratie: Juni 2001
  • Laatst online: 31-08 23:38
Price: $2400

yooooooo :P

script is maar 100 regels ofzo :P

Leef lekker in het nu, er is niks anders


  • FireFoz
  • Registratie: Juni 2001
  • Laatst online: 31-08 23:38
mijn script dan he..



ik denk dat ik gewoon alles wat ik kan op mijn eigen server kan runnen op mijn eigen server run. Als hij dan dus die include niet runt die op mijn server draaid, doet het script het niet goed :)
das de enige mogenlijkheid denk ik...:'(

Leef lekker in het nu, er is niks anders


  • Zoijar
  • Registratie: September 2001
  • Niet online

Zoijar

Because he doesn't row...

wat is nou $2400 voor zo iets vets? ;)

  • FireFoz
  • Registratie: Juni 2001
  • Laatst online: 31-08 23:38
das heel veel centjes :P

Leef lekker in het nu, er is niks anders


  • StarLite
  • Registratie: Januari 2000
  • Laatst online: 16-09 10:55

StarLite

'ON ERROR RESUME NEXT

Op vrijdag 28 september 2001 12:14 schreef FireFoz het volgende:
mijn script dan he..

ik denk dat ik gewoon alles wat ik kan op mijn eigen server kan runnen op mijn eigen server run. Als hij dan dus die include niet runt die op mijn server draaid, doet het script het niet goed :)
das de enige mogenlijkheid denk ik...:'(
nadeel als jouw server d'r uit ligt, werkt ZIJN script niet meer.

tyrips, tywreps, tiewreps, tiereps, tie raps, ripties, taiwraps, kabelbindbandjes » Tie Wraps
\o/


  • HGM
  • Registratie: April 2000
  • Niet online

HGM

Op vrijdag 28 september 2001 12:23 schreef -=!ME!=- het volgende:

[..]

nadeel als jouw server d'r uit ligt, werkt ZIJN script niet meer.
Op meerdere servers dat scriptje zetten :)

Verwijderd

jah..je maakt gewooon een include op jou server met jou naam er in..als die niet bestaat geef je een foutmelding ofzo. das dan het beste idd..

  • Prutser_IA
  • Registratie: Januari 2000
  • Laatst online: 03-06-2021

Prutser_IA

<*{{{><

Hou wou je dat doen dan?
Als iemand voor mij een script maakt, en die laat een extern bestand importeren. Als dit bestand niet geinclude wordt, dan werkt het niet..

Dan moet er ergens gecontroleerd worden of dat bestand wel geinclude is, en die controle kan je eruit slopen..

Php is niet te beveiligen, althans.. niet gratis

42


  • Mafioso
  • Registratie: November 2000
  • Laatst online: 20-09 20:25
Misschien is het een idee om zoiets > linkje < te doen. Dat valt ech niet op, en zelfs voor lui die goed PHP kunnen moeten ff goed kijken om te zien wat het doet.

  • Nielsz
  • Registratie: Maart 2001
  • Niet online
Op vrijdag 28 september 2001 13:22 schreef Prutser het volgende:
Hou wou je dat doen dan?
Als iemand voor mij een script maakt, en die laat een extern bestand importeren. Als dit bestand niet geinclude wordt, dan werkt het niet..

Dan moet er ergens gecontroleerd worden of dat bestand wel geinclude is, en die controle kan je eruit slopen..
Wel es van require() gehoord?

  • Nielsz
  • Registratie: Maart 2001
  • Niet online
Op vrijdag 28 september 2001 13:22 schreef Mafioso het volgende:
Misschien is het een idee om zoiets > linkje < te doen. Dat valt ech niet op, en zelfs voor lui die goed PHP kunnen moeten ff goed kijken om te zien wat het doet.
More Mandelbrot, takes 3.5 seconds to execute with PHP 4.0 and 13.5 seconds
haha dikke lol die pagina!

  • HGM
  • Registratie: April 2000
  • Niet online

HGM

Op vrijdag 28 september 2001 13:26 schreef Nielsz het volgende:

[..]

Wel es van require() gehoord?
Joh, en dat kan je dan niet toevallig uit dat script halen??

Het kan gewoon niet, of je moet ervoor gaan betalen (denk ik)

  • Nielsz
  • Registratie: Maart 2001
  • Niet online
Joh!
En wat denk je van in die require een variabele zetten, die je in het hoofdprogramma weer controleert oftie bestaat?

  • FireFoz
  • Registratie: Juni 2001
  • Laatst online: 31-08 23:38
je kan er wel een heel groot script omheen gaan schrijven dat er heel ingewikkeld uit ziet enzo maar eigenlijk niks doet :P
dan kunnen de lamers het er zowieso al niet uitslopen

Leef lekker in het nu, er is niks anders


Verwijderd

wat dacht je van:

een script includen met daarin jouw copyright regel..
en in dat script ook een variabel een vage waarde geven (soort code) en dan kijken of die variabele ook echt die waarde heeft (en dus bestaat met die waarde), zo niet, geef dan een leuke error ofzo :) zodat de pagina niet meer geladen wordt ofzo....
hij zal niet echt snappen hoe dat in elkaar zit hoop ik dan maar :)

  • FireFoz
  • Registratie: Juni 2001
  • Laatst online: 31-08 23:38
Een file includen op een andere server werkt niet met variabelen :'(

Leef lekker in het nu, er is niks anders


  • Nielsz
  • Registratie: Maart 2001
  • Niet online
Op vrijdag 28 september 2001 14:02 schreef FireFoz het volgende:
Een file includen op een andere server werkt niet met variabelen :'(
Dan zet je 'm op dezelfde server!

  • FireFoz
  • Registratie: Juni 2001
  • Laatst online: 31-08 23:38
dat heeft toch geen zin...dan kan die er gewoon in kijken

kijk ik geef dat script aan die gast, en die gast moet die zin van mij er niet uit kunnen slopen
als ik dus op zijn server een include zet waar sommige dingen in staat die dat script gewoon nodig heeft (dus dat ie zonder dat script niet kan) dan kan ie gewoon ff die print er uit halen...en klaar is kees

Leef lekker in het nu, er is niks anders


  • Nielsz
  • Registratie: Maart 2001
  • Niet online
chmod 111 ofzo
* Nielsz is een linuxn00b

  • FireFoz
  • Registratie: Juni 2001
  • Laatst online: 31-08 23:38
uhm?
vertel es wat meer

edit:

aub :)

Leef lekker in het nu, er is niks anders


  • FireFoz
  • Registratie: Juni 2001
  • Laatst online: 31-08 23:38
het komt omdat die vars in het geheugen worden bewaard van die server, dus je kant niet de vars van een server op een andere server gebruiken in een include.. :'(
tenzij je die waardes mee kan geven, en dan weer iets returnen in die include :?
kan dat?

Leef lekker in het nu, er is niks anders


  • goalgetter
  • Registratie: Juni 1999
  • Laatst online: 25-08 15:24
Mischien kan het volgende :

Met behulp van het eerder gegeven linkje codeer je een functie die absoluut nodig is voor het functioneren + je signature. Dit zet je vervolgens in een bestandje op jouw server. Dit bestandje lees je uit en gebruik je vervolgens voor de rest. Om het niet te makkelijk te maken zou je vervolgens natuurlijk ook het stukje in het script waarin de code wordt uitgelezen nog kunnen "encoden".

<offtopic>Zou je idd eval() vanuit een andere eval() statement kunnen aanroepen?</offtopic>

  • elnino
  • Registratie: Augustus 2001
  • Laatst online: 03-09 05:13
Of schrijf het in C, en dan compileer je het... (geen oplossing helaas)

Maar op een andere manier in php wordt moeilijk...
Diegene heeft nog altijd toegang tot de broncode... En als die slim genoeg is kan hij die include / require er gewoon uithalen...

  • FireFoz
  • Registratie: Juni 2001
  • Laatst online: 31-08 23:38
Op vrijdag 28 september 2001 14:20 schreef goalgetter het volgende:
Mischien kan het volgende :

Met behulp van het eerder gegeven linkje codeer je een functie die absoluut nodig is voor het functioneren + je signature. Dit zet je vervolgens in een bestandje op jouw server. Dit bestandje lees je uit en gebruik je vervolgens voor de rest. Om het niet te makkelijk te maken zou je vervolgens natuurlijk ook het stukje in het script waarin de code wordt uitgelezen nog kunnen "encoden".

<offtopic>Zou je idd eval() vanuit een andere eval() statement kunnen aanroepen?</offtopic>
whoa!!! Ik heb zo het id dat ik heel wat ga leren vandaag >:)
Tnx, ik ga het allemaal es fftjes uitzoeken :)

edit:

verkeerde quote :P

Leef lekker in het nu, er is niks anders


  • goalgetter
  • Registratie: Juni 1999
  • Laatst online: 25-08 15:24
Het werkt!

Je laat een bestandje op jouw server bijvoorbeeld dit uitspugen :
code:
1
DQogIGZ1bmN0aW9uIHByaW50X3NpZyAoKQ0KICB7DQogICAgZWNobyAiV2F0IGVlbiBvcGxvc3NpbmchIjsNCiAgfQ0KICA=

Vervolgens zorg je ervoor dat die code in een of andere string terechtkomt op de server van degene die jouw script draait (fopen/fread bedenk maar iets)

In dat script staat nog een string, die voor de onwetende persoon helemaal niets betekend : bijv.
code:
1
DQogIGZ1bmN0aW9uIGRpc3BsYXlfc2lnICgpDQogIHsNCiAgICBnbG9iYWwgJGVuY29kZWRfc2lnOw0KICAgIGV2YWwgKGJhc2U2NF9kZWNvZGUgKCRlbmNvZGVkX3NpZykpOw0KICAgIHByaW50X3NpZyAoKTsNCiAgfQ0KICA=

Deze laatste code bevat in werkelijkheid een functie om de eerste code te decoden en te printen. Vervolgens doe je ergens in je script :
code:
1
eval ($code);

en vervolgens verstop je ergens anders in je script een functieaanroep naar
code:
1
print_sig()

(deze functie noem je uiteraard anders >:) )

  • FireFoz
  • Registratie: Juni 2001
  • Laatst online: 31-08 23:38
ik heb nu:
code:
1
eval(base64_decode("cHJpbnQoIlBvd2VyZWQgYnkgRmlyZUZvejwvYT4iKTs="));

dat valt in principe niet echt op en ik denk niet dat veel mensen weten wat eval doet, ik wist het zelfs niet eens :P

het zal nooit bug free worden maar ik ga gewoon de hele code kut coderen, alles aan elkaar enzo, hier en daar wat moeilijke onzin dat niks doet :P

Moet maar zo :/

Leef lekker in het nu, er is niks anders


  • FireFoz
  • Registratie: Juni 2001
  • Laatst online: 31-08 23:38
ik kan ook de hele code encoden :)

alleen dan heeft het natuurlijk snel door dat het gecode is...hmmm

Leef lekker in het nu, er is niks anders


  • goalgetter
  • Registratie: Juni 1999
  • Laatst online: 25-08 15:24
Je kan inderdaad je hele source gaan encoden, maar ik vraag me af hoe sterk het de performance beïnvloed. BTW, om het de "gebruiker" van de code nog moeilijker te maken kan je uiteraard ook nog verschillende soorten encoding gaan gebruiken.

  • Infinitive
  • Registratie: Maart 2001
  • Laatst online: 19-09 17:21
Zelfs al encode je je source, je kunt altijd op een heel gemakkelijke manier het eruit slopen.

Je zult n.m.l. altijd een eval tegenkomen. Tenslotte, de eval van dat ene kleine rotstukje of misschien wel je gehele code. Ofwel, wanneer je dat stukje code eruit wilt rippen zoek je als eerste naar de eval. Deze is er dus ALTIJD wanneer je je source encode.

Dan is de code zo geript, door de eval() te vervangen door een echo. Voila, daar heb je de gedecrypte source. Deze code knippen en plakken op de plaats van de eval() en je bent klaar.

Tenzij degene daar op gerekent heeft en ergens anders (in een op dat moment niet gecodeert stuk) een variable instelt, zodat de string die naar eval() wordt gestuurt niet altijd hetzelfde is, en alleen maar runt als er een variable een bepaalde waarde heeft. Als je me niet kan volgen, maakt niet uit, want omdat die code op dat moment niet geencrypt is (en omdat je ook nog eens voor die ene eval() sessie die je zojuist geecho't hebt) kan kijken waar dan dat rottige stukje code zit, kan je zien hoe dat gedaan is en het eruit slopen. Maar dit laatste komt eigenlijk niet voor :P (maar ook dan is het dus EENVOUDIG te kraken).

Een manier is door je php-code niet als source-code vrij te geven, maar voorgecompileerd in een file (zoals dat zend ding doet). Of zoals ik wel eens gedaan hebt, een aparte versie van php compileren, met daar de source-code hard ingebakken (en op een simpele manier gedecrypt, maar alleen assembler hackers kunnen er dan bijkomen). Met dat project ben ik zelf nooit verder gegaan (een deel van php's code wordt automatisch gegenereerd en mijn aanpassingen zaten juist precies in dat stuk (tijdens het compilen onder linux merkte ik het niet, en met een "make clean" was alles pleite). Ik weet op dit moment wel andere manier, héél simpel eigenlijk, maar ik hb nu absoluut geen tijd en weinig animo was er de vorige keer ook niet voor).

Mochten er nu mensen zijn die dat progje toch wel graag willen (gratis natuurlijk), mail dan even naar m'n e-mail adres (zie profile). Na volgende week maandag (dead-line van een prakticum) heb ik misschien wel wat tijd.

putStr $ map (x -> chr $ round $ 21/2 * x^3 - 92 * x^2 + 503/2 * x - 105) [1..4]


  • goalgetter
  • Registratie: Juni 1999
  • Laatst online: 25-08 15:24
Volgens mij is er ook nooit gezegd dat dit moeilijk te ontcijferen was, het is alleen voor een leek die de code in handen krijgt een stuk moeilijker om de signature eruit te slopen.

Wil je echt je source beschermen dan zal je het op een andere manier moeten doen.
Pagina: 1