Toon posts:

Easter egg in php 4.*

Pagina: 1
Acties:
  • 364 views sinds 30-01-2008

Verwijderd

Topicstarter
Hmm er zit een easter egg in php 4.*, dit is een plaatje van de author. deze krijg je te zien als je "?=PHPE9568F36-D428-11d2-A769-00AA001ACF42" achter een php file zzet, bv

gathering.tweakers.net/index?=PHPE9568F36-D428-11d2-A769-00AA001ACF42

wat vinden jullie daar nu van?, of is dit topic al geweest?, ik hep er namelijk nog nix over gelezen...

  • Exterazzo
  • Registratie: Mei 2000
  • Laatst online: 22:50

Exterazzo

Qeasy

whehe :) LOL

Audentia


  • vlabakje
  • Registratie: Juni 2000
  • Laatst online: 11-05 08:00
ultra

als dit hier staat heb ik een php-generated sig :)


Verwijderd

Topicstarter
Wel een vreemd plaatje By the Way :P

  • Counter-Strike
  • Registratie: Maart 2000
  • Niet online

Counter-Strike

Maar ik speel het niet!

Coolies !!! :)

Dit is het einde van deze mededeling. De mogelijkheid tot reageren is aanwezig!


  • Bart Coppens
  • Registratie: April 2000
  • Laatst online: 25-11-2021
LOL!

Copyright Auteur heeft Tweakers.net BV geen exclusieve licentie op bovenstaande post verleend. Voorafgaande en uitdrukkelijke schriftelijke toestemming van Tweakers.net BV is dus niet noodzakelijk voor het vermenigvuldigen van bovenstaande post


  • GX
  • Registratie: Augustus 2000
  • Laatst online: 14-05-2025

GX

Nee.

gaaf :)
dit moet bekend worden :P (Hoe kom jij hier eigenlijk aan :?)

  • koornee
  • Registratie: Oktober 2000
  • Laatst online: 16-05 22:57

koornee

3!

hehe, lol :)
maf plaatje btw

Beauty is everywhere | Hold on, it's manual focus,... www.cornedeweert.nl


Verwijderd

Topicstarter
Op zondag 17 december 2000 00:07 schreef GeonetiX het volgende:
gaaf :)
dit moet bekend worden :P (Hoe kom jij hier eigenlijk aan :?)
Gewoon eventjes alle variabelen die er zijn testen :P

  • Config
  • Registratie: Januari 2000
  • Laatst online: 06-01-2025
sure Biatch :D

Verwijderd

Aargh! Een goeie reden de php4 source code nog maar eens te tweaken en opnieuw te compileren. Wat een figuur!!! :r:r:r

  • KnEuTeR
  • Registratie: Mei 2000
  • Laatst online: 24-02-2024

KnEuTeR

iedereen heeft een handelsmerk

S-T-R-A-K >:)>:)>:)

Computers ain't that smart, Whatever man built could be taken apart


  • Booster
  • Registratie: Februari 2000
  • Laatst online: 17:18

Booster

Superuser

Whehe lol :)

The cake is a lie | The Borealis awaits...


  • Maxonic
  • Registratie: September 2000
  • Laatst online: 20-01 23:34
Wow cool...
Hé Voxell, kan je niet nog meer van die variables gaan proberen?.. Mischien staat de rest van zijn familie d'r ook in. :)

Verwijderd

Niet de rest van zijn familie, wel de makers :-) Er is er namelijk nog een:

http://www.tweakers.net/?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000

(ik heb dezeg gehaald van http://www.eeggs.com/items/18686.html )

  • Apache
  • Registratie: Juli 2000
  • Laatst online: 08-05 09:28

Apache

amateur software devver

Op zondag 17 december 2000 18:18 schreef _Gilles_ het volgende:
Niet de rest van zijn familie, wel de makers :-) Er is er namelijk nog een:

http://www.tweakers.net/?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000

(ik heb dezeg gehaald van http://www.eeggs.com/items/18686.html )
die kende ik al die zit in phpinfo, is geen echte easter egg.

If it ain't broken it doesn't have enough features


  • Tom
  • Registratie: Juni 1999
  • Niet online

Tom

Ik wil p0rn :)

Verwijderd

Klopt, het is een 1 april easter egg in phpinfo().

Check http://212.204.163.177/~barend/phpinfo.php wel een paar keer reloaden...

  • brammetje
  • Registratie: Oktober 2000
  • Laatst online: 12-01-2025
