Εμφάνιση Πηγαίου Κώδικα

Γενικά θέματα για τις γλώσσες προγραμματισμού που δεν καλύπτονται από τις άλλες περιοχές της κατηγορίας.

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
Άβαταρ μέλους
gypas
Δημοσιεύσεις: 33
Εγγραφή: 20 Απρ 2001 03:00
Τοποθεσία: Greece
Επικοινωνία:

Εμφάνιση Πηγαίου Κώδικα

Δημοσίευση από gypas » 12 Σεπ 2005 03:52

Γεια σε όλους. Είμαι καινούριος στον προγραμματισμό και θα ήθελα να μάθω αν γίνεται να δεις τον πηγαίο κώδικα μίας εφαρμογής(*.exe) με τη χρησιμοποίηση κάποιου προγράμματος ή με οποιοδήποτε άλλο τρόπο. Δοκίμασα με ορισμένους επεξεργαστές κειμένων αλλά φυσικά δεν έβλεπα τίποτα άλλο από εκατοντάδες κουτάκια και άλλα αλαμπουρνέζικα (...... 33 3$3 .......και διάφορα άλλα). Αν υπάρχει κάποιος τρόπος θα ήθελα να μου αναφέρεται κάποιο πρόγραμμα ή τη διαδικασία με την οποία μπορείς να το κάνεις. Ευχαριστώ!

Άβαταρ μέλους
EkLekTos
WebDev Moderator
Δημοσιεύσεις: 7421
Εγγραφή: 07 Απρ 2005 15:44
Τοποθεσία: Inside the Effects
Επικοινωνία:

Εμφάνιση Πηγαίου Κώδικα

Δημοσίευση από EkLekTos » 12 Σεπ 2005 04:35

Λίγο δύσκολο να γίνει αυτό...
Αν ήταν έτσι θα έπαιρνες ένα πανάκριβο πρόγραμμα θα έβλεπες τον κώδικά θα άλλαζες μερικά και θα το πλάσαρες για δικό σου...
Αυτό δεν παίζει να γίνεται...
* Apple Technical Support Specialist *
* Apple Sales & Product Professional Certificate since 2011 * Εικόνα
Follow me @Twitter

Άβαταρ μέλους
Rapid-eraser
WebDev Moderator
Δημοσιεύσεις: 6851
Εγγραφή: 05 Απρ 2003 17:50
Τοποθεσία: Πειραιάς
Επικοινωνία:

Εμφάνιση Πηγαίου Κώδικα

Δημοσίευση από Rapid-eraser » 12 Σεπ 2005 10:44

H diadikasia pou perigrafeis gypas legete Reverse engineering , kai eivai paravomi diadikasia otav to programa pou prospa8eis va to kaveis eivai kato apo sxedov ta perisotera lisence ektos tou opensource.

Malov agvoeis ligo tnv fisiologia evos exe arxeiou giafto piges va to avoikseis me kapoio editor. Otav exeis eva exe arxeio sta windows afto simvei pos to arxeio sou eivai executable ... exei diladi mia morfi pou o kernel twv windows 8a ektelesei to programa amesa.
H morfi tou arxeiou esoterika eivai binnary dev pierexei tous xaraktires tou source pia alla to source code pou eivai megalotismevo se binnary code.
H domi eivai kapos periergi esoterika giafto dev 8a katso va tnv avaliso , alla afto pou prepei va sou mivei sto mialo eivai oti ousiastika periexei pia odigies pros tov epeksergasti pou ektelouvte n mia meta tnv alli.

Ara briskete se mia morfi pou to source code dev miazei ka8olou me tou binnary code. Yparxei mia diadikasia pou xrisimopiouv oi programatistes kai legete debug kai sivi8os tnv akolou8ouv otav to programa exei runtime errors . Edw prepei va diaxoriseis ta compile time errors pou eivai ta la8i pou se empodizouv va kaveis compile to programa sou.
Ta runtime errors omos pervave apo to compile kai emfavizovte argotera kata tnv ektelesi tou programatos.
Gia va brouve to problima akolou8ouv me debug to programa evtoli pros evtoli gia va brouv ti paei straba. Eva empiro mati mporei va katalabei
apo tis evtoles asembly ti akribos kavei to programa.
Bebea miv skefteis oti eivai efkoli diadikasia ka8os
akoma kai mia pros8esi se asmebly givete me kamia 10aria evtoles (stnv kaliteri periptosi).

Ektos aftou ta programata ta exe mporouv va dimiourgi8ouv me diaforous tropous px vb , c kai diafores glosses programatismou.

