Στο σημερινό μάθημα θα δούμε πως μπορούμε να επαναλάβουμε την διαδικασία δημιουργία τυχαίων κωδικών, συνθηματικών αλλά αυτή την φορά σε τερματικό του Android.
Εισαγωγή
Θεωρώ ότι έχετε ήδη μελετήσει το πρώτο και το δεύτερο μάθημα, μιας και θα δώσω οδηγίες μόνο για τα σημεία που δεν έχουμε μιλήσει στα προηγούμενα μαθήματα.
Για να γράψουμε τον κώδικα που είδαμε στο προηγούμενο μάθημα θα χρειαστούμε κάποιο φυσικό πληκτρολόγιο συνδεδεμένο με το Android μας (ασύρματο ή ενσύρματο π.χ. με θήκη πληκτρολογίου για tablet). Ή να χρησιμοποιήσετε το Hackers Keyboard, η οποία δίνει ότι και ένα κανονικό πληκτρολόγιο (ctrl, alt, function keys κλπ).
Εναλλακτικά μπορείτε να γράψετε τον κώδικα στον υπολογιστή και να το στείλετε στο android σας. Η αν βαριέστε να γράφετε μπορείτε να πάρετε τον κώδικα έτοιμο από το αποθετήριο του Cerebrux (όπως θα δείτε παρακάτω) και το τρέξετε η και να το τροποποιήσετε κατά το δοκούν.
Επίσης, για να το τρέξετε θα χρειαστεί να κάνετε εγκατάσταση από το Play Store ένα τερματικό περιβάλλον. Προτείνω το Termux το οποίο και έχω χρησιμοποιήσει στις δοκιμές μου και δουλεύει.:
Εγκατάσταση και χρήση του Termux
Το Termux είναι ένα τερματικό περιβάλλον που «φέρνει» στην συσκευή Android σχεδόν όλες τις εντολές που έχει ήδη συνηθίσει ένας χρήστης Linux.
Αφού το κάνετε εγκατάσταση, ανοίξτε το και δείτε το μήνυμα που βγάζει για πρώτη φορά. Λέει ότι μπορείτε να ενημερώσετε τις πηγές λογισμικού Linux με την εντολή apt update. Στην πραγματικότητα λοιπόν, το termux δημιουργεί ένα περιβάλλον εντολών Linux στον υποφάκελλο της εφαρμογής του και εκμεταλλεύεται το γεγονός ότι το Android βασίζεται αλλά και χρησιμοποιεί Linux πυρήνα. Μην ανησυχείτε λοιπόν με τις παρακάτω εντολές, δεν πρόκειται να προκαλέσετε πρόβλημα στο κινητό σας.
Τι περιμένετε λοιπόν, πάμε να το τρέξουμε:
apt update
ωραία, πάμε να κάνουμε ενημέρωση των λογισμικών του Linux :
apt upgrade
αν υπάρχουν ενημερώσεις θα σας ρωτήσει αν θέλετε να τις εγκαταστήσει οπότε πατήστε enter
Ας κάνουμε εγκατάσταση και μερικά λογισμικά που θα χρειαστούμε:
apt install htop
Το αποτέλεσμα θα μοιάζει με την παρακάτω εικόνα:
Ωραία, τώρα μπορείτε να τρέξετε το htop όπως το έχετε δει και στην Linux διανομή σας:
htop
και πατήστε enter
Όπως βλέπετε, πρόκειται για ένα κινητό 4 πύρινο με 3 GB ram. Συγκεκριμένα είναι το Meizu MX4 Pro. Μπορείτε να κλείσετε την εφαρμογή htop πατώντας q στο πληκτρολόγιο.
Αν κρατήσετε πατημένο το δάχτυλό σας στο τερματικό, θα εμφανιστεί το μενού το termux και εκεί μπορείτε να επιλέξετε more και έπειτα Help για να δείτε τον οδηγό χρήσης του termux.
Για κειμενογράφο τερματικού, όπως γράφει ο οδηγός του termux, μπορείτε να κάνετε εγκατάσταση το nano, vim κλπ. π.χ.:
apt install nano
Τώρα, αν έχετε υπομονή μπορείτε να διαβάσετε τα προηγούμενα μαθήματα και να πειραματηστείτε, να γράψετε και γενικά να δοκιμάσετε τις εντολές του τερματικού.
Που είναι ο κώδικας;
Αν όμως… βαριέστε να γράφετε, έχω ετοιμάσει τον κώδικα και μπορείτε να το κατεβάσετε από το github. Για να σας «ταλαιπωρήσω» όμως και να σας κάνω να χρησιμοποιείστε το Termux θα κάνουμε τα εξής:
- θα κάνουμε εγκατάσταση το git
- θα κατεβάσουμε τον κώδικα
- θα μπούμε στον φάκελο που κατέβηκε
- θα προβάλουμε τον κώδικα
- και τέλος, θα τρέξουμε το πρόγραμματάκι
Πάμε λοιπόν βήμα βήμα
Εγκατάσταση Git στο Android Termux
Ας κάνουμε εγκατάσταση το git :
apt install git
Ωραία μόλις γίνει η εγκατάσταση, αντιγράψτε την παρακάτω εντολή με τον σύνδεσμο (όσοι διαβάζετε το άρθρο από το κινητό) και κάντε το επικόλληση στο termux η πληκτρολογήστε την και πατήστε enter:
git clone https://github.com/CerebruxCode/kodrandroid.git
Η παραπάνω εντολή «κλονοποιεί» τον κώδικα του kodrandroid που βρήσκεται στο github μέσα στον φάκελο kodrandroid. Έπειτα μπείτε στον φάκελο:
cd kodrandroid
και δείτε τα περιεχόμενά του
ls
Τώρα μπορείτε να προβάλετε τον κώδικα του αρχείου με την εντολή cat
cat kodrandroid
Όπως θα δείτε, ο κώδικας είναι ελαφρώς τροποποιημένος, αλλά όσοι μελετήσατε το προηγούμενο μάθημα θα καταλάβετε τι κάνει :
#!/system/bin/sh # Προγραμματάκι που παράγει τυχαίους κωδικούς σε # τρεματικό με Android συσκευή με χρήση της /dev/urandom # Πηγή: https://cerebrux.net/2016/05/dimiourgia-tuxaion-kodikon-termatiko-android-dev-random/ # -------------cerebrux.net-------------------- #εμφάνισε ένα καλωσόρισμα echo "" echo "####################" echo "# Καλωσήρθατε στο #" echo "# Kodrandroid #" echo "####################" # Περίμενε 1 δευτερόλεπτο sleep 1 # άφησε 2 κενές σειρές echo "" echo "" for apotelesma in `seq 1 5` # Προβολή των 10 ψηφίων της /dev/urandom # από 1 έως 5 φορές do # δώσε μου μόνο τους χαρακτήρες όχι σύμβολα strings /dev/urandom |\ # αλλά μόνο ότι υπάρχει στις πρώτες 5 γραμμές head -n 5 |\ # αφαίρεσε ότι κενό υπάρχει μεταξύ χαρακτήρων tr -d '[:blank:]' |\ # αφαίρεσε τυχών νέες γραμμές tr -d '\n'|\ # το μέγεθος να είναι 10 χαρακτήρες head -c 10 # αφού μου δώσεις νέο κωδικό 10 χαρακτήρων ξεκίνα την διαδικασία σε νέα γραμμή echo "" done # άφησε 2 κενές σειρές echo "" echo "" echo "----------------" echo "- ολοκληρώθηκε -" echo "----------------" echo ""
Τώρα μπορείτε να το τρέξετε με την εντολή bash για να δηλώσετε ότι θέλετε να γίνει η χρήση του κελύφους bash :
bash kodrandroid
ή να το τρέξετε απευθείας:
./kodrandroid
Όπως βλέπετε μια χαρά έτρεξε το προγραμματάκι μας. Μπορεί να παρατηρήστε στον κώδικα μια διαφορά στην διαδρομή του κελύφους. Ενώ δηλαδή στις Linux διανομές ο διαδρομή για το κέλυφος sh είναι συνήθως στο /bin/sh η Google λόγο της αρχιτεκτονικής του Android, το έχει στο /system/bin/sh. Περι ορέξεως…
Ο κώδικας είναι διαθέσιμος στο αποθετήριο του Cerebrux
Επίλογος
Με το μάθημα αυτό θέλαμε να επεκτείνουμε την δραστηριότητα μας και στο Android για να δείξουμε και τις Linux καταβολές του λειτουργικού. Φυσικά μην περιμένετε να μπορούν να εκτελεστούν όλες οι εντολές που θα δοκιμάσετε μιας και πρώτον, δεν έχετε πρόσβαση root στην συσκευή σας και από την άλλη και να έχετε η Google έχει αφαιρέσει πολλά από τα στοιχεία που θα χαρακτήριζαν το Android έναν κλώνο μιας διανομής Linux.
Αρκετά ενδιαφέρον.