Podobnie jest z komputerami. Nie trzeba znać sekretów ich budowy, by ich używać. Niektórzy jednak nie mogą się powstrzymać przed “zaglądaniem pod maskę”. Zaczynają od ogólnych zasad działania systemu operacyjnego i programów, z czasem jednakże sięgają głębiej. Część z nich zacznie nawet programować, inni wręcz zostaną informatykami. Wcale jednak nie trzeba nim być, by móc troszkę “pogrzebać” w aplikacjach. Wystarczy zaopatrzyć się w odpowiedni program – edytor zasobów.
UWAGA! Z punktu widzenia polskiego prawa ingerencja we wnętrze programu jest działaniem niedozwolonym. Jednym dopuszczalnym przypadkiem, gdy możemy “zajrzeć” (ale nie ingerować) do wnętrza aplikacji, jest chęć poznania jej budowy w celu jak najlepszego dostosowania do niej pisanego przez nas programu. Mogą więc z niego korzystać właściwie tylko programiści. Widać zatem wyraźnie, jak mało precyzyjne i kiepsko dostosowane do rzeczywistości jest polskie prawo – za niewielkie “poprawienie” domowego Kalkulatora będzie ono ścigać z równą surowością jak za “krakowanie” zabezpieczonych programów.
Tłoki i cylindry
Niniejszy przegląd aplikacji tego typu nie jest pisany z punktu widzenia programisty, lecz dociekliwego użytkownika. Za pomocą takich edytorów nie da się w żaden istotny sposób zmienić trybu działania programów (no, możemy je najwyżej popsuć…). Służą one jedynie do podglądania, zapisywania na dysku, edycji lub usuwania tzw. zasobów. Czyli właściwie czego?
Pliki wykonywalne systemu Windows mogą zawierać – oprócz podstawowego kodu – dodatkowe elementy. Są to na przykład ikony, kursory, pliki graficzne, dźwiękowe lub animacje. Mianem zasobów określane są także tzw. akceleratory, czyli definicje skrótów klawiszowych, okienka dialogowe, komplet poleceń menu oraz dodatkowe informacje, np. o wersji programu. Wszystkie te dodatki umieszczone są “w środku” pliku z rozszerzeniem EXE. To jedna metoda, inna zakłada umiejscowienie ich w dodatkowych bibliotekach – np. DLL.
Każdy sposób ma swoje zalety. Gdy zasoby znajdują się w pliku wykonywalnym, są oczywiście razem z nim ładowane do pamięci – dzięki temu są szybciej dostępne, ale zajmują cenny czasami RAM. Jeśli rezydują w bibliotekach dołączanych dynamicznie – pobierane są do pamięci tylko w razie potrzeby, ale proces ten wymaga czasu – w zasadzie minimalnego, czasami jednak mającego znaczenie.
Wniosek płynie z tego prosty – interesującej nas graficzki bądź melodyjki szukać możemy nie tylko w plikach EXE, ale również DLL, SYS, DRV, CPL, OCX, SCR i innych.
Wymiana klocków
Dobrze, ale właściwie dlaczego mielibyśmy w ogóle interesować się tymi wszystkimi “bebechami”? Cóż, jedni robią to przede wszystkim z powodów estetyczno-poznawczych. Są bowiem tacy, którzy po prostu lubią wiedzieć, co siedzi w środku. Ale są i tacy, którzy zechcieliby jakoś te zasoby wykorzystać. Komuś na przykład podoba się dźwięk naciskanego klawisza, innemu ładna ikona. Można je przecież jakoś spożytkować – obdarzając swój system ciekawym brzmieniem lub zamieniając ikonę na Pulpicie. Przyda się im zatem funkcja podglądania i zapisywania na dysku poszczególnych zasobów.
Ale są też bardziej praktyczne zastosowania omawianych programów. Można bowiem edytować lub wymieniać różne zasoby na inne. Nie podoba nam się logo startowe Netscape Communicatora? Nie ma sprawy – wymieniamy je na własne zdjęcie z wakacji. Irytuje nas dźwięk towarzyszący przesuwaniu kursora nad centrum sterowania pakietu Norton Utilities? Żaden problem – usuwamy go lub zamieniamy na inny.
Nie są to jedyne zastosowania edytorów zasobów. Za ich pomocą możemy pokusić się nawet o lokalizację interfejsu! Wprawdzie profesjonaliści stosują inne metody, ale w drobnych domowych zastosowaniach sposób ten sprawdzi się znakomicie. Jeśli z kolei nie możemy wyjąć z podziwu, dlaczego w Notatniku systemów Windows 9x nie działa standardowy skrót klawiszowy [Ctrl] + [S], służący do zapisywania zmian, też da się to poprawić. Przykład jeszcze innego zastosowania edytora zasobów znajduje się w ramce poniżej.
Dane techniczne | ||||
Resource Hacker | Restorator | eXeScope | PE Explorer | |
Wersja | 3.3.4 | 2.51 build 758 | 6.30 | 1.60 |
Producent, kraj | Angus Johnson, Australia | Florian Bömers, Niemcy | Toshifumi Yamamoto, Japonia | Heaventools, USA |
WWW [http://] | rpi.net.au/~ajohnson/resourcehacker/ | www.bome.com/Restorator/ | www.vector.co.jp/authors/VA003525/ | www.heaventools.com/ |
Opłata rejestracyjna | freeware | 60 EUR | 20 USD | 99 USD |
System operacyjny | Win 9x/Me/ NT/2000/XP | Win 9x/Me/ NT/2000/XP | Win 9x/Me/ NT/2000/XP | Win 9x/Me/ NT/2000/XP |
Ilość miejsca na dysku (ok.) | 1,3 MB | 2,1 MB | 1 MB | 2,9 MB |
Zasoby | ||||
Podglšd | + | + | + | + |
Zapisywanie na dysku | + | + | + | + |
Edycja | + | + | + | + |
Usuwanie | + | + | + | + |
Dodawanie | + | + | + | + |
Zapisywanie wszystkich zasobów | + | + | + | + |
Wyszukiwanie | – (tylko tekst) | + | – (tylko tekst) | + |
Automatyczne tworzenie kopii zapasowych | + | + | – | – |
Dodatkowe funkcje | – | ResPatcher | – | Deasembler, Dependency Scanner, obsługa interfejsu Windows XP |
+ – jest, – – nie ma |