toxi » 14-09-2009 17:40:00
Настраивал аську в мобильнике, оказалось, что не помню пароля к своему jabber-аккаунту! Емайл при регистрации не указан. Что делать? Пытался написать на jabber.ru — без ответа. А на компьютере пароль запомнен — клиент SIM под Линукс (такой же SIM и под Винду есть). Поискал в интернете, как вытянуть пароль из конфигов SIM, нашел в одном блоге
код, но скомпилировать себе не смог — нет каких-то библиотек qt. Поэтому
переписал на PHP (с подсказками
iland), все заработало. Дай, думаю, в дневнике сверстаю онлайн-сервис, может, кому пригодится, у кого клиент SIM под Винду или Линукс. Итак, находим в его папке файл
clients.conf, находим в файле строку вида:
Password="$432f$4340$4330$4351$433b$4354$4324$4345"
Код: Виділити все
<?php
if($PHP_SELF=='/dnevnik/include/sim_password.php')
die('<pre>'.htmlspecialchars(file_get_contents($_SERVER['DOCUMENT_ROOT'].$PHP_SELF)).'</pre>');
$data1=$_POST['data1'];
$data2=$_POST['data2'];
if($data1!='') $data2=sim_encode($data1);
elseif($data2!='') $data1=sim_decode($data2);
$article['Body'] = str_replace('name=data1 value=""','name=data1 value="'.htmlspecialchars($data1).'"',$article['Body']);
$article['Body'] = str_replace('name=data2 value=""','name=data2 value="'.htmlspecialchars($data2).'"',$article['Body']);
function sim_decode($pswd) {
$pswd=trim($pswd,"\n\r\t $");
$s = ''; $temp = 0x45;
$a=explode('$',$pswd);
foreach($a as $l) {
$x = hexdec(substr($l,2));
$s .= chr($temp^$x);
$temp = $x;
}
return $s;
}
function sim_encode($s) {
$pswd = ''; $temp = 0x45;
$a=str_split($s);
foreach($a as $l) {
$temp = $temp^ord($l);
$x = "".dechex($temp); if(strlen($x)<2) $x='0'.$x;
$pswd .= "$43".$x;
}
return $pswd;
}
?>
Может, кому пригодится, кто волею судеб использует SIM. Мне, например, когда снова забуду. Комментарии скрываю, потому что предвижу толпы идиотов с воплями "Леонид, а почему именно SIM?! Вот у меня не SIM, а HuiSNIM, и я очень рад!" и прочими глупостями.
Источник: http://lleo.aha.ru/dnevnik/2009/09/11.html
Настраивал аську в мобильнике, оказалось, что не помню пароля к своему jabber-аккаунту! Емайл при регистрации не указан. Что делать? Пытался написать на jabber.ru — без ответа. А на компьютере пароль запомнен — клиент SIM под Линукс (такой же SIM и под Винду есть). Поискал в интернете, как вытянуть пароль из конфигов SIM, нашел в одном блоге [url=http://m0sia.ru/node/38]код[/url], но скомпилировать себе не смог — нет каких-то библиотек qt. Поэтому [url=http://lleo.aha.ru/dnevnik/include/sim_password.php]переписал на PHP[/url] (с подсказками [url=http://teamslc.net/]iland[/url]), все заработало. Дай, думаю, в дневнике сверстаю онлайн-сервис, может, кому пригодится, у кого клиент SIM под Винду или Линукс. Итак, находим в его папке файл [b]clients.conf[/b], находим в файле строку вида:
[b]Password="$432f$4340$4330$4351$433b$4354$4324$4345"[/b]
[code]<?php
if($PHP_SELF=='/dnevnik/include/sim_password.php')
die('<pre>'.htmlspecialchars(file_get_contents($_SERVER['DOCUMENT_ROOT'].$PHP_SELF)).'</pre>');
$data1=$_POST['data1'];
$data2=$_POST['data2'];
if($data1!='') $data2=sim_encode($data1);
elseif($data2!='') $data1=sim_decode($data2);
$article['Body'] = str_replace('name=data1 value=""','name=data1 value="'.htmlspecialchars($data1).'"',$article['Body']);
$article['Body'] = str_replace('name=data2 value=""','name=data2 value="'.htmlspecialchars($data2).'"',$article['Body']);
function sim_decode($pswd) {
$pswd=trim($pswd,"\n\r\t $");
$s = ''; $temp = 0x45;
$a=explode('$',$pswd);
foreach($a as $l) {
$x = hexdec(substr($l,2));
$s .= chr($temp^$x);
$temp = $x;
}
return $s;
}
function sim_encode($s) {
$pswd = ''; $temp = 0x45;
$a=str_split($s);
foreach($a as $l) {
$temp = $temp^ord($l);
$x = "".dechex($temp); if(strlen($x)<2) $x='0'.$x;
$pswd .= "$43".$x;
}
return $pswd;
}
?>
[/code]
Может, кому пригодится, кто волею судеб использует SIM. Мне, например, когда снова забуду. Комментарии скрываю, потому что предвижу толпы идиотов с воплями "Леонид, а почему именно SIM?! Вот у меня не SIM, а HuiSNIM, и я очень рад!" и прочими глупостями.
[right][i]Источник: [url]http://lleo.aha.ru/dnevnik/2009/09/11.html[/url][/i][/right]