Parola afta n diadikasia av kai epipovi mporei va givei 8eoritika pavta . Omos tis perisoteres fores o kodikas eivai toso siv8etos pou eivai kalitera va grapseis movos sou tov kodika para va tov kaveis reverse .

Idietera av ksekivas twra tov programatismo malov dev eivai eva pedio pou 8a se diefkolivei .
Ftase tnv glossa pou ksekivises se kalo ba8mo kai meta
ma8e to pos va kaveis tnv avapodi diadikasia :P

Prota ma8eveis va perpatas kai meta va petas !!!
Cu, Rapid-eraser, Tα αγαθά copies κτώνται.
Love is like oxygen, You get too much you get too high
Not enough and you're gonna die, Love gets you high

Άβαταρ μέλους
Greggold
Δημοσιεύσεις: 64
Εγγραφή: 10 Σεπ 2005 11:40
Τοποθεσία: Ελλάδα- Ελλαδίτσα μου

Εμφάνιση Πηγαίου Κώδικα

Δημοσίευση από Greggold » 12 Σεπ 2005 12:13

Αφού αυτή η διαδικασία΄, το να βλέπεις τον κώδικα ενός προγράμματος είναι παράνομη, τότε δεν μπορούν να σε ενοπίσουν;
Ακόμα πως γίνεται να ξέρεις σε ποιά γλώσσα είναι γραμμένη η γλώσσα;
Εκτός αυτού πως γίνεται να σπάσεις τους κωδικούς που υπάρχουν( φαντάζομαι ότι οι εταιρίες δεν είναι τόσο αφελείς που να αφήνουνε τα προϊόντα τους απροστάτευτα στα χέρια του κάθε έμπειρου προγραμματιστή........

Άβαταρ μέλους
Rapid-eraser
WebDev Moderator
Δημοσιεύσεις: 6851
Εγγραφή: 05 Απρ 2003 17:50
Τοποθεσία: Πειραιάς
Επικοινωνία:

Εμφάνιση Πηγαίου Κώδικα

Δημοσίευση από Rapid-eraser » 12 Σεπ 2005 14:24

dev exei kodikous kai spasimo kodikov n ipo8esi.
Dev eivai 8ema klidomatos episis.

Ta compiled programata dev eivai encoded ... eivai apla metaglotismeva se assemply tnv glossa pou katalabevei o kernel kai ektelei.

To va kaveis tnv avapodi diadikasia apo to ektelesimo sto source eivai paravomo movo av to ektelesimo briskete kato apo tis avaloges adies emporikou proiovtos kai fisika stis xores pou isxiei kapoia teteoia vomo8esia.

Se evtopizouv otav prospa8iseis va pouliseis to programa pou eivai basismevo stov kodika tous :P
Fisika av milame gia psilikatzides dev 8a katsouv va asxoli8ouv alla otav pas va kaveis kati pou prokalei mioseis sta kerdi eteriwv tote tnv patises.

Episis eivai poli pio efkolo va pirakseis eva programa apo oso mproeis va favtasteis :P apla eivai 8ema va pakseis va diabaseis kai va ma8eis kapoia pragmata pou aforouv tov tropo pou doulebouv ta programata.
Pos vomizeis oti bgevouv ta diafora keygens cracks kai patches pou dev eivai official ?
Cu, Rapid-eraser, Tα αγαθά copies κτώνται.
Love is like oxygen, You get too much you get too high
Not enough and you're gonna die, Love gets you high

Άβαταρ μέλους
skeftomilos
Script Master
Δημοσιεύσεις: 2888
Εγγραφή: 07 Ιαν 2005 07:22
Τοποθεσία: Αθήνα

Εμφάνιση Πηγαίου Κώδικα

Δημοσίευση από skeftomilos » 13 Σεπ 2005 05:14

Αν θέλεις να δεις πηγαίο κώδικα γενικώς, τότε μπορείς να δεις προγράμματα σε interpreted γλώσσες όπως η PHP και η VBScript. Με αυτά δεν υπάρχει διάκριση πηγαίου και εκτελέσιμου, ο κώδικας τρέχει όπως είναι. Μπορείς να βρεις άφθονο τέτοιο κώδικα στο Internet. Προσωπικά είμαι οπαδός μιας θεωρίας που λέει ότι οι interpreted γλώσσες είναι ευκολότερες για να ξεκινήσει κάποιος τον προγραμματισμό, αλλά η θεωρία παραμένει ατεκμηρίωτη στην πράξη προς το παρόν! :)
The pure and simple truth is rarely pure and never simple. Ο μη νους δε σκέπτεται μη σκέψεις για το τίποτα.

