Toon posts:

[javascript] o|=b;

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

Verwijderd

Topicstarter
Ik vind dit script in de nedstat basic.


code:
1
2
3
4
5
6
7
8
9
10
11
 var o=0;
 var b=1;
 var p=new Array("D27CDB6E-AE6D-11CF-96B8-444553540000","2A202491-F00D-11CF-87CC-0020AFEECF20","23064720-C4F8-11D1-994D-00C04F98BBC9","","","","90A7533D-88FE-11D0-9DBE-0000C0411FC3","9381D8F2-0288-11D0-9501-00AA00B911A5","22D6F312-B0F6-11D0-94AB-0080C74C7E95"
);
 db.addBehavior("#default#clientcaps");
  for(var i=0;i<p.length;i++){
    if(p[i])
      if(db.isComponentInstalled("{"+p[i]+"}","componentid")){
        o|=b;b*=2;
      }
  }



Ik kom er maar niet uit, wat o nou is:
o|=b;

ik snap dit niet.
Iemand zij dat hij er een 1 achter deed ofzoiets. vb:
01 maakt hij van 11.


Weet iemand wat het is?
o|=b;

Je zou me heel erg blij maken
Alvast bedankt,
Rian

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Gooi onderstaande code in Notepad, save als "test.htm" en dubbelklik...
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<html>
<head>
    <title>Untitled</title>
    <script language="JavaScript">
    
        function tst() {
            var a,b;

            b=1;
            for(t=0;t<16;t++) {
                document.write ('a=' + a + ', b=' + b + '<br>');
                a|=b*2; b*=2;
            }
        }
    
    
    </script>
</head>

<body onload="tst();">
</body>
</html>


Wat ze doen?
Kijken welke plugins (Flash etc) er zijn geïnstalleerd.

probeer ook maar eens:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
<html>
<head>
    <title>Untitled</title>
    <script language="JavaScript">

    !!!!Hier zat een bug in. Lees verder in dit topic voor de juiste code!!!!
    
    </script>
</head>

<body onload="tst();">
</body>
</html>


Ze stellen een bit-mask samen waarin bits op een bepaalde positie op 1 worden gezet als je een Flash Plugin e.d. hebt.

Nog duidelijker: De meest rechtse bit (LSB ofwel Least Significant Bit) is 1 als je flash hebt, de een-na-rechtse bit is 1 als je Shockwave hebt enzovoorts. Uiteindelijk vormen al die bits een getal (=code) die ze terugsturen en in hun Database loggen om te "tellen" welke plugins je had.

Sim-pel :Y)

[ Voor 200% gewijzigd door RobIII op 18-02-2003 00:23 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Verwijderd

Topicstarter
heel erg bedankt.

Groet Rian

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Sorry voor de schop, maar had je mijn Edit gezien?

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Verwijderd

Topicstarter
nu wel:p

Groet Rian

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Zat een BUG-gie in :P

Nog één keer, maar dan de juiste code.
Excuses voor het vernachelen van de layout:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<html>
<head>
    <title>Untitled</title>
    <script language="JavaScript">
            
        function tst() {
            var o=0;
            var b=1;
            var p=new Array("D27CDB6E-AE6D-11CF-96B8-444553540000","2A202491-F00D-11CF-87CC-0020AFEECF20","23064720-C4F8-11D1-994D-00C04F98BBC9","","","","90A7533D-88FE-11D0-9DBE-0000C0411FC3","9381D8F2-0288-11D0-9501-00AA00B911A5","22D6F312-B0F6-11D0-94AB-0080C74C7E95");
            var pComp=new Array("Shockwave Flash","Shockwave for Director","RealPlayer","QuickTime","VivoActive","LiveAudio","VRML","Dynamic HTML Binding","Windows Media Services");
            
            var db=document.body;
            db.addBehavior("#default#clientcaps");
            for(var i=0;i<p.length;i++){
                if(p[i])
                if(db.isComponentInstalled("{"+p[i]+"}","componentid")){
                    o|=b;
                    document.write('i=' + i + ', b=' + b + ', p[' + i + ']=' + p[i] + ', o=' + o + ' (' + pComp[i] + ')<br>');
                }
                b*=2;
            }
            document.write('De or-ed bitcode voor je plugins is:' + o + '<br>');
        }
    
    
    </script>
</head>

<body onload="tst();">
</body>
</html>


b*=2 is overigens hetzelfde als b = b * 2, net als i+=1 hetzelfde is als i = i+1 enzovoorts...

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Verwijderd

Topicstarter
kan je die code dan ook weer terug kijken?

Verwijderd

Topicstarter
RobIII schreef op 18 February 2003 @ 00:01:
Zat een BUG-gie in :P

Nog één keer, maar dan de juiste code.
Excuses voor het vernachelen van de layout:
Als ik de code van nedstat doe, dan krijg ik als output 3, en als ik nu deze versie gebruik , dan krijg ik als output 129:s, terwijl de tweede code hier boven aan ook 3 als output geeft:S

Groet Rian

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Verwijderd schreef op 18 February 2003 @ 00:01:
kan je die code dan ook weer terug kijken?
Natuurlijk, je kunt een bit-mask and-en met een waarde als 64 of 256 om te kijken of 1 bepaalde bit gezet is (1 is).

De code 385 is binair: 110000001
Als ik 385 and met 1 hou ik 1 over, dus de meest rechtse bit is 1.
Als ik 385 and met 2 hou ik niks over, dus de een-na rechtse bit is 0
Als ik 385 and met 4 hou ik niks over, dus de 3e bit (bit 2*) van rechts is nul.
Als ik 385 and met 8 hou ik niks over, dus de 4e bit (bit 3*) van rechts is nul.
Als ik 385 and met 16 hou ik niks over, dus de 5e bit (bit 4*) van rechts is nul.
...
...
Als ik 385 and met 128 dan hou ik 128 over, dus de 8e bit (bit 7*) van rechts is gezet.
Als ik 385 and met 256 dan hou ik 256 over, dus de 9e bit (bit 8*) van rechts is gezet.

Ik heb dus de plug-ins: Shockwave Flash, Dynamic HTML Binding en Windows Media Services

Je ziet dus ook waarom er b*=2 wordt gedaan (1,2,4,8,16,32,64,128,256...)

* Overigens tellen we bits van rechts naar links, 0 is de meest rechtse (LSB ofwel Least Significant Bit), 7 of 15 (afhankelijk van de lengte byte/word etc) is de meest linkse. In dit geval is het echter 8. De meest linkse bit is de MSB, Most-significant bit.

Dus:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
876543210 // Bit nummer
________
110000001 // Bit mask
|||||||||
||||||||+--Shockwave Flash
|||||||+---Shockwave for Director
||||||+----RealPlayer
|||||+-----QuickTime
||||+------VivoActive
|||+-------LiveAudio
||+--------VRML
|+---------Dynamic HTML Binding
+----------Windows Media Services
Verwijderd schreef op 18 February 2003 @ 00:05:
[...]


Als ik de code van nedstat doe, dan krijg ik als output 3, en als ik nu deze versie gebruik , dan krijg ik als output 129:s, terwijl de tweede code hier boven aan ook 3 als output geeft:S

Groet Rian
't is laat en ik ben effe de kluts kwijt... You get the idea... De tweede is goed. Eerste heb ik ge-edit.

[ Voor 35% gewijzigd door RobIII op 18-02-2003 00:32 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Verwijderd

Topicstarter
:) voor mij is het ook een beetje laat, ik ga morgen wel uitgebreid kijken :)
maar heel erg bedankt.

Groeten Rian

  • whoami
  • Registratie: December 2000
  • Laatst online: 16:37

https://fgheysels.github.io/

Pagina: 1

Dit topic is gesloten.