Google Code Search ujawnia całą prawdę o Microsofcie
Wpis wysłany 12 października 2006 do kategorii internet, Varia
Kilka dni temu Google uruchomiło serwis Google Code Search. Usługa, przeznaczona dla programistów, umożliwia przeszukiwanie kodów źródłowych programów, których fragmenty zostały odnalezione w Sieci przez crawlery Google. W zamierzeniu wyszukiwarka miała wspomagać środowisko open-source, czyli programów, których kod źródłowy jest publicznie dostępny i może być dowolnie modyfikowany. Szybko jednak odkryto, że nową wyszukiwarkę można wykorzystać także do mniej zacnych celów. Można więc masowo poszukiwać znanych luk bezpieczeństwa, można także natknąć się na fragmenty programów, które nigdy nie powinny, wedle zamierzeń twórców, zostać upublicznione.
Wsród ujawnionych w ten sposób zasobów znaleziony został kod systemu operacyjnego Microsoft DOS 6.0, na bazie którego powstały między innymi systemy Windows 95 oraz Windows 98. Okazuje się, że jego twórcy w dość radosny sposób podeszli do pracy. Świadczą o tym chociażby niektóre komentarze w kodzie (czyli fragmenty pomijane przez kompilator, służące jedynie programistom). Oto ciekawsze fragmenty kodu MS DOS 6.0, znalezione przez użytkowników serwisu digg:
dev/smartdrv/rtywrt.asm:
; Shit! Fatal error on write-behind! Ask user what to do with
; sleazy popup.handle_fatal_write_error:
mov al,wrt_unmapped_unit ; get drive code
call warning_pop_up***
FDisk.c
/* P.S. – To whoever winds up maintaining this, I will */
/* apoligize in advance. I had just learned ‘C’ when */
/* writing this, so out of ignorance of the finer points*/
/* of the langauge I did a lot of things by brute force.*/
/* Hope this doesn’t mess you up too much – MT 5/20/86 */***
; fuckin’ sixteen-bit machine ought
; to be able to handle a SIXTEEN-BIT
; DISPLACEMENT!!; I have to use DOS call int 21h/5f02h because DOS call int 21h/4409h
; is not reliable under DOS versions 4.00 and 4.01. (IBM fuck-up).; BIOS is fucking with us – give up
; Is this a Set PSP call (50h) ?
; Yes, jmp directly to function
else
; fucking jump out of range by *two* bytes!* The path can be in about a million fucked up forms depending on the level of stupidity in the user.
; Enable interrupts at the start of
; the dispatch code. Otherwise interrupts
; remain disabled through a whole
; shitload of code which is not good.; Now we’ve got to copy all of that shit into the cache
; Shit! read error. Better invalidate block & bomb!
; Shit! Fatal error on write-behind! Ask user what to do with
; sleazy popup.; End of WIN386 2.xx compatibility bullshit
***
* Function will add the szSetupPath to the users path statement in the
* autoexec.bat file. The szSetupPath will be the first location in the
* path statement. The path can be in about a million fucked up forms
* depending on the level of stupidity in the user. Here are a few to
* think about. DOS will accept any of these.
*
* PATH=C:foo;C:foobar;…
* SET PATH=C:foo;C:foobar;…
* PATH C:foo;C:foobar;…
* PATH =C:foo;C:foobar;…
* PATH= C:foo;C:foobar;…
* PATH = C:foo;C:foobar;…
Jeżeli podobnie wyglądało tworzenie kolejnych systemów operacyjnych, wiadomo już, skąd tyle narzekań na popularne Windowsy… ;)
15 odpowiedzi do wpisu
1 Trackback / Pingback dla tego wpisu
- MalDevBlog » MS DOS 6.0 source code
30 października 2006 @ 18:25[...] Na informacje te trafiłem na blogu Piotra Jaczewskiego w notce “Google Code Search ujawnia całą prawdę o Microsofcie“. [...]
Witam wszystkich na moim blogu. Na wstępie kilka słów wyjaśnienia. Nie jest to typowy blog, w którym notki pojawiają się regularnie, kilka razy w tygodniu. Z bardzo prozaicznej przyczyny. Nie mam po prostu czasu na częste aktualizacje, a nie chciałbym też pisać, dla samego pisania, by zapełnić pustą przestrzeń. Takich miejsc znajdziecie w Sieci tysiące.
Chciałbym wzamian zachęcić do przeczytania najpopularniejszych oraz najciekawszych tekstów archiwalnych:





























12 października 2006 @ 10:22
to sa wszystko SKRÓTY MYŚLOWE
12 października 2006 @ 10:33
taaaak, szczegolnie ten fragment:
FDisk.c
/* P.S. – To whoever winds up maintaining this, I will */
/* apoligize in advance. I had just learned ‘C’ when */
/* writing this, so out of ignorance of the finer points*/
/* of the langauge I did a lot of things by brute force.*/
/* Hope this doesn’t mess you up too much – MT 5/20/86 */
12 października 2006 @ 11:22
teraz się nie mów „skrót myślowy”, tylko „semantyczne nadużycie’
12 października 2006 @ 14:39
Hehe widac ze programowanie sprawialo duzo radosci tworcom, co przeciez jest najwazniejsze ;-)
12 października 2006 @ 15:23
http://www.vidarholen.net/contents/wordcount/
12 października 2006 @ 16:22
To przejrzyjcie sobie kod źródłowy jądra Linuksa. Podobnych kwiatków i michałków tam wiele.
12 października 2006 @ 17:37
To chyba mała przesada ze strony microsoftu :D
14 października 2006 @ 01:17
widac ze zadne k**** z was nigdy nie bylo programista :P
14 października 2006 @ 12:38
@tabris:
Ależ, wręcz przeciwnie. Tylko jakoś nigdy nie przyszło mi wyładowywać swoich frustracji poprzez umieszczanie tego typu komentarzy w kodzie źródłowym. Wsród innych programistów, z którymi pracowałem, również takiego zwyczaju nie było. Jak dla mnie, nie świadczy to po prostu o zbyt dużym profesjonalizmie ;)
14 października 2006 @ 22:48
@Piotr:
Zartowalem oczywiscie XD
Mimo wszystko wiele razy spotkalem z delikatniejszymi przeklenstwami w kodzie, niezaleznie od tego jak profesjonalny byl to projekt. :P
Mysle ze to nie kwestia frustracji a raczej specyficznego poczucia humoru.
17 października 2006 @ 11:25
i znowu nuda–Wirus–na blogu sie pisze o czyms co wszyscy rozumieja a nie tylko ludzie z przedzialkami i w okularach :D
19 października 2006 @ 15:17
Ja kiedyś pisałem spory projekt na laborki, męczyłem go całą noc bo od niego zależało moje zaliczenie. Po 3:00 każde niepowodzenie lądowało w postaci „kur…” „ja pier… co za chu…” a co niektóre nawet do printf(). A o 7:00 wysłałem go w takiej postaci do prof. :-/ Na szczęście miał poczucie humoru…
22 października 2006 @ 22:27
Ekstra, po prostu mnie to ubawilo. Naprawde niezle komentuja. Po prostu taki kod sie latwiej czyta, latwiej niz kod z :normalnmi” komentarzami i jeszce latwiej niz kod bez komentarzy – zapominaja o tym czasem :profesjonalisci:
29 października 2006 @ 10:28
a mógłby ktos przetłumaczyc bo nie rozumiem :D:D:
23 stycznia 2007 @ 00:00
Haha dobre ;) a tak bajdełej to czy przypadkiem MS DOS nie wykluł się ze strzępów CPMa? … i co do cholery stało się z DR DOSem?