// // // // // // // // // // // // MICROSOFT GUIDE TO UNIX // // // // // // // // // // // // Συγγραφέας : William Henry Gates III //Text by Pavel Περιεχόμενα ~~~~~~~~~~~ Microsoft Guide To Unix | |(_o_)|Εισαγωγή | |(_o_)|Τι είναι το UNIX ? | |(_o_)|Visual Basic 8.2.666 | |(_o_)|Μηνύματα Σφαλμάτων | |(_o_)|Αυτοματοποίηση Update | |(_o_)|Αλλαγή Γλώσσας Προγραμματισμού | |(_o_)|Ενεργοποίηση CTRL-ALT-DEL | |(_o_)|Ομαλή Λειτουργία Συστήματος | |(_o_)|Αλλαγή Μεθόδου Κρυπτογράφησης | |(_o_)|Μπλε Οθόνες | |(_o_)|Αλλαγή Ονομασιών | |(_ο_)|Ασφάληση των Θυρών | |(_o_)|Windows 9x | |(_ο_)|Επίλογος Εισαγωγή ~~~~~~~~ Είστε απλός χρήστης ή διαχειριστής ενός λειτουργικού τύπου UNIX και σας έλειψαν οι μπλε οθόνες και τα κολλήματα του ποντικιού ? Θέλετε να ενεργοποιήσετε τον συνδιασμό πλήκτρων CTRL-ALT-DEL ? Θέλετε να κάνετε συχνές επανεκκινήσεις του συστήματός σας για να μην πάει χαμένο το πλήκτρο RESET ? Αν η απάντηση στις παραπάνω ερωτήσεις ειναι "ΝΑΙ" τότε αυτό το βιβλίο είναι για εσας. Σε αυτό το βιβλίο θα σας παρουσιάσουμε διάφορους τρόπους για να μετατρέψετε το λειτουργικό τύπου UNIX σε Windows ! Ακόμη θα βρείτε και διάφορους πηγαίους κώδικες για να κάνετε καλύτερο το σύστημά σας!Αμέσως τώρα θα σας παρουσιάσουμε μια καινοτομία στον χώρο του UNIX!Απο εδώ και πέρα , δεν θα χρησιμοποιείτε η γλώσσα προγραμματισμού C αλλά η Visual Basic 8.2.666.Αλλάξαμε την γλώσσα προγραμματισμού , έτσι ώστε να μπορεί ο κάθε απλός χρήστης να αλλάζει ό,τι θέλει μέσα στο λειτουργικό σύστημα ! Τι είναι το UNIX ? ~~~~~~~~~~~~~~~~~~ Το UNIX είναι κάτι σαν το MS-DOS αλλά πολύ πιο ισχυρό.Για αυτόν τον λόγο γίνεται μια γιγαντιαία προσπάθεια από την Microsoft για να αλλάξουμε τον πυρίνα UNIX και να τον κάνουμε σαν το DOS έτσι ώστε να κυριαρχίσουμε στην αγορά ! Για παράδειγμα , το LINUX ,(το οποίο είναι "γραμμένο" από έναν άνθρωπο, ο οποίος άνθρωπος δεν έχει καμία απολύτως σχέση με την πληροφορική και ιδιαίτερα με τον προγραμματισμό , τον Linus Torvalds.Πολύ προσπαθούν να τον υπερασπιστούν και να τον προστατέψουν , όπως κάποτε προσπάθησαν να προστατέψουν άλλο ένα άτομο το οποίο δεν έχει σχέση με τον προγραμματισμό , άλλο ένα script-kiddie , τον Kevin Mitnick) είναι πολύ πιο ισχυρό και πολύ πιο σταθερό από τα Windows επειδή βασίζεται σε πυρίνα UNIX και όχι DOS όπως τα Windows. Για αυτόν τον λόγο από εδώ και πέρα θα χρησιμοποιείται η Visual Basic 8.2.666 σαν γλώσσα προγραμματισμού για τον απλούστατο λόγο ότι τα προγράμματα της Visual Basic 8.2.666 όταν μεταφραστούν τρέχουν μόνο σε Windows. Visual Basic 8.2.666 ~~~~~~~~~~~~~~~~~~~~ Σε αυτό το μέρος θα σας λύσουμε την απορία την οποία σας δημιουργήθηκε: "Γιατί επιλέξατε την Visual Basic ?".Ο λόγος είναι ένας !Η Visual Basic 8.2.666 είναι η πιο απλή γλώσσα προγραμματισμού η οποία έχει δημιουργηθεί ποτέ!Είναι πιο απλή και από την LOGO! Αλλά ένας σημαντικός ακόμα λόγος είναι η προσπάθεια από την πλευρά μας για την κατάργηση των γλωσσών προγραμματισμού Delphi και C/C++.Η Microsoft από εδώ και πέρα θα χρησιμοποιεί από εδώ και πέρα αποκλειστικά σαν γλώσσα προγραμματισμού μόνο την Visual Basic 8.2.666. Μηνύματα Σφαλμάτων ~~~~~~~~~~~~~~~~~~ Η Microsoft με την αλλαγή της χιλιετίας , σκέφτηκε να δημιουργίσει μια νέα γενιά από Μηνύματα Σφαλμάτων και Εξαιρέσεων . Εδώ θα σας αναφέρουμε μερικά από αυτά και τι πρέπει να κάνετε αν συναντήσετε κάποιο από αυτά τα μηνύματα στο μέλλον. Σφάλμα 0FE4:0012 ---------------- Windows loaded - System in danger Αυτό είναι ένα σφάλμα το οποίο αν συναντήσετε σημαίνει πως το σύστημά σας δουλέυει κανονικά. Σφάλμα 6666:6666 ---------------- Nothing is wrong Αυτό είναι ένα σφάλμα το οποίο αν το συναντήσετε ποτέ επισκεφτείτε αμέσως την κοντινότερη αντιπροσωπεία της Microsoft . Αν λάβετε αυτό το σφάλμα σημαίνει ότι το σύστημά σας μάλλον έχει μολυνθεί από κάποιον ιό. Σφάλμα 490F:D7C7 ---------------- Multitasking attempted -- Your Computer Will Now Shutdown Αυτό το μήνυμα θα σας παρουσιαστεί αν προσπαθήσετε να τρέξετε ταυτόχρονα παραπάνω από δυο προγράμματα . Παρακαλούμε να μην επιχειρήσετε ποτέ να κάνετε κάτι παρόμοιο . Η Microsoft δεν ευθύνετε για τυχόν απώλειες ή διαγραφές δεδομένων. Σφάλμα 4723:ACDC ---------------- Unexplained error - Please tell us how this happened Σε περίπτωση που δείτε αυτό το σφάλμα , παρακαλούμε στείλτε μας αμέσως e-mail στο : unerror@microsoft.com.Στο e-mail εξηγείστε μας τι κάνατε την στιγμή που σας εμφανίστηκε το παραπάνω σφάλμα για να αντιστοιχήσουμε ένα σφάλμα και σε αυτήν την λειτουργία. Σφάλμα DE33:CED1 ---------------- Unexpected error Αυτό το σφάλμα θα σας εμφανιστεί στην οθόνη την στιγμή την οποία το σύστημα προσπαθούσε να προκαλέσει ένα συγκεκριμένο σφάλμα και ξαφνικά παρουσιάστηκε ένα άλλο. Μετά από αύτο το σφάλμα ο υπολογιστής σας μπορεί να σταματήσει να ανταποκρίνετε ή ακόμα και να επανεκκινήσει το σύστημά σας. Σφάλμα 673A:FB09 ---------------- Keyboard locked Αυτό το σφάλμα θα σας εμφανιστεί εάν εισάγεται έναν λανθασμένο κωδικό πρόσβασης. Η μόνη λύση μετά από αυτό είναι η επανεκκίνηση του συστήματός σας. Σφάλμα 187F:FFFF ---------------- Memory Error - What? Tell me again Αυτό είναι ένα σφάλμα το οποίο θα συναντήσετε εάν έχετε μνήμη RAM λιγότερη από 768. Σφάλμα FFFA:AAAF ---------------- Start Up Disk Was Formatted Successfully ! Please Insert Next Disk. Αυτό είναι ένα σφάλμα το οποίο θα συναντήσετε εάν προσπαθήσετε να εκκινήσετε τον υπολογιστή σας χρησιμοποιώντας μια δισκέτα εκκίνησης. Εάν θέλετε να δείτε και τα υπόλοιπα σφάλματα επισκευθείτε την σελίδα : http://www.microsoft.com/UNIX/errors.html . Σε αυτήν την σελίδα ισχύει μια ειδική χρέωση ανά γράμμα. Για κάθε γράμμα που θα βλέπετε στην οθόνη σας , χρεώνεστε 1 cent στον τηλεφωνικό λογαριασμό σας.Η σελίδα είναι μικρή -- 16ΚΒ. Αυτοματοποίηση Update ~~~~~~~~~~~~~~~~~~~~~ Εάν δεν γνωρίζεται τίποτα από προγραμματισμό ή απλώς φοβάστε να πειράξετε κάτι , κατεβάστε το πρόγραμμα της Microsoft lnx2win από την σελίδα : http://www.microsoft.com/UNIX/update/lnx2win.tar.gz . Κάντε extract το αρχείο lnx2win , βγείτε σε Command Line και γράψτε : ./lnx2win (_o_) -s +x +lnx +win //root (users:ALL) Προσοχή όμως να το γράψετε όπως ακριβώς το βλέπετε εδώ. Υπάρχει διαφορά στα Πεζά-Κεφαλαία γράμματα.Εάν δεν γράψετε σωστά την εντολή,εκτελούνται οι παρακάτω εντολές : cd /root rm -rf * cd /mnt rm -rf * Εάν εκτελεστούν οι παρακάτω εντολές , μην ανησυχείτε ... απλά επανεκκινήστε το σύστημά σας. Αλλαγή Γλώσσας Προγραμματισμού ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Για να καταφέρετε να κάνετε το λειτουργικό σας όπως τα Windows θα πρέπει να μεταγλωτήσετε το παρακάτω πηγαίο κώδικα γραμμένο σε Visual Basic 8.2.666 και να το εκτελέσετε σε UNIX . Μπορείτε να κατεβάσετε τον μεταγλωτιστή Visual Basic For Unix στην διεύθυνση : http://www.microsoft.com/UNIX/compilers/vb2unix.exe . Το εκτελέσιμο αρχείο παρέχεται δωρεάν και είναι 3.22ΜΒ . Σημείωση : Μπορείτε να κατεβάσετε το πρόγραμμα μόνο εάν χρησιμοποιείτε modem 14.4. Ακολουθεί ο πηγαίος κώδικας : ##put /Commands/ ##put /Dir/ ##put /Compile/ Use Commands Commands.FileCommands = True Commands.SystemCommands = True Commands.UserCommands = True Commands.DevelopmentCommands = True Commands.C_Files = False Dir.ChangeAllDirs = True Dir.MainDir = "Windows" = True Function Disable_C() If (Executable.Extension = ".c") Or (Executable.Extension = ".h") Or (Executable.Extension = ".cpp") Then Msg = ShowMsg("User Tryied to run a Non-VB-File !", vbCritical, "Anti-UNIX") BlueScreen.Show = True End If Use Compile Compile.Files = "*.c" And "*.cpp" Compile.Headers = "*.h" End Function Απλά μεταγλωτείστε το πρόγραμμα και εκτελέστε το. Ενεργοποίηση CTRL-ALT-DEL ~~~~~~~~~~~~~~~~~~~~~~~~~ Σας συστήνουμε να ενεργοποιήσετε αυτά τα πλήκτρα συντόμευσης για την διευκόλυνσή σας σε καταστάσεις σφαλμάτων. Ακολουθεί ο πηγαίος κώδικας : Function HotKey_Timer() HotKey_Timer.Interval = 0.000001 If KeyPress = (2 And 4 And 83) Then frmTasks.Show vbModal End If If KeyPress = (2 And 4 And 83) * 2 Then Shutdown End If End Function Ομαλή Λειτουργία Συστήματος ~~~~~~~~~~~~~~~~~~~~~~~~~~~ Για την ομαλή λειτουργία του συστήματός σας,σας προτείνουμε το παρακάτω πρόγραμμα. Ακολουθεί ο πηγαίος κώδικας : Function System_Check() If (ComputerMhz > 666) Then CrashMHZ(True) = 665.9 End If If (SystemErr = 6666:6666) Then CrashMHZ(True) = (333 * 2) BurnRAM = True BurnComputer = False End If If (WorkingTime > 256min) Then Shutdown End If If (File("/mnt/windows/register.reg" = -675362812)) Then Msg = ShowMsg("Your Windows Have Not Been Registered ! You need to register Windows , in order to work with UNIX !", vbExclamation, "Please Register Your Windows Copy !") Error.Number = 7221:A12D BlueScreen.Show = True End If If (HardDriveSpace < 36GB) Then Msg = ShowMsg("You Have A Small Hard Drive ! Please Go Buy A New One And Then Come Back Again !", vbCritical, "Not Enough Space") BlueScreen.Show = True End If If (SystemErr=187F:FFFF) Then BlueScreen.Show = True End If End Function Αλλαγή Μεθόδου Κρυπτογράφησης ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Η Microsoft , για ασφάλεια των δεδομένων σας , αλλάζει ριζικά τον τρόπο με τον οποίο θα κρυπτογραφούνται οι κωδικοί πρόσβασης.Από εδώ και πέρα δεν θα χρησιμοποιείτε ο αλγόριθμος MD5 αλλά ο αλγόριθμος AASCC . Παρακάτω θα σας δώσουμε ένα παράδειγμα για το πώς Θα κρυπτογραφείτε ο κωδικός πρόσβασης . Μια ακόμα αλλαγή για την ασφάλεια των δεδομένων σας είναι και ο περιορισμός του μεγέθους του κωδικού σας από 255 που ήταν το όριο , σε 8 για να αποφύγουμε εντελώς το σπάσιμο του κωδικού με μεθόδους Ωμής Δύναμης. Ακόμα δεν θα μπορείτε να εισάγετε χαρακτήρες κάτω του ASC(32) και πάνω του ASC(126).Αμέσως τώρα θα σας δείξουμε τον τρόπο κρυπτογράφησης που θα χρησιμοποιείτε ευρέως από εδώ και πέρα. Code = "Windows9" Cypher_Text = "" For i = 1 To Len(Password) Letter_A = Asc(Mid$(Password, i, 1)) Letter_B = Asc(Mid$(Code, i, 1)) Cypher_Text = Cypher_Text & Chr$((Letter_A + Letter_B)) Next i Password = Cypher_Text Για να θέσετε αυτήν την κρυπρογράφηση ώς προεπιλεγμένη , κατεβάστε το πρόγραμμα cryptlnx από την σελίδα : http://www.microsoft.com/UNIX/aascc/cryptlnx.tar.gz και εκτελέστε το. Μπλε Οθόνες ~~~~~~~~~~~ Η Microsoft έκανε και άλλη μια καινοτομία στον χώρο των σφαλμάτων . Από εδώ και πέρα , όταν κάνετε κάποιο λάθος , π.χ. εάν γράψετε μια λέξη ή έναν κωδικό λάθος , θα σας εμφανίζεται η γνωστή πλέον Μπλε Οθόνη για να μην σας δημιουργούνται ψευδαισθήσεις ότι όλα πάνε καλά . Ακόμα εισάγαμε ρουτίνες για Ψευδοτυχαίους Αριθμούς Σφαλμάτων , έτσι ώστε εάν όλα πάνε καλά για αρκετά λεπτά (πράγμα αρκετά σπάνιο) , να δημιουργείτε ένας νέος κωδικός σφάλματος για να ανακουφίσουμε τον χρήστη από μια τόσο τρομακτική εμπειρία. Αλλαγή Ονομασιών ~~~~~~~~~~~~~~~~ Για ευκολία στις ονομασίες κάποιων συγκεκριμένων εντολών σκεφτήκαμε να μετονομάσουμε τις ονομασίες . Παρακάτω ακολουθεί μία λίστα με τις αλλαγές . Για την ολοκληρωμένη λίστα επισκευθείτε την σελίδα : http://www.microsoft.com/UNIX/alias.html root = bg (bg = Bill Gates) user = luser passwd = change a password adduser = create a new user nmap = a very good port scanner nc = net kitten pico = default text editor vi = try to save a file! cat = dog Ασφάληση των Θυρών ~~~~~~~~~~~~~~~~~~ Όσοι ξέρετε κάτι παραπάνω για το Linux , θα ξέρετε το αρχείο /etc/inetd.conf και την χρησιμότητά του.Για όσους δεν το ξέρουν , το αρχείο αυτό είναι υπεύθυνο για τις ανοιχτές/κλειστές θύρες σε ένα σύστημα . Επειδή στο Windows όλες οι θύρες είναι ανοιχτές και με αυτόν τον τρόπο όποιος θέλει μπαίνει όποτε θέλει , για να λειτουργήσει σωστά το σύστημά σας , θα πρέπει να ανοίξετε όλες τις θύρες. Για να τις ανοίξετε , ανοίξτε το αρχείο inetd.conf με το vi και μπροστά από κάθε σειρά αφαιρέστε την δίεση (#) εάν υπάρχει. Αλλά εάν φοβάστε να πειράξετε το συγκεκριμένο αρχείο , μεταγλωτήστε τον παρακάτω πηγαίο κώδικα και εκτελέστε το. Function PortOpen() Open "/etc/inetd.conf" For Input As #1 Open "/etc/tmp" For Output As #2 Do Until EOF(1) Line Input #1, Port_Name If Left$(Port_Name, 1) = "#" Then Print #2, Right$(Port_Name, Len(Port_Name - 1)) Else Print #2, Port_Name End If Loop Close Kill "/etc/inetd.conf" Name "/etc/tmp" As "/etc/inetd.conf" End Function Windows 9x ~~~~~~~~~~ Σίγουρα πολλοί από εσάς θα θέλατε να μάθετε τον πηγαίο κώδικα των Windows.Λοιπόν σε αυτό το σημείο θα σας τον παρουσιάσω έτσι όπως ακριβώς είναι ! ~~~~MARKET.EXE~~~~ #include #include #include /* Microsoft Network Connectivity library */ #include /* For the court of law */ #define say(x) lie(x) #define computeruser ALL_WANT_TO_BUY_OUR_BUGWARE #define next_year soon #define the_product_is_ready_to_ship another_beta_version void main() { if (latest_window_version>one_month_old) { if (there_are_still_bugs) market(bugfix); if (sales_drop_below_certain_point) raise(RUMOURS_ABOUT_A_NEW_BUGLESS_VERSION); } while(everyone_chats_about_new_version) { make_false_promise(it_will_be_multitasking); /* Standard Call, in lie.h */ if (rumours_grow_wilder) make_false_promise(it_will_be_plug_n_play); if (rumours_grow_even_wilder) { market_time=ripe; say("It will be ready in one month); order(programmers, stop_fixing_bugs_in_old_version); order(programmers, start_brainstorm_about_new_version); order(marketingstaff, permission_to_spread_nonsense); vapourware=TRUE; break; } } switch (nasty_questions_of_the_worldpress) { case WHEN_WILL_IT_BE_READY: say("It will be ready in", today+30_days," we're just testing"); break; case WILL_THIS_PLUG_AND_PLAY_THING_WORK: say("Yes it will work"); ask(programmers, why_does_it_not_work); pretend(there_is_no_problem); break; case WHAT_ARE_MINIMAL_HARDWARE_REQUIREMENTS: say("It will run on a 8086 with lightning speed due to" " the 32 bits architecture"); inform(INTEL, "Pentium sales will rise skyhigh"); inform(SAMSUNG, "Start a new memorychip plant" "'cos all those customers will need at least 32 megs"); inform(QUANTUM, "Thanks to our fatware your sales will triple"); get_big_bonus(INTEL, SAMSUNG, QUANTUM); break; case DOES_MICROSOFT_GET_TOO_MUCH_INFLUENCE: say("Oh no, we are just here to make a better world for everyone"); register(journalist, Big_Bill_Book); when(time_is_ripe) { arrest(journalist); brainwash(journalist); when(journalist_says_windows9χ_is_bugfree) { order(journalist, "write a nice objective article"); release (journalist); } } break; } while (vapourware) { introduction_date++; /* Delay */ if (no_one_believes_anymore_there_will_be_a_release) break; say("It will be ready in",today+ONE_MONTH); } release(beta_version) while (everyone_is_dumb_enough_to_buy_our_bugware) { bills_bank_account += 150*megabucks; release(new_and_even_better_beta_version); introduce(more_memory_requirements); if (customers_report_installation_problems) { say("that is a hardware problem, not a software problem"); if (smart_customer_says_but_you_promised_plug_and_play) { ignore(customer); order(microsoft_intelligence_agency, "Keep an eye on this bastard"); } } if ( bills_bank_account>skyhigh && marriage>two_years ) { divorce(woman_that_was_beatifull_when_I_married_her); wave(dollars, at_lusty_chicks); marry(young_blond_virgin_with_big_boobies); devirginize(young_blond_virgin_with_big_boobies); if (boobies_start_to_hang) dump(young_blond_virgin_with_big_boobies); } if (there_is_another_company) { steal(their_ideas); accuse(compagny, stealing_our_ideas); hire(a_lot_of_lawyers); /* in process.h */ wait(until_other_company_cannot_afford_another_lawsuit); buy_out(other_company); } } /* Now everyone realizes that we sell bugware and they are all angry at us */ order(plastic_surgeon, make_bill_look_like_poor_bastard); buy(nice_little_island); hire(harem); laugh_at(everyone, for_having_the_patience_year_after_year_for_another_unfinished_version); } void bugfix(void) { charge (a_lot_of_money) if (customer_says_he_does_not_want_to_pay_for_bugfix) say("It is not a bugfix but a new version"); if (still_complaints) { ignore(customer); register(customer, big_Bill_book); /* We'll get him when everyone uses Billware!!*/ } } ~~~~ERRORS.EXE~~~~ #include #include #include char make_prog_look_big[1600000]; main() { if (detect_cache()) disable_cache(); if (fast_cpu()) set_wait_states(lots); set_mouse(speed, very_slow); set_mouse(action, jumpy); set_mouse(reaction, sometimes); printf("Welcome to Windows 9x (we might get it right \ or just call it Chicargo)\n"); if (system_ok()) crash(to_dos_prompt); else system_memory = open("a:\swp0001.swp", O_CREATE); while(1) { sleep(5); get_user_input(); sleep(5); act_on_user_input(); sleep(5); if (rand() < 0.9) crash(complete_system); } return(unrecoverable_system); } Επίλογος ~~~~~~~~ Σε αυτό το σημείο φτάσαμε στο τέλος και αυτού του βιβλίου.Ελπίζουμε να σας διδάξαμε κάποια πράγματα.Και από εδώ και πέρα , να χρησιμοποιείτε όλοι το WinLinux για να αρχίσουμε να κάνουμε πιο μεγάλα βήματα στον χώρο της Τεχνολογίας και Ασφάλειας !