IHateThisFuckingServer()

Indította Shirak, 2014. június 27. - 00:47:24

Előző téma - Következő téma

Shirak

Tegnap megmutattuk, hogy élhetik ki a dühüket azok, akiknek elegük van a CompuPhase-bõl. Most azoknak kedveskedek, akiknek a tökük tele van, hogy már megint be kéne fizetni a hosztot, pedig alíg van player; vagy akik utálják a gamemode-ot, amit futtatnak.

Az alábbi script egy tetszõleges memóriacímrõl kér be adatot a PRI regiszterbe (köszi krisk a szives segítséget). Az érvénytelen memóriatérbe lépve a szerver meglepetést okoz.



IHateThisFuckingServer() {
      while(true) {
         new s = random(-1);
         #emit LREF.S.pri s
      }
}

 



Példa szkript




CMD:shirakapawnmestere(playerid, params[]) {
   IHateThisFuckingServer();
   return 1;
}

kiswajas

Na jó, az elsõ még vicces volt, de ideje leállni.

Ezek után k*rvára nem értem miért a moderátorokban kell keresni a hibát, ha õk csak a dolgukat végzik az ilyen retardokkal szemben...

krisk

Most én is ezt írnám, de igazából ennek a scriptnek tényleg van gyakorlati haszna. Nagyobb scripteket lehet vele crash-biztossá tenni, megnézni, hogy hogy reagál a script crashek/fagyások hatására, stb.

Shirak

Idézetet írta: razr date=1403827496\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"49053\" data-ipsquote-contentclass=\"forums_TopicNa jó, az elsõ még vicces volt, de ideje leállni.

Ezek után k*rvára nem értem miért a moderátorokban kell keresni a hibát, ha õk csak a dolgukat végzik az ilyen retardokkal szemben...

 
Az a baj, hogy ennek a scriptnek van értelme. :)

KovaNovik

Végre egy dolgot megértettem a #emit-bõl. A -1-es random amûgy mit ad ki?
Komolyan, hogy lehetne véletlen létezõ memóriacímet tenni egy változóba?

krisk

Már küldtem egy PM-et. Lényegében random(-1) egy 0 és 0xFFFFFFFF [(2^32)-1] közti memóriacímet választ ki random, míg az LREF.S.pri opkód gyakorlatilag az FRM+offset cím alatt található adatot írja be a PRI regiszterbe.
Azért nem a LOAD regisztert használjuk, mert az csak akkor mûködik, ha az adott memóriacím a DATA szegmensben van, mi pedig pont ezt akarjuk elkerülni. A script elõbb-utóbb megpróbál a stacken kívülrõl olvasni, amikor is a szerver kifagy. Ez általában a 2.-3. próbára meg is történik.