Jump to content

[PAWN] CanYouRunThis? - Prolomení ochrany módu


ffredyk

Recommended Posts

  • Majitel

Jelikož se tu teď rozmohly "soutěže" o to kdo dřív prolomí ochranu módu, přicházím na scénu s mým nápadem, který bych rád otestoval už hodně dlouho.

Původní koncept ochrany jsem vymyslel už před rokem, ale nějak nebyl čas, nálada ani vhodná doba k vypracování takového kódu.

 

http://ffredyk.cz/GM/canyourunthis.amx

 

Toť jest ten mód, který má být prolomen!

 

Cílem úkolu je získat od serveru string o úspěchu propojení a odemknutí módu.

Chci důkaz v podobě screenu, mód se nevypíná ani v případě neúspěchu, ani v případě úspěchu.

 

Jako vše, existuje šance, že ve scriptu je chyba, i když jsem to teď skoro hodinu zkoušel, tak by to mělo být vychytané.

Link to comment
Share on other sites

  • Majitel
zacal s tim Laces a bude to sem davat kazdej -_-

 

Nikdo tě nenutí aby jsi to zkoušel.

Řekl bych, že tohle bude aspoň větší výzva scratch_one-s_head.gif (doufám)

 

EDIT: A že ty nedokážeš prolomit ani jednodušší ochrany, není náš problém, prostě a čistě se neser do těchto topiců ;)

Link to comment
Share on other sites

zacal s tim Laces a bude to sem davat kazdej -_-

 

Nikdo tě nenutí aby jsi to zkoušel.

Řekl bych, že tohle bude aspoň větší výzva scratch_one-s_head.gif (doufám)

 

EDIT: A že ty nedokážeš prolomit ani jednodušší ochrany, není náš problém, prostě a čistě se neser do těchto topiců ;)

jak muzes vedet ze neprolomim lehci ochrany ? si zas hrajes na borce nebo co ? tak drz papulku :)

Link to comment
Share on other sites

  • Majitel

kdo rekl ze nedokazu ? meles sr*cky zase :d celej ty no

 

Definuj: Mlít sračky..

 

Říkám to já. Dokaž, že tu ochranu prolomíš a řeknu, že jsem se mýlil..

Link to comment
Share on other sites

  • Majitel
http://77.93.223.223/hacked10min.PNG

 

hua ha

 

urobil som si vlastný script :-D

 

http://77.93.223.223/lol.php

 

Nice, jinak by se to podle mě ani vyřešit nedalo, kdyby byla URL přímo zakomponovaná v módu, tak by ti vytvoření vlastního scriptu bylo k ničemu..

 

Klíč pro spuštění módu je: "ferda-vola-bagry!"

 

EDIT:

 

PHP script:

 

<?php
$start = $_GET["start"];
$mujsvatejklic = "ferda-vola-bagry!"; //Klíč který je potřeba mít v souboru, pro odemknutí serveru!

if(isset($_GET["start"])) 
{
 if($start == 64) echo "42";
 else echo "81";
}
else
{
 $key = $_GET["key"];
 if(isset($_GET["key"]))
 {
   if($key == $mujsvatejklic) echo "46";
   else echo "7";

   $valid = 0;
   if($key == $mujsvatejklic) $valid = 1;
   $sql = "INSERT INTO TestKeys (`Key`, `DateTime`, `Valid`) VALUES ('$key', NOW(), '$valid');";
   mysql_connect("server", "acc", "heslo");
   mysql_select_db("db");
   mysql_query($sql);
 }
 else echo "762";
}



?>

 

 

Pawn Script:

 

#include 
#include 

main()
{
print("Spuštění skriptu.");
}

new bool:Lock = true;
new Key[100];

stock CheckLock()
{
if(Lock) return 7;
else return (40 + 6);
}

stock StartCheck()
{
new output[100];

if(!fexist("control.cfg")) print("Soubor control.cfg neexistuje! Vytvořte ho a vložte do něj adresu kontrolního serveru (bez http://)");
else
{
	new File:prdel = fopen("control.cfg",io_read);
	if(prdel) fread(prdel,output);
	fclose(prdel);
}

strins(output,"?start=64",strlen(output));
print("Odesílám požadavek na spojení s kontrolním serverem.");
HTTP(1,HTTP_GET,output,"","HTTPReturn");
}

stock CheckKey()
{
   new output[100];
new output2[100];

   if(!fexist("control.cfg")) print("Soubor control.cfg neexistuje! Vytvořte ho a vložte do něj adresu kontrolního serveru (bez http://)");
else
{
	new File:prdel = fopen("control.cfg",io_read);
	if(prdel) fread(prdel,output);
	fclose(prdel);
}

   if(!fexist("lock.key")) print("Soubor lock.key neexistuje! Vytvořte ho a vložte do něj klíč potřebný k odemknutí módu!");
   else
   {
    new File:prdel2 = fopen("lock.key",io_read);
	if(prdel2) fread(prdel2,output2);
	fclose(prdel2);
}

   print("Odesílám požadavek na kontrolu klíče.");
Key = output2;
new data[120];
format(data,120,"?key=%s",output2);
strins(output,data,strlen(output));
HTTP(2,HTTP_GET,output,"","HTTPReturn");
}

public OnGameModeInit()
{
// Don't use these lines if it's a filterscript
SetGameModeText("CanYouRunThis?");
AddPlayerClass(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);

print("Spouštím kontrolu ochrany modu!");
print("Úspěch spuštění poznáš podle výsledné hlášky");

StartCheck();
return 1;
}

forward HTTPReturn(index, response_code, data[]);
public HTTPReturn(index, response_code, data[])
{
if(response_code == 200)
{
	if(index == 1)
	{
	    if(strfind(data,"42") != -1)
	    {
			print("Spojení s kontrolním serverem úspěšně navázáno!");
			print("Spouštím ověření klíče");
			CheckKey();
		}
		else printf("Spojení se serverem se nezdařilo! CHYBA 81",data);
	}
	if(index == 2)
	{
	    if(strfind(data,"46") != -1)
	    {
	        print("Klíč ověřen, výsledek: ÚSPĚCH!");
	        Lock = false;
	        SetTimer("StartItUp",2000,0);
	    }
	    else print("Klíč ověřen, výsledek: SELHÁNÍ!");
	}
}
else
{
    if(index == 1)
    {
        print("Spojení s kontrolním serverem nebylo navázáno!");
        print("Mód zůstane uzamčen");
    }
	if(index == 2)
	{
	    print("Při kontrole klíče došlo k chybě ve spojení, restartujte gamemód!");
	}
}
}

forward StartItUp();
public StartItUp()
{
   if(CheckLock() == (40 + 6))
{
    print("Mód byl úspěšně spuštěn! Gratuluji!");
    printf("Klíč: %s",Key);
}
else
{
    print("Mód byl uzamčen z důvodu nefunkčního klíče!");
    printf("Klíč: %s",Key);
}
}

 

 

Obsah databáze:

http://i.imgur.com/IUEST.png

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...