Άβαταρ μέλους
Greggold
Δημοσιεύσεις: 64
Εγγραφή: 10 Σεπ 2005 11:40
Τοποθεσία: Ελλάδα- Ελλαδίτσα μου

Εμφάνιση Πηγαίου Κώδικα

Δημοσίευση από Greggold » 13 Σεπ 2005 13:22

O skeftomilos eipe:
Προσωπικά είμαι οπαδός μιας θεωρίας που λέει ότι οι interpreted γλώσσες είναι ευκολότερες για να ξεκινήσει κάποιος τον προγραμματισμό, αλλά η θεωρία παραμένει ατεκμηρίωτη στην πράξη προς το παρόν!

Τί εννοεί ότι στην πράξη δε γίνεται;

Επίσης ρώτησα πως γίνεται να ξέρεις σε ποιά γλώσσα είναι γραμμένο το κάθε πρόγραμμα αλλά κανείς δεν φρόντισε να μου απαντήσει.

Άβαταρ μέλους
Rapid-eraser
WebDev Moderator
Δημοσιεύσεις: 6851
Εγγραφή: 05 Απρ 2003 17:50
Τοποθεσία: Πειραιάς
Επικοινωνία:

Εμφάνιση Πηγαίου Κώδικα

Δημοσίευση από Rapid-eraser » 13 Σεπ 2005 13:43

Dev eivai aplo 8ema afto pos 8a katalabeis av eva binnary eivai gramevo se mia alpha gloosa n oxi


Afto pou eipe o skeftomilos eivai oti eivai ekfolotero va ksekiviseisis me mia interprited glossa programatismou giati dev mesolabei o compiler kai ola ta depentences pou diepouv afti tnv sxesi . Afto exei os apotelesma oi interpreted glosses va eivai pio ameses stnv ekma8isi giati blepeis ta apotelesmata tou kodika sou amesa.

Afto pou eipe eivai oti apla dev mporei va tekmiriosei afti tou tnv apopsi os pros tnv efkolotita pou exei va ma8eis tnv interpreted glossa se sxesi me kapoia pou xriazete compile gia va ftasei se runtime
Cu, Rapid-eraser, Tα αγαθά copies κτώνται.
Love is like oxygen, You get too much you get too high
Not enough and you're gonna die, Love gets you high

Άβαταρ μέλους
Greggold
Δημοσιεύσεις: 64
Εγγραφή: 10 Σεπ 2005 11:40
Τοποθεσία: Ελλάδα- Ελλαδίτσα μου

Εμφάνιση Πηγαίου Κώδικα

Δημοσίευση από Greggold » 13 Σεπ 2005 14:34

Τί ακριβώς είναι αυτές οι interpreted glosseς; Δεν έχω καταλάβει. Πώς γήναιτε να γράφεις κώδικα χωρίς compiler?

Άβαταρ μέλους
Rapid-eraser
WebDev Moderator
Δημοσιεύσεις: 6851
Εγγραφή: 05 Απρ 2003 17:50
Τοποθεσία: Πειραιάς
Επικοινωνία:

Εμφάνιση Πηγαίου Κώδικα

Δημοσίευση από Rapid-eraser » 13 Σεπ 2005 14:44

Malista.

Lipov eva programa gia va treksei prepei va metatrapei se bytecode kai o pirivas tou leitourgikou va tov metatrepsei se asm giava tov ektelesei o epeksergastis orea mexri exei ?

Gia va ftaseis sto bytecode iparxouv poloi dromoi ... oloi ksekivave apo to source code bebea.
Stis glosses pou apetite compiler givete mia fora to programa compile kai teliovei ekei to zitima.
Afto simevei pos dev mporeis va kaveis kapoia allagi sto source code (pou 8a epireazei toteliko programa) xoris va peraseis tnv diadikasia tou compile.

Stis interpreted glosses aftn n diadikasia tis paragogis tou bytecode givete ka8e fora. Afto exei os pleovektima oti opoiadipote allagi givei sto source epireazei amesa to apotelsma tou programatos giati givete 'metaglotisi' ka8e fora pou trexei.

Avaloga me tov tipo tou programatos iparxei kai o avtistixos tipos / glossa pou bon8aei.

px se mia webpage dev mas simferei va exoume to site programatismevo me kapoia compiled glossa (av kai stnv arxi ta cgi afto eixav os skopo) logo twv sixvov allagwv pou givovte.

Omos se eva programa pou trexei kai exei eva simavtiko load pou dev kavoume allages pote (ektos kai av prokete va dimiourgisoume alli version) tote o compiler mas prosdidei divami kai efkolia.

