[TuT] Popravljanje bagova za obaranje servera na UPu

Započeo lv, Avgust 07, 2014, 16:43:36 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 4 gostiju pregledaju ovu temu.

lv

*

Pozdrav, vidim da se mnogo vas pati sa UP modom, i pita koji su bagovi za obaranje servera i tih stvarcica.. Ja sam uspeo da pronadjem za sada 3 BAG-a ! A to su

1. Znak % u input dialozima
2. Duzina lozinke veca od 24 simbola/znaka/slova
3. Boja vozila => 9999 9999
4. /prome(je)nipass

Potrebno nam je
UnderPoint Mod :D

Pa da krenemo sa popravkama...
Prvo radimo znak % .. Nemojte odmah misliti da trebate ispod svakog dialoga da pravite provere da li je upisan znak % , ili tako nesto.. Vec samo pod OnDialogResponse trebate staviti jednu jedinu proveru.. Evo ovako izgleda

if(strfind(inputtext, "%", true) != -1) // Ukoliko u dialogu server pronadje znak %, sta da radi
{
    SCM(playerid, -1, " Nema ovde obaranja, cibe"); // Salje mu bezobraznu poruku
        return 1;
}

I eto, to je jedan bag ... Sada krenimo na drugi
Duzina lozinke.. Takodje, samo trebate promeniti jedan broj :)
Nadjite na UP modu

MAX_DUZINA_LOZINKE

Kada ste nasli to, iza MAX_DUZINA_LOZINKE pise vam broj 26.. Jednostavno, promenite na neki manji broj.. Recimo 14-15 .. I tako igrac vise nece moci da upise vise od 14 znakova, i server nece pasti...
Ok, idemo na finalni bag, koji sam ja uspeo da nadjem.. A to je da stavite boju vozila na 9999 9999... Takodje, tu samo jedna linija resava problem, ali morate u svim dialozima za farbanje vozila dodati ovo

if(boja[0] >= 255|| boja[0] <= 0 || boja[1] <= 0 || boja[1] >= 255) return SCM(playerid,-1, "Ne mozes koristiti taj ID");

To jednostavno dodajte ispod svakog dialoga za farbanje vozila...
UPDATE: Hvala Levu-u za ovo...
Sledeci bug je /promjenipass, /promenipass .. I tamo morate odraditi ovo.. Dakle, u Up modu nadjite ovo

if(strlen(params) > 26) return SCM(playerid, -1, ""CRVENA"[GRESKA] "SIVA"Lozinka je previse dugacka (Max 26 znakova)!");

Jednostavno, promenite u ovo

if(strlen(params) > 14) return SCM(playerid, -1, ""CRVENA"[GRESKA] "SIVA"Lozinka je previse dugacka (Max 14 znakova)!");

[/code]
Eto, to je to :) To su svi bagovi koje sam ja uspeo da nadjem, ne kazem da su svi, mozda ima jos koji, ali to su najpoznatiji :)

Credits: Rooky, Paolo , Levu
Pišem skriptu isključivo kad sam naduvan

lv

*