Τελική Εργασία

Τελική Εργασία

Να δημιουργήσετε μια εφαρμογή Security για Android (έκδοση 2.2).
Η εφαρμογή θα έχει τις παρακάτω δυνατότητες:

1. *Αν λάβει ένα sms με συγκεκριμένο format, συγκεκριμένη εντολή και κωδικό:

a. Να ελέγχει αν το format είναι το αναμενόμενο
b. Να ελέγχει αν η συγκεκριμένη εντολή υπάρχει

c. Να ελέγχει αν ο κωδικός είναι σωστός

d. Να στέλνει ένα sms σε μια προκαθορισμένη διεύθυνση. Το sms θα περιέχει την τρέχουσα θέση της συσκευής και το περιεχόμενό του θα είναι της μορφής: LATITUDE,=…LONGITUDE=…ΤIME=… όπου οι τιμές των μεταβλητών θα καθορίζονται κατά το runtime.

2. **Αν λάβει ένα sms με συγκεκριμένο format, συγκεκριμένη εντολή και κωδικό (π.χ. 222-13a32f):
a. Να ελέγχει αν το format είναι το αναμενόμενο
b. Να ελέγχει αν η συγκεκριμένη εντολή υπάρχει
c. Να ελέγχει αν ο κωδικός είναι σωστός
d. Αν όλα τα παραπάνω ισχύουν να παίζει διαρκώς ένα συγκεκριμένο sound clip στη μέγιστη ένταση της συσκευής.

3. ****Να παρέχεται η δυνατότητα κρυπτογράφησης, αποκρυπτογράφησης αρχείων που βρίσκονται στην SD Card με τη βοήθεια του αλγορίθμου AES-128bit.
a. Για το encryption θα ζητείται από τον χρήστη ένας κωδικός (συμμετρικό κλειδί κρυπτογράφησης/αποκρυπτογράφησης) .
b. Ένα path ενός αρχείου στην SD card.

i. Σημείωση: μπορεί να χρησιμοποιηθεί οποιοσδήποτε τρόπος για τον καθορισμό του αρχείου, π.χ. ρητή εισαγωγή path μέσω ενός TextEdit ή κατασκευή ενός FileChooser activity. Οι τρόποι εισαγωγής δεν θα βαθμολογηθούν διαφορετικά.
c. Αν το αρχείο υπάρχει τα δεδομένα του θα κρυπτογραφούνται και θα αποθηκεύονται σε ένα νέο αρχείο με το ίδιο όνομα και κατάληξη .enc (π.χ. αν το αρχικό αρχείο ήταν το test.txt το κρυπτογραφημένο θα είναι test.txt.enc). Το αρχικό αρχείο θα διαγράφεται.
d. Για το decryption θα πρέπει να ζητείται το μυστικό κλειδί. Τα δεδομένα αποκρυπτογραφούνται σε ένα αρχείο με την αρχική ονομασία ενώ το κρυπτογραφημένο αρχείο θα διαγράφεται.

4. ***Να παραλλαχθεί το ζήτημα 2 ώστε να στέλνει ένα e-mail σε μια προκαθορισμένη διεύθυνση. Το e-mail θα περιέχει την τρέχουσα θέση της συσκευής και το περιεχόμενό του θα είναι μόνο μια διεύθυνση της μορφής: https://maps.google.com/maps?q=LATITUDE,+LONGITUDE+(Your+device+was+here+at+TIME) όπου LATITUDE, LONGITUDE και TIME θα είναι μεταβλητές που θα καθορίζονται κατά το runtime.Το e-mail θα πρέπει να αποστέλλεται χωρίς τη συγκατάθεση ή κάποιου άλλου είδους ενέργειας από την πλευρά του χρήστη. (Προφανώς παράμετροι όπως το username του και το password του θα πρέπει να έχουν αποθηκευτεί εξ αρχής).

5. ***(προαιρετικό) Η κλάση broadcastreceiver που φτιάχτηκε για τις ανάγκες των παραπάνω ερωτημάτων να παρααλλαχθεί ώστε να τρέχει στο background διαρκώς περιμένοντας συνεχώς εντολές-μηνύματα ακόμα και αν η εφαρμογή δεν είναι ενεργή.