Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Jak w temacie instaluje niejednokrotnie coś ze źródeł.. co każde źródła zawierają ? Pliki konfiguracyjne oraz instalacyjne jak się domyślam, a czy także kod danego programu?
Offline
tak. dzięki temu mozesz wprowadzić własne usprawnienia do programu oraz skompilowac go dla dowolnej architektury.
Offline
kondzio14 napisał(-a):
Jak w temacie instaluje niejednokrotnie coś ze źródeł.. co każde źródła zawierają ? Pliki konfiguracyjne oraz instalacyjne jak się domyślam, a czy także kod danego programu?
Widzisz to jest tak, masz przepis na ciasto i to są żródła. Pieczenie ciasta to kompilacja, a gotowe ciasto to bianrka czyli program wykonwalny.
Offline
To co to jest w takim razie dekompilacja? :>
Offline
grzegorz.85 napisał(-a):
To co to jest w takim razie dekompilacja? :>
Jak już masz program i poddasz go dekompilacji, to otrzymasz z powrotem kod źródłowy, ale będzie on inny niż ten z którego powstał program. Kod będzie inny, ale jeśli skompilujesz go ponownie, to otrzymasz taki sam program (przynajmniej teoretycznie). Tutaj mały przykład:
http://boomerang.sourceforge.net/cando.php?hidemenu
Offline
Az boje sie, jak porowna dekompilacje do ciasta czadman:)
Offline
Takim dekompilatorem jest kiper. Bierze wino, ogląda, degustuje, wącha, a następnie mówi, że pochodzi z południowego regionu pcimia górnego, jest z czarnyc winogron, leżakowało 15 lat, taka a taka odmiana drożdży winnych, winorośla rosły na takich i takich glebach itd, itp. :)
Offline
Źródła zabierają:
1. Kod źródłowy programu, np. *.c, *.cpp, *.java, *.php, *.htm itp. Czasami pliki nagłówkowe, które również są kodem programu, a nie żadnym znów tam nagłówkiem.
2. Pliki pomocnicze jak takie do zbudowania programu ze źródła (makefile)
3. Zasoby potrzebne programowi, np. *.png, muzyczki, jakieś szablony baz danych (np. gotowe tabele)
4. Dokumentacje i pliki tekstowe (readme, licencja, itp. to też w sumie dokumentacja, ale dokumentacja to bardziej jak użytkować program, reszta to sprawy czysto organizacyjne)
5. Czasami i źródła zawierają binarki lub inne źródła potrzebne do kompilacji.
Ale nie wszystkie źródła zawierają wszystkie te elementy. Ale powinny to zawierać. Acz czasem spotyka się same źródła np. *.c) bez niczego innego.
To może ja zdekompiluję ciastko:
1. Jest ciastko.
2. Mielimy je.
3. Smażymy w wysokiej temperaturze.
4. Otrzymujemy jednostkowe atomy (ewentualnie cząsteczki) i używamy technologi nanoatmowowych celem jak najbliższego odtworzenia bardziej zaawansowanych struktur z tych atomów. Z racji rozbicia na atomy wszystkiego możemy otrzymać różne ilości substancji wejściowych. Jak również od naszego algorytmu zależy czy z ciastka otrzymamy mąkę i cukier czy cyjanek i substancję LNK13349.
Najlepiej to się chyba dekompiluje assembler do asemblera (asm -> bin -> asm)
Ale drobna uwaga. Źródła nie muszą być kompilowalne... skrypty interpretowane to też źródła. Przykładem jest kod (X)HTML tego forum. Źródło jest - dekompilacja raczej nie jest możliwa...
Jeszcze przykładzik źródła nieoczywistego. Typowy obrazek PNG. Jest źródłem dla komputera, który przekształca się w komputerze mniej więcej do formatu BMP. Ale obrazek BMP jest źródłem dla otrzymania obrazka PNG.
Podsumowanie
źródło (cokolwiek) ---(algorytm)---> obiekt docelowy
Offline
Zadając pytanie o dekompilację chodziło mi właśnie o wyjaśnienie na zasadzie cistka, co zrobił czadman ;) Miałem już gotową koncepcję, aczkolwiek chciałem porównać ją z waszą.
Według mnie (idąc w stronę ciastka), dekompilacja to przekazanie ciastka smakoszowi, który na podstawie wyglądu oraz smaku jest w stanie napisać przepis jak takie ciastko upiec. Teraz wszystko zależy od umiejętności smakosza (dekompilera), czy ciastko upieczone według "nowego" przepisu będzie wyglądało i smakowało w ten sam sposób. Dekompilery operują tylko na tych "operacjach" (przerwaniach czy jak to tam się zwało nie pamiętam dokładnie) które znają, a jezeli pojawi się "coś" nieznanego, to dekompilator albo się wyłoży, albo pominie po prostu ten punkt. Tak samo smakosz... operuje tylko na tych składnikach które zna, i jezeli ktoś wykorzystał coś nowego w swoim przepisie, to ciastko według przepisu smakosza nie będzie tym samym ciastkiem.
Offline
Dzięki za zainteresowanie tematem. Znam już teraz odp:).
Ostatnio edytowany przez kondzio14 (2008-11-24 14:19:34)
Offline