Fasadas2009
Platinum Üye
- Katılım
- 7 Nis 2020
- Mesajlar
- 170
- Beğeniler
- 23
ARKADAŞLAR DREAMFANCY SİTESİNDE OLAN DUMPER'LAR ÇALIŞMADIĞI İÇİN BAKIYORUM SÜREKLİ DUMPER VARMI FALAN DİYE BİR KOD BULDUM ESKİ AMA BUNU NASIL YAPACAĞIMI BİLMİYORUM BURAYA KODLARI BIRAKIYORUM
BU ARADA METİN2 TC İÇİN DUMPER BULMAYA ÇALIŞIYORUM
BU ARADA METİN2 TC İÇİN DUMPER BULMAYA ÇALIŞIYORUM
Kod:
<?
####################################################
# #
# Tontonq © #
# #
###################################################
$base=0x400000; // .code base
$data=file_get_contents("m2usa.exe"); // unpacked of metin2client.bin
$logdosya="m2fnc.txt"; // l0g file
function ascii2hex($ascii) {
$hex = '';
for ($i = 0; $i < strlen($ascii); $i++) {
$byte = strtoupper(dechex(ord($ascii{$i})));
$byte = str_repeat('0', 2 - strlen($byte)).$byte;
$hex.=$byte." ";
}
return $hex;
}
function taban10($sayi)
{
$sayi=strrev($sayi);
$basamak=strlen($sayi);
for($b=0; $b<$basamak; $b++)
{
$hex[]=substr($sayi,$b,1);
}
for($i=$basamak-1; $i>=0; $i--)
{
switch($hex[$i]){
case 'A': $hex[$i]=10; break;
case 'B': $hex[$i]=11; break;
case 'C': $hex[$i]=12; break;
case 'D': $hex[$i]=13; break;
case 'E': $hex[$i]=14; break;
case 'F': $hex[$i]=15; break;
default : $hex[$i]=$hex[$i];
}
if($i==0)
{
$toplam+=$hex[$i];
}
elseif($i==1)
{
$toplam+=($hex[$i]*16);
}
else
{
for($a=0; $a<$i-1; $a++)
{
if(!isset($aratoplam)){$aratoplam=$hex[$i]*16;}
$aratoplam*=16;
}
if(!isset($toplam)){$toplam=0;}
$toplam+=$aratoplam;
unset($aratoplam);
}
}
return $toplam;
}
function dec2hex($dec)
{
$hex = ($dec == 0 ? '0' : '');
while ($dec > 0)
{
$hex = dechex($dec - floor($dec / 16) * 16) . $hex;
$dec = floor($dec / 16);
}
return $hex;
}
function hex2ascii($hex){
$ascii='';
$hex=str_replace(" ", "", $hex);
for($i=0; $i<strlen($hex); $i=$i+2) {
$ascii.=chr(hexdec(substr($hex, $i, 2)));
}
return($ascii);
}
function arasi($a,$b,$data)
{
$x = explode($a,$data);
$z = explode($b,$x[1]);
$oh = $z[0];
if($x && $z) { return $oh; } else { return false; }
}
function ters($s)
{
$s=str_replace(" ","",$s);
for($i=2;$i<=strlen($s)+1/2;$i=$i+2)
{
$x= substr($s, 0-$i);
$xx=substr($x,0,2);
$str.=$xx;
}
return $str;
}
function readress($data,$adress,$byte)
{
global $base;
$adress=$adress-$base;
return substr($data,$adress,$byte);
}
$x=hex2ascii("CC565768F30300006A006A0068");
$endd=hex2ascii("68");
preg_match_all('/(\xCC\x56\x57\x68\xF3\x03\x00\x00\x6A\x00\x6A\x00\x68|\x68\xF3\x03\x00\x00\x6A\x00\x6A\x00\x68)(.*?)\x68/',$data,$x);
foreach($x[2] as $y => $z)
{
echo "Module : ".ters(ascii2hex($z))."\n";
$module[]=ters(ascii2hex($z));
}
foreach($module as $c => $module)
{
$isim=ters(ascii2hex(readress($data,taban10($module),4)));
$adress=ters(ascii2hex(readress($data,taban10($module)+4,4)));
$buyukdata.= current(explode("\x00",readress($data,taban10($isim),100)))." - 0x".$adress."
";
$bdata=readress($data,taban10($module),5000);
$modbol=arasi(readress($data,taban10($module),4),"\x00\x00\x00\x00\x00\x00\x00\x00\x00",$bdata);
$modbol=substr($modbol,4,strlen($modbol));
$modbol=str_replace(hex2ascii("01 00 00 00 00 00 00 00"),"blabla",$modbol);
preg_match_all('/(.*?)blabla/',$modbol,$otekifnc);
for($i=1;$i<=count($otekifnc[1])-1;$i++)
{
//echo " [$i] => ".ascii2hex($otekifnc[1][$i])."\n";
$isim=ters(ascii2hex(substr($otekifnc[1][$i],0,4)));
$adress=ters(ascii2hex(substr($otekifnc[1][$i],4,4)));
$buyukdata.= current(explode("\x00",readress($data,taban10($isim),100)))." - 0x".$adress."
";
}
}
fwrite(fopen($logdosya,w),$buyukdata);
?>