Hvordan man virkelig jukser på kudos.no

Noen gang lurt på hvordan du virkelig kan jukse Kudos? Her er den enkle metoden som ikke krever 20 nettlesere installert på pc’en din. Dette er et program som gjør jobben selv 😉

Hacke kudos.no er rimelig enkelt og det er flere måter å gjøre det på. Jeg ser noen som har skrevet hvordan du gjør det på den slitsomme måten (masse nettlesere) og her forklarer jeg hvordan du gjør det på den enkle måten. Jeg vil ikke gi deg hele koden rett i fanget, men det eneste som kreves av deg er litt C# kunnskaper og en .NET kompilator.

Kudos logger hvilken nettleser du bruker og legger en cookie på pc’en din, så trikset er å utgi seg for å ha en en annen nettleser enn du egentlig har. I tillegg er det jo kjedelig å gjøre dette manuelt, så et lite program er på sin plass. I dette tilfellet har jeg laget en liten Console-applikasjon som gir x antall kudos til hvilken sak jeg ønsker.

Først trenger vi en metode som gir oss en random UserAgent string (den forteller hvilken nettleser jeg bruker)

static string GetRandomUserAgent()
{
    List browsers = new List();
    browsers.Add("Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1..........
    browsers.Add("Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9b3pre..........
    browsers.Add("Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9b3) Gecko/200..........
    browsers.Add("Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9a8pre..........
    browsers.Add("Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9a8pre) Gecko/..........
    browsers.Add("Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 6.0)");
    browsers.Add("Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 5.1; .......
    browsers.Add("Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 5.1; .NET CLR ........
    browsers.Add("Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 5.1; .........    
    // osv osv osv.....

    int rnd = new Random().Next(0, browsers.Count);
    return browsers[rnd].ToString();
}

Denne metoden kan definitivt gjøres litt fiffigere, men den holder til dette formålet.

Deretter trenger man en metode som POST’er data til en url/script hos kudos som tar i mot stemmer. Dette finner du ganske lett hvis du leter litt, men jeg kan jo ikke gi deg alt du trenger.

Metoden under er ikke 100% komplett. Jeg har fjernet en del kode slik at det ikke skal bli alt for lett:

static void GiveKudos(int storyId)
{
    string userAgent = GetRandomUserAgent();

    string cacheCode = "120472" + (new Random().Next(5520933, 5529933)).ToString();
    ASCIIEncoding encoding = new ASCIIEncoding();
    string postData = string.Format("task=registerKudos&stor;#####################", storyId, cacheCode);
    byte[] data = encoding.GetBytes(postData);

    // Prepare web request...
    try
    {
        HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://kudos.no/front/########.php");
        req.Timeout = 2000;
        req.Headers.Clear();
        req.Method = "POST";
        req.ContentType = "application/x-www-form-urlencoded";
        req.ContentLength = data.Length;
        req.UserAgent = userAgent;
        req.Referer = "http://kudos.no/";

        Cookie cookie = new Cookie("killmenothing", "");

        Stream newStream = req.GetRequestStream();
        newStream.Write(data, 0, data.Length);
        newStream.Close();

        Console.WriteLine(string.Format("Kudos {0} ok, {1}", storyId.ToString(), userAgent));
    }
    catch 
    {
        Console.WriteLine(string.Format("Kudos failed {0}", storyId.ToString()));
    }
}

Så hvis du er en leser som jobber i ITAvisen/Kudos, send meg en email, så skal jeg fortelle dere hvordan dere unngår dette 😉