W niedzielę po raz kolejny postanowiłem pobawić się w wizualizację plików. Wizualizacja plików to temat długi i szeroki, i nawet są strony jej poświęcone, na których to autorzy prezentują kolorowe bitmapki przedstawiające pliki - często 1 do 1, czyli 3 kolejne bajty w pliku traktowane są jako wartości RGB. W moim przypadku natomiast zamiast RGB, będzie X i Y.

Założenie jest takie - mamy białą bitmapę o wielkości 256 x 256, a następnie bierzmy dwa kolejne bajty pliku, uznajemy że pierwszy z nich to koordynat X, drugi z nich Y, a następnie w miejscu (X,Y) bitmapy "przyciemniamy" pixel (tak że z każdym przyciemnieniem dostajemy coraz ciemniejszy kolor w danym miejscu), i tak dla każdych dwóch kolejnych bajtów pliku (czyli mamy wielkość_pliku - 1 par bajtów).

Całość brzmi prosto, i w dodatku - jest prosta ;> Możemy więc zastosować parę utrudnień:
1) zastosujmy skalę logarytmiczną
2) przeskalujmy kolory tak aby najmniejsza ilość wystąpień była zawsze zaznaczana na biało, a największa zawsze na czarno
3) użyjmy jakiegoś fajnego koloru (np. sepii, albo czegoś podobnego)

OK. A teraz mając programik, wrzucamy wszystkieee pliki jakie znajdziemy na dysku i patrzymy na efekty!

Zacznę od kilku plików z mojego system32 z Visty:

localsec.dll
localsec.dll

Tak wygląda przykładowa nudnawa bitmapa. Jak się okazuje, nie wszystkie jednak są tak nudne! Rzućmy okiem np. na tą:

slcc.dll
slcc.dll

Pojawiają się jakieś 'nogi pająka'. Ciekawie... szukajmy dalej...

ssBranded.scr
ssBranded.scr

Powyżej mamy już kapkę ciekawszy obiekt, z wyraźnymi tendencjami. Jeszcze kilka innych plików:

8point1.wav
8point1.wav

aurora.scr
aurora.scr

locale.nls
locale.nls

Oraz, jeden z najciekawszych okazów!

spwizimg.dll
spwizimg.dll

By the way...
There are more blog posts you might like on my company's blog: https://hexarcana.ch/b/


Huh! Czy to ptak? Czy to batman? Jak się okazuje nie, to ani ptak, ani batman, ani inny diabeł (jeżeli byłby to diabeł to jestem pewien wykopu o nazwie 'Szatan ukryty w Windows Vista!' ;D), tylko pliki BMP zaszyte w resource'ach, z gradientami. Okazuje się mianowicie że pliki graficzne (zdjęcia, rysunki, etc), skonwertowane do BMP/RAW/TGA/czegoś bez kompresji, i wrzucone w opisaną funkcję matematyczną dają baaardzooo ciekawe rezultaty. Rzućmy okiem na kilka z nich:

some image

some image

some image

Pełna galeria plików które uznałem za ciekawe dostępna jest tutaj: Pełna Galeria

Kod źródłowy (jak zwykle brzydki) + binarka: file2d.zip (ZIP SRC+BIN, 7kb)

Jeżeli znajdziecie jakąś ciekawą wizualizację, wrzućcie linka w komentarz :)

I tyle...

P.S. Dopiero się zorientowałem że mój blog został również zgłoszony do konkursu "CONFidence Security Evangelist" w kategorii "Blog o bezpieczeństwie IT w języku polskim". Huh ;) Thx za to, czuje się mile zaskoczony ;) Chociaż przyznaje iż osobiście uważam że mój blog się tam średnio nadaje, gdyż security w nim jest co najwyżej 25% ;)

P.S.2. Znajomy podesłał mi linka którego dostał na GG - http://www.wyznanie.mx.tc/, wygląda na to że ktoś znalazł ciekawy sposób by "profesjonalnie" wyciągnąć kasę od naiwnych ;D
UPDATE: Oho, właśnie i do mnie trafiła ów wiadomość... "Wyznaję Ci miłość...  http://www.wyznanie.mx.tc" (od 9945803, pewnie fake do spamu jak zwyklę). Swoją drogą nietanii ten SMS - 23,18 zł. Ciekawe ile osób się na to nabrało...

Comments:

2009-05-25 19:33:06 = krajek
{
Wow, czego to ludzie nie wymyślą :-).
}
2009-05-25 19:54:23 = ryniek
{
A próbowałeś wizualizować bajty engine'ów AV lub kodu rootkitów/innego syfu? Ciekawe jakby to wyglądało??

Pozdrawiam
}
2009-05-25 21:39:57 = Jurgi
{
Powiedzenie starych fachmanów "ten plik wygląda mi podejrzanie" nabiera nowego znaczenia. :)
}
2009-05-25 22:17:55 = Marooned
{
int 19h ;banalne, a jakie bajeranckie.. i ładny kolorek dobrany :)
}
2009-05-25 22:48:37 = Marooned
{
2 fajne binarki:
http://img268.imageshack.us/img268/7719/outllibrdll1033.png
http://img20.imageshack.us/img20/7792/hackeyeexe.png
}
2009-05-27 14:25:09 = Gynvael Coldwind
{
@krajek
Ano ;D Też mnie to zadziwia ;>

@ryniek
Nie, przypuszczam że z uwagi na wysoką entropię będzie mało ciekawie. Ale pomysł dobry, spróbuje potem :)

@Jurgi
Haha ano ;D

@Marooned
int 19h ? Czy ty mnie tu próbujesz przeładować? ;>
Ano, kolorek też mi się podoba ;D Ponad godzinę szukałem dobrej palety kolorów ;p
Co do linków: rzeczywiście ciekaw, szczególnie ten drugi mi się podoba ;>
}
2009-05-31 12:06:29 = Reg
{
Heh genialne! Muszę się też pobawić w takie wizualizacje plików, może wymyślę jeszcze inny sposób na ich efektowne pokazywanie. Widziałem gdzieś, że próbują też w jakiś sposób wizualizować kod wirusów komputerowych.
}
2009-05-31 20:11:35 = Gynvael Coldwind
{
@Reg
Czekam na linka do ładnych obrazków ;>>>
}
2010-01-08 12:05:10 = marcin k.
{
świetne, od kiedy znajomy informatyk uświadomił mi, że zarówno filmy, zdjęcia jak i teksty czy inne rzeczy to po prostu różne rozkłady 0 i 1 to cały czas sie zastanawiałem czy mogłbym zobaczyć, co narysowałem pisząc magisterkę, tylko nie wiedziałem jak się za to zabrać :) a potem pomysł uleciał, ale dzisiaj, jak wrócę do domu... to zacznę męczyć znajomka o pomoc:D
}
2010-01-16 01:16:32 = Gynvael Coldwind
{
@marcin k.
Powodzenia ;>
Gdyby coś ciekawego z tego ci wyszło, koniecznie daj znać ;>
}
2014-05-09 14:43:49 = minus1
{
Swego czasu bawiłem się podobnymi wizualizacjami z tym, że 3D, po przeczytaniu pierwszej książki lcamtufa. Można sobie szybko przetestować rozkład pseudolosowych danych. Kiedyś szukałem nawet innych zastosowań, ale to tylko teorie. Gyn za trudne zadania dajesz w tych captchach ;)
}

Add a comment:

Nick:
URL (optional):
Math captcha: 6 ∗ 3 + 7 =