Op zondag 17 december 2000 20:00 schreef vxmv het volgende:
Klopt, het is een 1 april easter egg in phpinfo().

Check http://212.204.163.177/~barend/phpinfo.php wel een paar keer reloaden...
wat moet ik hier komen te zien??

Verwijderd

Op zondag 17 december 2000 22:17 schreef PlayR het volgende:

[..]
wat moet ik hier komen te zien??
Gewoon een paar keer reloaden, het is niet al te voor de hand liggend natuurlijk

  • MaxxRide
  • Registratie: April 2000
  • Laatst online: 09-01 10:13

MaxxRide

Surf's up

Echt kewl!!!!

If you are not wiping out you are nog pushing enough...


Verwijderd

Op zondag 17 december 2000 22:26 schreef vxmv het volgende:

[..]
Gewoon een paar keer reloaden, het is niet al te voor de hand liggend natuurlijk dat logo

  • chem
  • Registratie: Oktober 2000
  • Laatst online: 18-05 16:24

chem

Reist de wereld rond

hahaha, ik vind hem wel tof

zit dat in PHP of heb jij er mee gepriegeld? want ik zag een *.nl related ding en volgens mij is dat niet door de php-devvers erin gemaakt?

Klaar voor een nieuwe uitdaging.


Verwijderd

Op zondag 17 december 2000 22:28 schreef chem het volgende:
hahaha, ik vind hem wel tof

zit dat in PHP of heb jij er mee gepriegeld? want ik zag een *.nl related ding en volgens mij is dat niet door de php-devvers erin gemaakt?
Dat staat in de php source code, ik heb niks met HTML gepriegeld. Ik heb php versie 4.03pl1. En jullie?

Verwijderd

Op zondag 17 december 2000 22:31 schreef vxmv het volgende:

[..]
Dat staat in de php source code, ik heb niks met HTML gepriegeld. Ik heb php versie 4.03pl1. En jullie?
Wheeee, Rooie Oortjes roelen! WHooahh! Dit is wat ze Tweaken noemen jongens en meisjes.

Verwijderd

Topicstarter
Jah staat er in.. ik vind hem wel grappig... Ik wist niet dat ze in die open source zooi ook easter eggs strooien :P

  • vlabakje
  • Registratie: Juni 2000
  • Laatst online: 11-05 08:00
hmmz, na enig zoeken blijkt dat de image is opgeslagen in main/logos.h op lijn 749 en de egg wordt gedecteerd in main/main.c op lijn 1123
de code die de easter-egg exposed op 1 april is te vinden op lijn 177 van ext/standard/info.c
:7

als dit hier staat heb ik een php-generated sig :)


Verwijderd

Topicstarter
Koel dank je :), dat is tenminste nog handig :) maar is het dus wel een plaatje?, geen link ofzoow?

Verwijderd

Op zondag 17 december 2000 23:00 schreef vlabakje het volgende:
hmmz, na enig zoeken blijkt dat de image is opgeslagen in main/logos.h op lijn 749 en de egg wordt gedecteerd in main/main.c op lijn 1123
de code die de easter-egg exposed op 1 april is te vinden op lijn 177 van ext/standard/info.c
:7
congrats! je bent geslaagd met een 10. nu nog een manier vinden om random plaatjes te krijgen. Die van mij is ook hard meegecompiled :P:P:P

  • vlabakje
  • Registratie: Juni 2000
  • Laatst online: 11-05 08:00
Op zondag 17 december 2000 23:07 schreef vxmv het volgende:

[..]
congrats! je bent geslaagd met een 10. nu nog een manier vinden om random plaatjes te krijgen. Die van mij is ook hard meegecompiled :P:P:P
*grin* en dan te bedenken dat ik niet eens C kan proggen :D
overigens wel een ranzige methode, hoe heb jij het gedaan als ik vragen mag? zo te zien hebben ze (php crew) een array gemaakt van de chars in een image file.

als dit hier staat heb ik een php-generated sig :)


Verwijderd

Het is eigenlijk heel eenvoudig. Kwestie van de php source code tweaken. Het plaatje is inderdaad gedefinieerd op regel 749 van main/logos.h:
code:
1
2
3
4
unsigned char php_egg_logo[] = {
     71,  73,  70,  56,  57,  97, 130,   0,  67,   0, 
    ......
      4,   0,  59,   0  };

Om te testen of het echt de binaire data van een gif is (zie regel 1 main/logos.h) heb ik eerst die zooi met nummers eerst gekopieerd in een php programma dat het plaatje weergeeft en opslaat op schijf:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
$a = array(
     71,  73,  70,  56,  57,  97, 130,   0,  67,   0, 
    ....
      4,   0,  59,   0  );

$s = "";
for ($i = 0; $i < sizeof($a); $i++) {
    $s .= chr($a[$i]);
}

echo $s;

$fp = fopen("egg_logo.gif", "w");
fwrite($fp, $s, sizeof($a));
fclose($fp);
?>

"echo $s" geeft inderdaad het plaatje in de browser. Verder wordt dus het plaatje opgeslagen als gif. Dit plaatje blijkt inderdaad een valid gif te zijn.

Vervolgens heb ik een plaatje gezocht (kwam bij rooie-oortjes.nl uit :P), heb hetzelfde gifje ontdaan van die lelijke kerel en opgefleurd met Natasja ofzo. Photoshop werk dus. Opgeslagen als .gif. Dit plaatje dan vervolgens ingelezen met het script:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
$fd = fopen("egg_logo2.gif", "r");
$s = fread($fd, filesize("egg_logo2.gif"));

$c = 0;
echo "\t";
for ($i=0; $i < filesize("egg_logo2.gif"); $i++) {
    if ($c==10) {
        echo "\n\t";
        $c=0;
    }
    $g = ord($s[$i]);
    if (intval($g) < 100) echo " ";
    if (intval($g) < 10) echo " ";
    echo  $g . ", ";
    $c++;
}

fclose($fd);
?>

Het resultaat is een rij getallen in de browser, maar de source van deze 'html'-pagina is precies geschikt als nieuw plaatje in main/logos.h:
code:
1
2
3
4
unsigned char php_egg_logo[] = {
         71,  73,  70,  56,  57,  97, 130,   0,  67,   0,
...
        161,  30, 250, 161,  71,  16,   4,   0,  59,   0 };

De laatste 0 heb ik zelf toegevoegd, zal wel een eind-code zijn die ontbrak door mij script. Deze nummers heb ik domweg over de bestaande nummers in main/logos.h gekopieerd.

Vervolgens heb ik de aanroep (in ext/standard/info.c) een handje geholpen, zodat ie niet alleen op 1 april zichtbaar is:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
if (expose_php) {
    srand(clock());                
    if (((ta->tm_mon==3) && (ta->tm_mday==1)) || !(rand() % 5)) {
        PUTS("<a href=\"http://www.rooie-oortjes.nl/\"><img src=\"");
        if (SG(request_info).request_uri) {
            PUTS(SG(request_info).request_uri);
        }
        PUTS("?=PHPE9568F36-D428-11d2-A769-00AA001ACF42\" border=0 align=\"right\" alt=\"Ooh...yeah!\"></a>");
    } else {
        PUTS("<a href=\"http://www.php.net/\"><img src=\"");
        if (SG(request_info).request_uri) {              
            PUTS(SG(request_info).request_uri);
        }
        PUTS("?=PHPE9568F34-D428-11d2-A769-00AA001ACF42\" border=0 align=\"right\" alt=\"PHP Logo\"></a>");
    }
}

Dit stukje staat rondom die regel 177 die jij noemde in ext/standard/info.c. De random is er dus bijgekomen en het opbouwen van de link zit nu ook binnen de tweede if. Bij mij is het logo dus zichtbaar op 1 april en verder elke dag met 1/5 kans. En de link is dan dus anders, die gaat naar rooie oortjes :P.

De rest was simpel:
rm ext/standard/info.lo
rm main/main.lo
make
su root
apachectl stop
make install
apachectl start

En klaar is Kees, je krijgt op phpinfo() Natasja te zien ipv dat gedrocht!

Verwijderd

?=PHPE9568F35-D428-11d2-A769-00AA001ACF42

nog eentje.

vb.:


http://www.tweakers.net/?...28-11d2-A769-00AA001ACF42
http://www.tweakers.net/?...92-11d3-A3A9-4C7B08C10000
http://www.tweakers.net/?...28-11d2-A769-00AA001ACF42

[ Voor 13% gewijzigd door Verwijderd op 30-11-2004 09:41 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 19-05 13:45

gorgi_19

Kruimeltjes zijn weer op :9

Een kick van bijna 4 jaar; PHP 5 die al gereleased is. 2 redenen waarom ik de kick van dit topic te weinig waarde vindt hebben om hem open te houden :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo

Pagina: 1

Dit topic is gesloten.