Etsi avaloga me to ti 8eloume va kavoume xrisimopioume tnv katalili texviki.
Cu, Rapid-eraser, Tα αγαθά copies κτώνται.
Love is like oxygen, You get too much you get too high
Not enough and you're gonna die, Love gets you high

Άβαταρ μέλους
Greggold
Δημοσιεύσεις: 64
Εγγραφή: 10 Σεπ 2005 11:40
Τοποθεσία: Ελλάδα- Ελλαδίτσα μου

Εμφάνιση Πηγαίου Κώδικα

Δημοσίευση από Greggold » 13 Σεπ 2005 15:31

o Rapid-eraser eipe:
se mia webpage dev mas simferei va exoume to site programatismevo me kapoia compiled glossa (av kai stnv arxi ta cgi afto eixav os skopo) logo twv sixvov allagwv pou givovte.


Σύμφωνα μεαυτό η Jav και η PhP είναι interpreted glosses?
Αν δέν είναι γιατί χρησιμοποιούνται για κατασκευή ιστοσελίδων;

Επίσης στις interpreted glosses που γράφεις τον κώδικα;

Άβαταρ μέλους
Rapid-eraser
WebDev Moderator
Δημοσιεύσεις: 6851
Εγγραφή: 05 Απρ 2003 17:50
Τοποθεσία: Πειραιάς
Επικοινωνία:

Εμφάνιση Πηγαίου Κώδικα

Δημοσίευση από Rapid-eraser » 13 Σεπ 2005 15:47

n php eivai interpreted glossa programatismou.
To programa to grafeis mesa se plain text arxeia
ta opoia ta avebazeis stov server.

O server exei mia sigkekrimevi diadikasia egkatestimevn
kai otav esy zitas kapoio arxeio .php tote afto aftomata
pervaei apo tov parser tis php kai sou epistrefei
ektelesmevo to programa.

Twra n 'jav' dev eivai glossa ... av evoeis javascript tote vai eivai interpreted av evoeis java tote oxi eivai compiled ... n toulaxistov mia semi compilted afou ta applets dev eivai ousiastika aftovoma ka8os eivai aveksartita tis arxitektovikis tou leitourgiko sistimatos paragomeva. (kata avtidiastoli me to proigoumevo px ta programata grameva se c++ otav givote port gia windows 8elouv px tnv borlad c++ gia windows evo otav eivai port gia linux 8elei px tnv gcc , episis iparxouv diafores stnv sivtaksi tou kodika oste va avtistixei stis diafores pou eipraxouv sta leitourgika sistimata.)
Cu, Rapid-eraser, Tα αγαθά copies κτώνται.
Love is like oxygen, You get too much you get too high
Not enough and you're gonna die, Love gets you high

Άβαταρ μέλους
Greggold
Δημοσιεύσεις: 64
Εγγραφή: 10 Σεπ 2005 11:40
Τοποθεσία: Ελλάδα- Ελλαδίτσα μου

Εμφάνιση Πηγαίου Κώδικα

Δημοσίευση από Greggold » 13 Σεπ 2005 15:57

O Rapid-eraser eipe:
To programa to grafeis mesa se plain text arxeia
ta opoia ta avebazeis stov server.


Καταρχάς τί είναι το plain text.
Δεύτερον ποιός είναι ο server που αναφέρονται διάφοροι αλλά και ο Rpid-eraser σε αυτό το θέμα.

Ο Rapid-eraser eipe:
n toulaxistov mia semi compiled afou ta applets dev eivai ousiastika aftovoma ka8os eivai aveksartita tis arxitektovikis tou leitourgiko sistimatos paragomeva

Τί είναι τα applets ?

Άβαταρ μέλους
Rapid-eraser
WebDev Moderator
Δημοσιεύσεις: 6851
Εγγραφή: 05 Απρ 2003 17:50
Τοποθεσία: Πειραιάς
Επικοινωνία:

Εμφάνιση Πηγαίου Κώδικα

Δημοσίευση από Rapid-eraser » 13 Σεπ 2005 16:17

popo n lervea idra eisai re paidaki mou :P xaaxaxxa

Plain text eivai ta arxeia pou periexouv xaraktires mesa
xoris kapoio idiko markup ... opos bgevouv apo to notepad eva pragma. ta arxeia pou bgevouv apo to word px dev eivai plain text giati exouv to markup tou word

Server eivai katarxiv eva programa pou kavei kapoia sigkekrimevi leitourgia simfova me tnv arxitektoviki server-client.
Stnv prokimevi periptosi eivai o httpd server pou eksipiretei ta http requests otav 8eloume va doume mia selida sto internet.

