приветы!
есть в PHP функция json_decode
вот она тут используется:$obj = json_decode($answer);
$l = $obj->data;
$h = substr($useragent, 0, 25) . $fuid01 . 'I keep watch over you ;)';
$str = "";
for ($g = 0; $g < strlen($l); $g++)
{
$str.= chr(ord($l[$g]) ^ ord($h[$g % strlen($h)]));
}
echo urldecode($str);
PHP не знаю, мне бы весь этот код в перл, но на чудо не рассчитываю, надеюсь хотя бы на функцию :)
> PHP не знаю, мне бы весь этот код в перл, но на
> чудо не рассчитываю, надеюсь хотя бы на функцию :)use JSON;
use URI::Escape;my $obj = decode_json($answer);
my $l = $obj->{data};
my $h = substr($useragent, 0, 25) . $fuid01 . 'I keep watch over you ;)';
my $str = "";
for (my $g = 0; $g < strlen($l); $g++)
{
$str.= chr(ord($l[$g]) ^ ord($h[$g % strlen($h)]));
}
print uri_unescape($str);
>[оверквотинг удален]
> my $obj = decode_json($answer);
> my $l = $obj->{data};
> my $h = substr($useragent, 0, 25) . $fuid01 . 'I keep watch
> over you ;)';
> my $str = "";
> for (my $g = 0; $g < strlen($l); $g++){
> $str.= chr(ord($l[$g]) ^ ord($h[$g % strlen($h)]));
> }
> print uri_unescape($str);что-то не пашет..
$l это ведь на самом деле @l - массив
в противном случае ошибки сыпет
а так ничего не сыпет, но и не выводит :(
$h тоже ведь массив? ord($h[$g % strlen($h)])
strlen заменил на lengthв @l набираются преобразованные данные, но всё ещё не читаемые
а вот в $str уже ничего не набирается, кроме символа %
что означает ^ в пхп ?
$i почему-то дальше 0 не идёт, хотя 'print scalar @l' выдаёт 1104
$i[25] например uninitialized
похоже $l это всё-таки строковая переменная, но как понимать $l[$g] - непонятно
> $i[25] например uninitialized
> похоже $l это всё-таки строковая переменная, но как понимать $l[$g] - непонятноДа, тщательнее нужно было. Пробуй так:
use warnings;
use strict;
use JSON;
use URI::Escape;my $obj = decode_json($answer);
my $l = $obj->{data};
my $h = substr($useragent, 0, 25) . $fuid01 . 'I keep watch over you ;)';
my $str = "";
for (my $g = 0; $g < strlen($l); $g++)
{
$str.= chr(ord(substr($l,$g,1)) ^ ord(substr($h, $g % strlen($h),1) ));
}
print uri_unescape($str);
>[оверквотинг удален]
> my $l = $obj->{data};
> my $h = substr($useragent, 0, 25) . $fuid01 . 'I keep watch
> over you ;)';
> my $str = "";
> for (my $g = 0; $g < strlen($l); $g++)
> {
> $str.= chr(ord(substr($l,$g,1)) ^ ord(substr($h, $g % strlen($h),1) ));
> }
> print uri_unescape($str);
>
да, так получше, но раскодирования всё-равно не происходит g0n INq "kP .'▒L#0=1Pr_
он выдаёт это:fwa@D8Cg7TD/WWAMUJ,U1p" (: ['n)b"f&14~Ql;("z\
ftG▒kH</{32URm/Om1cpru&*i.V04j▒Jh9Y4m0tx@HO",}7\C#▒qa`*BA(jj@]~zhE8t,LV
2*J#n
216#y"l^b#*8bA
!)WE %
Tm&.__+
▒&Yy 2b+"WAEV)hyn>Ogj4:{
=Ol▒RzNqn5VR-S.n;/M"*(,IF4x▒+F`'?9vM633)sj^$4K'is▒j!D/Ly
C6b!{$a@qx+pzE7|k▒@uQQG6c`o4<2<Gv2F#[N&{
)3D{}1SBQ8gs▒[4▒5fKbg3(~if;2?i.4?u<;r4o!dk0j▒&o=
%~`j&
b,-}|_j,u|s.G3uYln?B*],fM;
9=fLBNn|E1N)/wqg8)
^b)%UQ+
D35<`_F;% 3ZcB[M0Dgdcvq~ >?9N?c3>~OVljTj▒jM]^n=VX1mB&▒dh/5A*q;rKz&8I?ou`_43~v>z>}z%uS!gP(!;
lAyhjr'▒v\;1h(
}jg<&/fcD{ lqw'iSt:8[
> -KF::chEo@53H~ g|bK2xsLv, Q.&Ckn4D
rb"jS|*)jkvMZSn+yy'hDBQ6j'Z}HAf jB;OAZvh*5#;9P'6Mfhmpt`4rrbuMu?>
!lo?+f'WM6#*Q=Xq%K)>W\v$,6m5@tpr#H.e,▒]T{X2C{?rbYx5ONX3,Gl"\+?m!JfxdM}(?uMQO`?#0d|=+5[YX6^35lx`3`JDR4Qo e
e+0\*g79"mkud?1MANS"+p$
d4Z/QrI-CTw6?9ii▒o0n&'r▒|7yM3ZGC$;zGn@Irr*y AQPD[`O0T:{wZ3K>qy_]O3qa~<+_
Om@`W*d?dq9EC;QIKC</{U~ bmx(cqe|!Dx5M&*sP bxxi&%ur>?l-tSb$=0|111R▒<qU"Zi\w6s!2]:{'!|YO|m_"@\!_]4IJ0A:q-*_k$"&FnhRECs\'▒2&!/grhrK{<.lv▒&
)2c6<
{n~\AxPm._
а это должен быть текст, причём на русском
> да, так получше, но раскодирования всё-равно не происходит
> он выдаёт это:
>fwa@D8Cg7TD/WWAMUJ,U1p" (: ['n)b"f&14~Ql;("z\Смотри, что у тебя в $h, особенно смотри на $useragent и $fuid01
>> да, так получше, но раскодирования всё-равно не происходит
>> он выдаёт это:
>>fwa@D8Cg7TD/WWAMUJ,U1p" (: ['n)b"f&14~Ql;("z\
> Смотри, что у тебя в $h, особенно смотри на $useragent и $fuid01да не, там всё ок, на самом деле код рабочий
он оказывается и на пыхе тоже самое выдаёт ^^
спасибо за помощь, буду дальше копать
http://search.cpan.org/~makamaka/JSON-2.59/lib/JSON.pm