Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[PERL] analiza warunku if

79 views
Skip to first unread message

Karol Malinowski

unread,
Feb 26, 2013, 4:32:40 AM2/26/13
to
Witam,
poniżej przedstawiam warunek if z aplikacji która analizuje zawartość pliku binarnego. Udało mi się przeanalizować większość skryptu jednak poniży warunek sprawia mi kłopot:

if ($plik and ($sector == 2 or $sector == 3) and $j == 0 and substr($block,0,1) eq "\x10") {
my (undef,$ti,$ty,$tm,$td,$th,$tt,$vy,$vm,$vd,$vh,$vt,$vl,$vb,$vs)=unpack('A8 A8 A7 A4 A5 A5 A6 A7 A4 A5 A5 A6 A14 A6 A14 A10 A*',unpack('B*',$block));
print Dumper($tt,$ti,$ty,$tm,$td,$th,$tt,$vy,$vm,$vd,$vh,$vt,$vl,$vb,$vs);

wynik:
$VAR1 = '000011';
$VAR2 = '00000001';
$VAR3 = '0001101';
$VAR4 = '0000';
$VAR5 = '00000';
$VAR6 = '00000';
$VAR7 = '000011';
$VAR8 = '0001101';
$VAR9 = '0010';
$VAR10 = '10101';
$VAR11 = '01111';
$VAR12 = '110100';
$VAR13 = '00000000010111';
$VAR14 = '0000000110';
$VAR15 = '0000000000000000000000000000000000';

Zastanawiam się w jaki sposób dane są sortowane i które wartości binarne (pozycja w pliku) są wyświetlane w poszczególnych zmiennych?

Stachu 'Dozzie' K.

unread,
Feb 26, 2013, 4:46:27 AM2/26/13
to
On 2013-02-26, Karol Malinowski <malin...@gmail.com> wrote:
> Witam,
> poni�ej przedstawiam warunek if z aplikacji kt�ra analizuje zawarto��
> pliku binarnego. Uda�o mi si� przeanalizowa� wi�kszo�� skryptu jednak
> poni�y warunek sprawia mi k�opot:

Warunek? Znaczy nie rozumiesz, kiedy siďż˝ to wykona? Czy jedynie
unpack()?

> if ($plik and ($sector == 2 or $sector == 3) and $j == 0 and substr($block,0,1) eq "\x10") {
> my (undef,$ti,$ty,$tm,$td,$th,$tt,$vy,$vm,$vd,$vh,$vt,$vl,$vb,$vs)=unpack('A8 A8 A7 A4 A5 A5 A6 A7 A4 A5 A5 A6 A14 A6 A14 A10 A*',unpack('B*',$block));
[...]
> Zastanawiam si� w jaki spos�b dane s� sortowane i kt�re warto�ci
> binarne (pozycja w pliku) s� wy�wietlane w poszczeg�lnych zmiennych?

A czyta�e� dokumentacj� do pack()/unpack()?

--
Secunia non olet.
Stanislaw Klekot

Karol Malinowski

unread,
Feb 26, 2013, 8:39:53 AM2/26/13
to
W dniu wtorek, 26 lutego 2013 10:46:27 UTC+1 użytkownik Stachu 'Dozzie' K. napisał:
> On 2013-02-26, Karol Malinowski
>
> > Witam,
>
> > poniżej przedstawiam warunek if z aplikacji która analizuje zawartość
>
> > pliku binarnego. Udało mi się przeanalizować większość skryptu jednak
>
> > poniży warunek sprawia mi kłopot:
>
>
>
> Warunek? Znaczy nie rozumiesz, kiedy się to wykona? Czy jedynie
>
> unpack()?
>
>
>
> > if ($plik and ($sector == 2 or $sector == 3) and $j == 0 and substr($block,0,1) eq "\x10") {
>
> > my (undef,$ti,$ty,$tm,$td,$th,$tt,$vy,$vm,$vd,$vh,$vt,$vl,$vb,$vs)=unpack('A8 A8 A7 A4 A5 A5 A6 A7 A4 A5 A5 A6 A14 A6 A14 A10 A*',unpack('B*',$block));
>
> [...]
>
> > Zastanawiam się w jaki sposób dane są sortowane i które wartości
>
> > binarne (pozycja w pliku) są wyświetlane w poszczególnych zmiennych?
>
>
>
> A czytałeś dokumentację do pack()/unpack()?
>
>
>
> --
>
> Secunia non olet.
>
> Stanislaw Klekot



Nie mogę osiągnąć poniższego celu.

1. Znając wartości zmiennych od $VAR1 do $VAR15 nie potrafię znaleźć rzeczowych wartości w pliku binarnym. Korzystam z hexeditor i próbując odszukać $VAR3==13 Jednak edytor twierdzi ze nie ma takowej wartości w całym pliku :( co jest oczywiście nieprawdą.

Z dokumentacją oczywiście się zapoznałem ale nie ma tam rozwiązania mojego problemu.
0 new messages