Διάφορα παλιά project.
RADIX - Base Conversion utility
To
RADIX είναι ένα Base Conversion utility για Windows. Μετατρέπει έναν αριθμό από ένα αριθμητικό σύστημα σε ένα άλλο στις βάσεις 2 ως 62. Είναι γραμμένο σε win32 assembly και τρέχει από την γραμμή εντολών. Μπορεί να φορτώσει, ή να σώσει έναν αριθμό από/σε εξωτερικό αρχείο. Το πρόγραμμα τρέχει σε Windows XP και 7 αλλά
όχι στα 10. Υποστηρίζει αριθμούς μεγάλου μήκους. Πέρα από έλεγχο συμμετρίας (μετατροπή και αντίστροφα για να πάρω τον αρχικό αριθμό πίσω) δεν έχει ελεγχθεί σε μετατροπές πολύ μεγάλων αριθμών για την εγκυρότητα του αποτελέσματος.
Μετατροπή από δεκαεξαδικό σε δεκαδικό.
Η δεύτερη μετατροπή από εξωτερικό αρχείο που περιέχει 1000 δεκαεξαδικά ψηφία F.
ShellSpawner - Win32 Shell Spawning Example
Το πρόγραμμα αφού τρέξει στον υπολογιστή Α, περιμένει μια εξωτερική σύνδεση μέσω Telnet από κάποιο υπολογιστή Β στην θύρα 53280. Μόλις αυτή πραγματοποιηθεί ανοίγει μια πόρτα δίνοντας πρόσβαση στον απομακρυσμένο υπολογιστή Β να χειριστεί την γραμμή εντολών του Α σαν να βρισκόταν μπροστά στο pc αυτό. Όλα γίνονται στο παρασκήνιο, χωρίς ο Α να το αντιλαμβάνεται. Όπως καταλάβατε πρόκειται για ένα Win32 Shellcode, στην απλοϊκότερη του μορφή. Είναι γραμμένο σε win32 assembly και θα τρέξει μόνο αν και οι 2 υπολογιστές βρίσκονται στο ίδιο τοπικό δίκτυο. Το πρόγραμμα Θα αναγνωριστεί από την πλειονότητα των Antivirus ως ιός. Για αυτό δεν δίνω το εκτελέσιμο αλλά απευθείας τον
κώδικα. Compile & run με ένα κλικ μέσα από το fasmw ide.
Δοκιμάζω το πρόγραμμα στο δίκτυο μου.
Συνδέομαι από Windows 10 μέσω telnet σε υπολογιστή με Windows 7 που τρέχει το ShellSpawner στο παρασκήνιο.
Συνδέθηκα. Δίνω την εντολή DIR. Ο κατάλογος που εμφανίζεται είναι του άλλου υπολογιστή.
RIA (Reversi in Assembly)
Έχω αφιερώσει αρκετό χρόνο σε αυτό το project, σκέφτηκα πως αξίζει να γράψω 2 λόγια.
To RIA (Reversi in Assembly) είναι ένα παιχνίδι Reversi για Windows. To GUI μέρος έχει προχωρήσει και είμαι ευχαριστημένος με το αποτέλεσμα. Τα γραφικά και οι μηχανισμοί που αποτελούν το παράθυρο είναι resizable, το μενού περιλαμβάνει γραφικά όπως φαίνεται στην εικόνα. Χρειάστηκα 2 μήνες ελεύθερου χρόνου για να φτάσω στο αποτέλεσμα αυτό. Πιθανόν σε μια γλώσσα υψηλού επιπέδου να χρειαζόμουν λίγες μέρες, όμως η assembly θέλει υπομονή. Με κούρασε όμως και το παράτησα για λίγο. Αργότερα ξεκίνησα να γράφω την μηχανή του παιχνιδιού. Η μηχανή του παιχνιδιού είναι ένας αλγόριθμος NegaMax με Άλφα-Βήτα περικοπή και κάποιες ακόμα βελτιώσεις, όπως είναι τώρα μπορεί να φτάσει σε βάθος 5-6 κάνοντας το έναν σχετικά δυνατό αντίπαλο που μπορεί να κερδίσει έναν μέτριο παίχτη (σαν εμένα). Η μηχανή του παιχνιδιού αναπτύσσεται ξεχωριστά. Την γράφω σε 32-bit assembly στην κονσόλα με απλούς χαρακτήρες κειμένου για ευκολία. Όταν θα είναι έτοιμη θα την ενσωματώσω στο GUI της RIA. Εκεί έχει μείνει για την ώρα το project, στον πάγο. Ίσως μια μέρα να το συνεχίσω.
