boberz
24-07-2005, 16:43
Вот решил поделится своей наработкой.
Искол решения, не нашел, может кому пригодится...
<?php
//boberz (2005)
//boberz@yandex.ru
$filemmc = "c:/WINDOWS/system32/tsmmc.msc"; //сюда забить полный путь к файлу
$tsmmc = file_get_contents($filemmc);
preg_match_all("/<Binary>(.*?)<\/Binary>/si", $tsmmc, $a, PREG_SET_ORDER);
$tsmmc1 = substr($tsmmc, 0, strpos($tsmmc, $a[2][1]));
$tsmmc3 = substr($tsmmc, strpos($tsmmc, $a[2][1])+strlen($a[2][1]));
$tslist = mb_convert_encoding($a[2][1], "cp1251", "BASE64");
$tsarray = array();
for($i=4; $i<strlen($tslist); $i+=0x1050) {
$tsnode = substr($tslist, $i, 0x1050);
$tsnodename = mb_convert_encoding(substr($tsnode, 4+520, 520), "cp1251", "UTF-16LE");
$tsnodename = substr($tsnodename, 0, strpos($tsnodename, "\x0"));
array_push($tsarray, array($tsnodename, $tsnode));
}
sort($tsarray);
$tslist = substr($tslist, 0, 4);
for($i=0; $i<count($tsarray); $i++) {
$tslist .= $tsarray[$i][1];
}
$tslist = mb_convert_encoding($tslist, "BASE64", "UTF-16LE");
file_put_contents($filemmc, $tsmmc1."\n".$tslist."\n".$tsmmc3);
?>
Искол решения, не нашел, может кому пригодится...
<?php
//boberz (2005)
//boberz@yandex.ru
$filemmc = "c:/WINDOWS/system32/tsmmc.msc"; //сюда забить полный путь к файлу
$tsmmc = file_get_contents($filemmc);
preg_match_all("/<Binary>(.*?)<\/Binary>/si", $tsmmc, $a, PREG_SET_ORDER);
$tsmmc1 = substr($tsmmc, 0, strpos($tsmmc, $a[2][1]));
$tsmmc3 = substr($tsmmc, strpos($tsmmc, $a[2][1])+strlen($a[2][1]));
$tslist = mb_convert_encoding($a[2][1], "cp1251", "BASE64");
$tsarray = array();
for($i=4; $i<strlen($tslist); $i+=0x1050) {
$tsnode = substr($tslist, $i, 0x1050);
$tsnodename = mb_convert_encoding(substr($tsnode, 4+520, 520), "cp1251", "UTF-16LE");
$tsnodename = substr($tsnodename, 0, strpos($tsnodename, "\x0"));
array_push($tsarray, array($tsnodename, $tsnode));
}
sort($tsarray);
$tslist = substr($tslist, 0, 4);
for($i=0; $i<count($tsarray); $i++) {
$tslist .= $tsarray[$i][1];
}
$tslist = mb_convert_encoding($tslist, "BASE64", "UTF-16LE");
file_put_contents($filemmc, $tsmmc1."\n".$tslist."\n".$tsmmc3);
?>