KaKaRoTo VS Hermes: το… μπάχαλο της “σκηνής” του PS3

Πρώτα από όλα, να εξηγήσω το “τι είναι αυτές οι δυο λεξούλες στον τίτλο”, για όποιον δεν τις γνωρίζει: πρόκειται για τα ψευδώνυμα δυο εκ των σημαντικότερων developers της “σκηνής” του PS3. Αμφότεροι ασχολήθηκαν με το “payload” τμήμα της “χακιάς”, δηλαδή με τον κώδικα που “τρέχει” με το που ανοίγει η κονσόλα για “να μπει σε debug mode” και να επιτρέπει την εκτέλεση “ανεπίσημου κώδικα” – που, με τη σειρά του, επιτρέπει την εκτέλεση homebrew εφαρμογών, εξομοιωτών, backup managers κ.λπ.

Ο Hermes, λοιπόν, πάντα έδινε την εντύπωση ενός έξυπνου, αποφασισμένου αλλά… ολίγον-τι “τσαπατσούλη” ερασιτέχνη προγραμματιστή. Ο KaKaRoTo, από την άλλη, πάντα έδειχνε λιγάκι πιο “μεθοδικός” και “ορθόδοξος” όσον αφορά στον προγραμματισμό και την αντιμετώπιση των projects του, αλλά λιγάκι “απομακρυσμένος” από το… ενδιαφέρον του “κοινού” – των κατόχων της κονσόλας. Με άλλα λόγια, θα μπορούσαν να “τυποποιηθούν” στους εξής δυο ρόλους: ο Hermes είναι ο “δεν ξέρω τα πάντα, αλλά προσπαθώ να βοηθήσω τους άλλους κατόχους της κονσόλας με όσα γνωρίζω”, ενώ ο KaKaRoTo περισσότερο στο στυλ “με τόσα που έχω να κάνω, δεν θα ασχοληθώ και πολύ με τα του PS3, αλλά όταν ασχοληθώ για λίγο, θα φτιάξω κάτι μικρό, σωστό και χρήσιμο κυρίως σε άλλους developers για να `χτίσουν` επάνω σε αυτό”.

Και οι δυο “βοηθούν” τη “σκηνή” του PS3, απλά ο KaKaRoTo, ας πούμε λιγάκι πιο… “έμμεσα”.

Πριν τρεις-τέσσερις μερούλες, λοιπόν, κάποια τζιμάνια (αν δεν απατώμαι από Κίνα), αποφάσισαν να κυκλοφορήσουν ένα νέο “σπαστήρι” για το PS3, το οποίο δεν διαφέρει από τους δεκάδες κλώνους του αρχικού PS Jailbreak. Έλα μου που είχαν την πανέξυπνη ιδέα να χρησιμοποιήσουν ως όνομα το… Hermes και ως… υπότιτλο το “PS Groove”, δηλαδή το όνομα που είχε δώσει ο ίδιος στον κώδικα του payload του για το σπάσιμο του PS3!

Η συγκεκριμένη κίνηση μπορεί να μπλέξει τους ανυποψίαστους χρήστες, νομίζοντας πως ο ίδιος με κάποιο τρόπο “σπονσοράρει” το συγκεκριμένο “σπαστήρι”, ενώ τον φέρνει δια της βιας στο χώρο των backups και των “σπασιμάτων”, που η Sony έχει ήδη αρχίσει να κηνυγά (και καλά κάνει). Και επειδή άλλο το “είμαι hacker και περίεργος, και θέλω να δω πώς μπορώ να εκμεταλλευτώ το `κουτί` της Sony, να `παίξω` με τον κώδικα του και να `παρακάμψω` προστασίες του” και άλλο το “πουλάω συσκευές που `σπάνε` το PS3 και κατά 90% θα χρησιμοποιηθούν για να παίζουν οι αγοραστές τους πειρατικά”, ο Hermes αποφάσισε να αποχωρήσει από τη “σκηνή” του PS3.

Σχεδόν ταυτόχρονα με αυτό το… δράμα (by the way: ευχαριστούμε Κινέζοι κοπιαδόροι, για όοοοοοολα όσα έχετε προσφέρει μέχρι σήμερα – δηλαδή, “απολύτως τίποτα”), ήρθε και έδεσε και μια μικρή διαμάχη ανάμεσα σε KaKaRoTo και Hermes – που ουσιαστικά… δεν υπήρξε ποτέ, αλλά παρερμηνεύτηκε, “φούσκωσε” και “επεκτάθηκε” σε όλη τη “σκηνή” του PS3, εξαιτίας της… πραγματιστικής προσέγγισης του KaKaRoTo.

