🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.perl
3 messages
3 total messages Started by Karol Malinowski Tue, 26 Feb 2013 09:32
[PERL] analiza warunku if
#52524
Author: Karol Malinowski
Date: Tue, 26 Feb 2013 09:32
25 lines
2192 bytes
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?
Re: [PERL] analiza warunku if
#52525
Author: Stachu 'Dozzie' K.
Date: Tue, 26 Feb 2013 09:46
20 lines
2048 bytes
On 2013-02-26, Karol Malinowski <malinkalive@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
Re: [PERL] analiza warunku if
#52526
Author: Karol Malinowski
Date: Tue, 26 Feb 2013 13:39
48 lines
2747 bytes
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.
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads