[JS] Hoe ((v==3) || (v==5)) obfuscaten?

Pagina: 1
Acties:

  • Skaah
  • Registratie: Juni 2001
  • Niet online
Voor een spelletje schrijf ik een javascriptje.

Een variabele, v, kan de volgende waarden hebben: 1, 2, 3, 4, 5 of 6.

Als v == 3, moet bij de variabele s 2 bijgeteld worden. Als v == 5, moet bij s 4 bijgeteld worden.
Hoe kan ik dit zo lastig mogelijk maken voor iemand om dit uit de bron van mijn js tehalen?

Ik heb nu dit, maar voor mijn gevoel is het nog niet lastig genoeg.
code:
1
s += ((v % 2) && (v !=  1)) ? ((v & 4) ? 4 : 2) : 0;

Heeft iemand hier nog een suggestie? Alles mag, zolang het maar crossbrowser is.

  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
Ik heb wel eens een (dubbele) eval gezien waarin een heel groot deel van het script van een site was ondergebracht... Daarmee zul je in ieder geval een groot deel van de site-rippers afschrikken...

Je code volledig beschermen is afaik onmogelijk...

Op zoek naar een baan als Coldfusion webdeveloper? Mail me!


  • Skaah
  • Registratie: Juni 2001
  • Niet online
faabman schreef op 14 juni 2004 @ 22:14:
Ik heb wel eens een (dubbele) eval gezien waarin een heel groot deel van het script van een site was ondergebracht... Daarmee zul je in ieder geval een groot deel van de site-rippers afschrikken...

Je code volledig beschermen is afaik onmogelijk...
Dat is een soort encryptie, daar zit ik niet zo op te wachten. Het script is nodig voor een puzzel, waarbij deze regel code de 'sleutel' is. De gebruiker moet proberen te raden hoe een algoritme werkt. Ik wil het zo lastig mogelijk maken om even snel uit te zoeken wat de sleutel is door in de bron te kijken.

  • André
  • Registratie: Maart 2002
  • Laatst online: 18-05 16:30

André

Analytics dude

Ook een leuk trucje is:

http://www.nobellaan.nl/got/test.html

En de mensen die hem al kennen, kop houwe ;)

[ Voor 28% gewijzigd door André op 14-06-2004 22:39 ]


  • Pastinakel
  • Registratie: December 2000
  • Laatst online: 23-05 23:21

Pastinakel

Zwammen en kwazoedels

André schreef op 14 juni 2004 @ 22:39:
Ook een leuk trucje is:

http://www.nobellaan.nl/got/test.html

En de mensen die hem al kennen, kop houwe ;)
Snap ik hem niet of ik snap hem wel en ligt het zo voor de hand dat ik toch denk dat ik hem niet snap... :?

Ontopic: is het echt noodzakelijk om client-side te evalueren?

[ Voor 10% gewijzigd door Pastinakel op 14-06-2004 22:48 ]

Ik kan je niet helpen. De frutsel is warrig en niet knopig. Bovendien heb ik maar één kant | Scrobblernakel


  • PrisonerOfPain
  • Registratie: Januari 2003
  • Laatst online: 07-04 13:41
Pastinakel schreef op 14 juni 2004 @ 22:46:
[...]


Snap ik hem niet of ik snap hem wel en ligt het zo voor de hand dat ik toch denk dat ik hem niet snap... :?

Ontopic: is het echt noodzakelijk om client-side te evalueren?
<script src="text/javascript">

;)

*kende 'm nog niet

[ Voor 8% gewijzigd door PrisonerOfPain op 14-06-2004 22:52 ]


  • Skaah
  • Registratie: Juni 2001
  • Niet online
Pastinakel schreef op 14 juni 2004 @ 22:46:
[...]


Snap ik hem niet of ik snap hem wel en ligt het zo voor de hand dat ik toch denk dat ik hem niet snap... :?

Ontopic: is het echt noodzakelijk om client-side te evalueren?
Ja, ik wil lange reloads vermijden. Klik-antwoord.

  • André
  • Registratie: Maart 2002
  • Laatst online: 18-05 16:30

André

Analytics dude

Hmm, misschien moet je de mogelijkheden van xmlhttp eens bekijken.

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 08:54

crisp

Devver

Pixelated

Bitshifting, eval en je gehele code obfuscaten en de belangrijke stukken daartussen verbergen. Het heeft een half jaar geduurd voordat iemand erachter was hoe de easteregg in de GoT Tracker getriggered kon worden.

Intentionally left blank


  • Skaah
  • Registratie: Juni 2001
  • Niet online
André schreef op 14 juni 2004 @ 23:04:
Hmm, misschien moet je de mogelijkheden van xmlhttp eens bekijken.
Hmm, dat is misschien een beetje overkill om één regeltje te obfuscaten.

Dit heb ik nu:
code:
1
eval(unescape('s%20+%3D%20%28%28v%20%25%202%29%20%26%26%20%28%28v%20%3C%3C%20true%29%20%26%202%29%29%20%3F%20%28%28v%20%26%204%29%3Ftrue%3C%3C2%3A--v%29%20%3A%20false%3B'));

Dat zal de code-spiekers een punthoofd bezorgen.

[ Voor 42% gewijzigd door Skaah op 15-06-2004 09:00 ]


  • Hoppie
  • Registratie: Februari 2001
  • Niet online
JavaScript:
1
document.write(unescape('s%20+%3D%20%28%28v%20%25%202%29%20%26%26%20%28%28v%20%3C%3C%20true%29%20%26%202%29%29%20%3F%20%28%28v%20%26%204%29%3Ftrue%3C%3C2%3A--v%29%20%3A%20false%3B'));

Result:
JavaScript:
1
s += ((v % 2) && ((v << true) & 2)) ? ((v & 4)?true<<2:--v) : false;

Simpel.

  • BTB
  • Registratie: Augustus 2000
  • Laatst online: 22-05 12:24

BTB

 

In Perl werkt dit: $s += ((- ($v & 1)) & $v) & -2;
en ik gok dat het in javascript zonder de $-tekens ook wel werkt.

Bram Bouwens


  • Salandur
  • Registratie: Mei 2003
  • Laatst online: 09:42

Salandur

Software Engineer

André schreef op 14 juni 2004 @ 22:39:
Ook een leuk trucje is:

http://www.nobellaan.nl/got/test.html

En de mensen die hem al kennen, kop houwe ;)
Grappig :)

Assumptions are the mother of all fuck ups | iRacing Profiel

Pagina: 1