Ο άνθρωπος, ως… ψυχρός προγραμματιστής, ανέβασε στο προσωπικό blog του ένα post με θέμα “γιατί δεν `πάω` τον κώδικα του Hermes”. Φυσικά, σε πολλά sites όλοι έσπευσαν να τον… κράξουν, να αναπολήσουν παλιές, όχι καλές και όχι-και-τόσο-αγαπημένες διαμάχες που είχαν προηγηθεί στις “σκηνές” του PS2 και PSP, να αρχίσουν να… κλαψουρίζουν για το “πώς πρέπει όλοι να είμαστε αδελφωμένοι και να συνεργαζόμαστε εναντίων της κακιάς, κακιάς Sony” κ.λπ. Και έτσι, το τόσο έγινε ΤΟΟΟΟΟΟΟΣΟ.

Σε ένα δεύτερο post του, ο KaKaRoTo εξήγησε το “τι εννοούσε” και, δυστυχώς, έχει απόλυτο δίκιο. Αυτό που τον ενοχλούσε ήταν ακριβώς το ότι “ο Hermes είναι λιγάκι τσαπατσούλης”, με αποτέλεσμα όλα όσα έκανε να είναι δύσκολο να εξελιχθούν απο την υπόλοιπη κοινότητα – και ας “διέθετε ελεύθερα” τον κώδικα του. Ως “σωστός και τυπικός”, ο KaKaRoTo χρησιμοποιεί ένα git hub για την καταχώρηση όλων των τροποποιήσεων που κάνει στον κώδικα του. Το ίδιο χρησιμοποιούν και άλλοι συνεργάτες του, ενώ μπορούν να έχουν πρόσβαση σε αυτό ακόμη και άσχετοι. Τι είναι, όμως, το git hub για το οποίο μιλάμε;

Φαντασθείτε το σαν τη Wikipedia: ο KaKaRoTo “βρίσκει ένα τρόπο να φορτώσει κώδικα στο PS3”. Τον καταχωρεί στο git hub του. Ο Mathlieuh βρίσκει ένα τρόπο να βελτιώσει τον κώδικα του KaKaRoTo, και έτσι προσθέτει μια “τροποποίηση” με τον “δικό του κώδικα” στο git hub. Αυτή εμφανίζεται, ακριβώς, ως “τροποποίηση”, σημειώνεται το “πού διαφέρει από τον αρχικό κώδικα” και επίσης καταγράφεται “το όνομα αυτού που την καταχώρισε”. Όσο περισσότεροι ασχολούνται με ένα κοινό project, όπως έχει εξελιχθεί να είναι “το άνοιγμα του PS3”, τόσο καλύτερα θα πρέπει να οργανώνονται, ώστε να εργάζονται για ένα κοινό σκοπό, χρησιμοποιώντας ο ένας ως βάση τον κώδικα του άλλου. Και γρηγορότερα “θα προχωράμε”, και δεν θα υπάρχουν περιττές διαφωνίες, επαναλλείψεις στον κώδικα κ.λπ. Θεωρεί κάποιος πως “βρήκε μια καλύτερη λύση για ένα πρόβλημα”; Δεν χρειάζεται να την κυκλοφορήσει ως “δική του”, διχάζοντας την κοινότητα: μπορεί να την καταχωρήσει μαζί με τις υπόλοιπες, των υπόλοιπων προγραμματιστών/developers, και αν όντως “είναι καλύτερη η δική του προσέγγιση”, οι άλλοι θα την υϊοθετήσουν. Αυτό θα πει “συνεργασία” και σε αυτό βοηθά η χρήση ενός “κεντρικού αποθετηρίου κώδικα” (διότι για αυτό μιλάμε όταν λέμε “git hub”).

Ο Hermes, από την άλλη, “πάλευε μόνος του” και μια-στις-κούκου διέθετε ένα αρχείο RAR στο οποίο είχε τον νέο του κώδικα. Δίχως σχόλια που να λένε “τι κάνει κάθε νέα τροποποίηση που είχε εφαρμόσει”, δίχως να φαίνονται προοδευτικά οι αλλαγές που είχε κάνει για να μπορέσει ένας άλλος developer να σκεφτεί “α, πείραξε αυτό, άρα άλλαξε εκείνο και για αυτό δουλεύει το Χ παιχνίδι” κ.λπ. Ο κώδικας του ναι μεν ήταν “ανοιχτός”, αλλά ήταν επίσης και ένα… ανοργάνωτο μπάχαλο, από το οποίο έπρεπε οι υπόλοιποι να βγάλουν άκρη.

Επιπλέον, ίσως αν ταξιδέψετε λιγάκι από site σε site της “σκηνής” του PS3, να δείτε αναφορές σε Syscalls 35 κ.λπ. Τι “παίζει” με αυτά και γιατί σχετίζονται με τον Hermes και τον KaKaRoTo;

Όταν πρωτοκυκλοφόρησε το πρώτο PS Jailbreak, μαζί με τον κώδικα του που “ξεκλείδωνε” το PS3, οι δημιουργοί του ήξεραν πως θα χρησιμοποιούταν κατά βάσει για τη φόρτωση πειρατικών παιχνιδιών. Έτσι, ο κώδικας τους εμπεριείχε μια πατέντα με την οποία το PS3 αναγκαζόταν να “αναγνωρίσει ως δισκάκι blu-ray ένα φάκελο του δίσκου”. Έτσι, ένα παιχνίδι μπορούσε να αντιγραφεί από ένα δισκάκι στο σκληρό δίσκο και μετά, με αυτό το κόλπο, το PS3 να νομίζει πως “δεν είναι σκληρός δίσκος, δισκάκι είναι, αλήθεια!” και να το φορτώνει κανονικά. Μόνο που αυτός δεν ήταν “ο σωστός τρόπος” αντιμετώπισης του προβλήματος, μα μια γρήγορη λύση “για να παίζουν οι κόπιες”.

Ο KaKaRoTo λοιπόν προσέθεσε “το σωστό τρόπο” στο δικό του payload (θυμίζω: payload=ο κώδικας που “φορτώνεται” από το φλασάκι, “χώνεται” στο PS3 και το θέτει σε debug mode για να τρέχει ανεπίσημο κώδικα). Ο “σωστός τρόπος” δεν προσπαθεί να θέσει με τη βια ένα φάκελο του δίσκου “ως συσκευή blu-ray drive”, αλλά χρησιμοποιεί δυνατότητα αντίστοιχη του “mount” που θα γνωρίζουν οι… λινουξάδες φίλοι μας: μια λειτουργία που “υπάρχει επίσημα και κανονικότατα” στον ίδιο τον κώδικα της Sony, με τον οποίο ορίζεται το “πού βρίσκονται τα αρχεία μιας συσκευής” (για να το θέσω σχετικά απλά και κατανοητά). Με άλλα λόγια, με τον τρόπο του KaKaRoTo, όχι μόνο “μπορούν να φορτώνουν κόπιες” (για όσους ενδιαφέρονται για backups – κάτι με το οποίο είναι αντίθετος ο ίδιος ο KaKaRoTo), αλλά και, για παράδειγμα, να αλλάξει “το σημείο από το οποίο δίνεται πρόσβαση στο σύστημα γραφικών του PS3” κ.λπ.

Όλα αυτά, λοιπόν, οδήγησαν σε ένα μικρό… μπάχαλο τις τελευταίες ημέρες: ο Hermes να “φεύγει”, ο KaKaRoTo να φαίνεται πως “του επιτέθηκε άδικα”, αρχάριοι developers να κυκλοφορούν “τα δικά τους payloads” στα οποία… συνδύαζαν την προσέγγιση του Hermes και του KaKaRoTo (τη στιγμή που και οι δυο κάνουν το ίδιο πράγμα με διαφορετικό τρόπο, και θα έπρεπε να υποστηρίζεται μόνο η μία από αυτές – που, τελικά, καταλήγει να είναι αυτή του KaKaRoTo), και αρκετοί χρήστες να… κλαίγονται πως “χρησιμοποίησαν το νέο payload του KaKaRoTo και τώρα δεν τους παίζουν τα backup τους” (κάτι που συνέβαινε διότι οι “κλασσικοί” backup managers βασίζονταν στο Syscall 36 του Hermes ενώ το σωστό ήταν το Syscall 35 του KaKaRoTo που προανέφερα (θυμίζω, “syscall” στην προκειμένη περίπτωση, “ο τρόπος αντιστοίχισης της συσκευής blu-Ray στο σκληρό του PS3”).

Ελπίζω με τα παραπάνω, οι πιο… hardcoreάδες που τρέχετε να προλάβετε τις εξελίξεις να βγάλατε κάποια άκρη για το “τι νόημα έχουν αυτά τα posts στα τάδε ξένα sites”, “γιατί φαίνεται να πλακώνονται αυτοί οι δυο” και “γιατί φεύγει ο Hermes, πώς θα παίζουμε τώρα εμείς στο πλεηστέησον μας;”..! :-)

Source:

– PSX PS2 PS3 Scene Hacking Modchip & Jailbreak Community]First things first, the title says “why I don’t like the hermes Payload” so this has nothing to do with Hermes himself. I don’t know him, I never spoke to him, so I don’t know what kind of person he is and so I have no opinion on him personally.

...γνωστός και ως Οδυσσέας Κουράφαλος, αρχικός υπεύθυνος για το unregistered. Συντάκτης, γραφίστας, "μαλτιμηντιάς", φανατικός της science fiction και των αστείων γατιών στου ιντερνέτ. "Δηλώνω graphics whore" (παίζω Ms. Pac-Man στο MAME με 2xSAL και το πρώτο Max Payne με FXAA antialiasing). Load "unreg*",8,1.