Ta applet tis java eivai n compiled morfi tou kodika pou eivai adiaforn arxitektovikis kai ektelite apo to framework tis java . px java applets eivai ta diafora chat sistimata pou blepeis sta sites pou eisai mesa se mia webpage kai milas me atoma alla sto irc.
Cu, Rapid-eraser, Tα αγαθά copies κτώνται.
Love is like oxygen, You get too much you get too high
Not enough and you're gonna die, Love gets you high

Άβαταρ μέλους
skeftomilos
Script Master
Δημοσιεύσεις: 2888
Εγγραφή: 07 Ιαν 2005 07:22
Τοποθεσία: Αθήνα

Εμφάνιση Πηγαίου Κώδικα

Δημοσίευση από skeftomilos » 13 Σεπ 2005 23:49

Με τις compiled γλώσσες γράφουμε προγράμματα τα οποία χρειάζονται compilation για να τρέξουν. Αυτό παλιά σήμαινε ότι παραγόταν κώδικας μηχανής, δηλαδή ψηφιακός κώδικας άμεσα εκτελέσιμος από τον επεξεργαστή του υπολογιστή. Κλασικό παράδειγμα η C.

Όμως τα τελευταία χρόνια έχει μπερδευτεί η κατάσταση καθώς υπάρχουν γλώσσες που απαιτούν μεν compilation, αλλά αντί για κώδικα μηχανής παράγουν έναν ενδιάμεσο κώδικα που λέγεται bytocode. Το πιο γνωστό παράδειγμα είναι βέβαια η Java, και ακολουθεί η τεχνολογία .NET της Microsoft που αντέγραψε (με επιτυχία) το μοντέλο της Java. Η φιλοσοφία πίσω από αυτή την προσέγγιση είναι να κάνει τα προγράμματα ανεξάρτητα από την αρχιτεκτονική του υπολογιστή και το λειτουργικό σύστημα και να τρέχουν παντού. Αντί να "πατάνε" κατευθείαν στον επεξεργαστή στηρίζονται στα απαλά χέρια ενός framework που θεωρητικά θα υπήρχε διαθέσιμο για κάθε υπολογιστικό σύστημα του κόσμου, αλλά στην πράξη αυτά περιμένουμε να τα δούμε.

Τώρα για τις interpreted γλώσσες ... ένα παράδειγμα:

Κώδικας: Επιλογή όλων

<script>for &#40;i = 0; i < 20; i+=5&#41; alert&#40;i&#41;</script>
Άνοιξε το Notepad και γράψε αυτή τη γραμμή κώδικα. Μετά σώσε το αρχείο στο δίσκο με όνομα π.χ. js.txt. Κλείσε το Notepad, βρες το αρχείο και άλλαξε το extension από txt σε htm. Θα εμφανιστεί ένα παράθυρο επιβεβαίωσης, πες ναι. Τελευταία κίνηση είναι να κάνεις διπλό κλικ στο αρχείο. Θα ανοίξει ο Internet Explorer (ή άλλος browser) και θα δεις να πετάγονται διαδοχικά τέσσερα παραθυράκια με τα μηνύματα 0, 5, 10 και 15. Το πρόγραμμα έτρεξε!

Τι έγινε; Ο κώδικας ποτέ δε μεταγλωττίστηκε. Ο browser διάβασε το HTML αρχείο και εντόπισε μέσα του τα tags <script> και </script>. Κατάλαβε λοιπόν όταν ανάμεσα υπάρχει κώδικας και υπέθεσε ότι ο κώδικας είναι JavaScript. Στη συνέχεια ανέλυσε λέξη-λέξη τον κώδικα και καθώς προχωρούσε εκτελούσε τις εντολές. Με λίγα λόγια ένα άλλο πρόγραμμα ανέλαβε να τρέξει τον κώδικά μας. Το πρόγραμμα αυτό στη συγκεκριμένη περίπτωση ήταν μεταγλωττισμένο και συνήθως έτσι συμβαίνει, αλλά δεν είναι υποχρεωτικό. Π.χ. θα μπορούσαμε να φτιάξουμε μια δική μας γλώσσα και να γράψουμε το πρόγραμμα σε αυτή:

Κώδικας: Επιλογή όλων

<script type="text/greggold">^λούπα^από0^ως15^βήμα5^παραθυράκι^τρέχα!^</script>
... και έπειτα να γράψουμε έναν interpreter σε JavaScript που να αναλύει και να εκτελεί τις εντολές αυτής της γλώσσας! :)
The pure and simple truth is rarely pure and never simple. Ο μη νους δε σκέπτεται μη σκέψεις για το τίποτα.

Απάντηση

Επιστροφή στο “γλώσσες προγραμματισμού - γενικά”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες