Do czego mogą się przydać biblioteki dll i czy do odczytywania takich (opis) trzeba jakiegoś de-kodera?

0

Ta biblioteka dll C:\windows\system32\SHELL32.dll
Są tam z tego co wiem (może nie tylko) obrazy folderów itd.

  1. Do czego takie biblioteki się przydają?
  2. Czy do odczytywania takich bibliotek jak wyżej trzeba jakichś de-koderów?
3
  1. Biblioteki ogólnie trzymają ci wydzielone, reużywalne fragmenty kodu - więc możesz jednej używać w wielu programach;
  2. Ale mogą też trzymać np. zasoby (resources), tak jak m.in. robi to shell32.dll, która zawiera m.in. ikonki używane w wielu miejscach systemu.
1

Zaznaczyć też należy, że wrzucenie tych reużywalnych fragmentów kodu do biblioteki umożliwia ich wyokrzystanie bez względu na język programowania. Dzięki temu Ty możesz stworzyć bibliotekę np. w języku C, a ja mogę jej użyć w swoim projekcie, pisanym w Pascalu.

Biblioteki swoją funkcjonalnością przypominają pliki wykonywalne – oprócz samego kodu, można do nich wrzucić wszelkiego rodzaju zasoby, niektóre ”typowane”, takie jak ciągi znaków, ikony, kursory, bitmapy, ale też dowolne inne pliki (RCDATA) czy nawet całe formularze.

Jednak aby móc skorzystać z zawartości danej biblioteki, trzeba wiedzieć co się w niej znajduje, jakie funkcje i z jakimi parametrami udostępnia, co oprócz kodu zawiera itd. Zwykle takie źródło informacji stanowi dokumentacja, jednak istnieją też narzędzia do przeszukiwania bibliotek i listowania ich zawartości – wystarczy poszukać.

0

hehe, do niczego, ale jak ktoś lubi dawać kod za free + headery to ok.
Stare czasy się kłaniają.

Ogólnie to pliki elf są i bibliotekami i plikami wykonywalnymi jednocześnie bo nikomu się nie chciało tego jakoś ogarniać.

Z tytułu zapomniałem dodać, że do wczytywania tego typu plików można normalnie ładować pliki jako binarne lub loaderem library, ten drugi rekurencyjnie ładuje przez co wszystkie używane bilbioteki są załadowane, ale na hackera możesz to jako plik binarny wczytać, przesunąć wskaźnik na funkcję jaką potrzebujesz, wrzucić dane na stos i skoczyć do funkcji, albo zrzutować na wskaźnik funkcji i ją normalnie odpalić.

Nie bąć pipa rób sam, hakuj wszystko.

1
Zimny Orzeł napisał(a):

Ogólnie to pliki elf są i bibliotekami i plikami wykonywalnymi jednocześnie bo nikomu się nie chciało tego jakoś ogarniać.

Możesz to rozwinąć? W przypadku Windowsa zarówno EXE jak i DLL to nieznacznie różniące się warianty Portable Executable. Co tu chciałbyś "ogarniać"?

0
Wibowit napisał(a):
Zimny Orzeł napisał(a):

Ogólnie to pliki elf są i bibliotekami i plikami wykonywalnymi jednocześnie bo nikomu się nie chciało tego jakoś ogarniać.

Możesz to rozwinąć? W przypadku Windowsa zarówno EXE jak i DLL to nieznacznie różniące się warianty Portable Executable.

Może ja rozwinę. Pod Linuxem format ELF służy zarówno jako format programu wykonywalnego (zwykle bez rozszerzenia, .exe pod Windows), biblioteki dynamicznej (.so, pod Windows .dll) oraz biblioteki statycznej (.a, pod Windows .lib albo .a zależnie od kompilatora).

Pod Windowsem format PE służy tylko do dwóch pierwszych celów, trzeci nie jest ściśle zdefiniowany i zależny jest od kompilatora.

Format ELF używany jest też np. we FreeBSD (i innych BSD), ale mimo tego samego formatu programy skompilowane dla FreeBSD nie będą działać pod Linuxem z powodu niekompatybilnych system calli. W drugą stronę mają prawo działać jeśli jest aktywny linuxulator (emulator Linuxa).

1 użytkowników online, w tym zalogowanych: 0, gości: 1