Ne verujem da je sam SMB protokol busan (mada, opet, nisam ga nikad analizirao, ali cisto sumnjam)
Problem sa SMB-om je sto je izuzetno komplikovan i zbog toga postoji dosta mesta na kojima se moze preskociti neka provera ili doci u neko nedefinisano stanje. Dokaz za to je fakat da su i Samba kao i MS-ov SMB puni rupa, mada se Samba ekipi i moze oprostiti jer su oni morali bukvalno klestima da izvlace informacije o samom protokolu od MS-a.
Microsoft koji je autor specifikacije nema tu olaksavajucu okolnost - nema opravdanja za rupe u njihovoj implementaciji.
--
Meni se ipak cini da je SMB v2 busan ne zato sto neko nije umeo da napise kernel-mode drajver (osim ako ne rade SMB po kazni neki shupci od developera) vec mozda zato sto preskacu neke provere kako bi se povecale performanse, posto je to jedna od onih kategorija po kojima se benchmark-uju serveri, ne bi me cudilo da su developeri dobili direktivu da ne budu previse "analni" u validaciji struktura, proveri memorijskih bafera i sl....
Iz istih razloga je Microsoft spustio HTTP drajver u kernel mod (http.sys) - mada koliko se secam, Linux je prvi poceo sa tom praksom - sve u svemu, krajnji idiotizam jer spustanjem u ring0 svaka greska postaje potencijalni system-wide crash ili, jos gore, uzurpacija privilegija.
Ja sam ranije gasio HTTP.sys drajver/servis jer jednostavno ne zelim nekakav HTTP server koji mi trci u ring0 na laptopu (IIS svakako necu terati) - na zalost, Microsoft je uvezao "Print Spooler" servis sa HTTP.sys-om pa sada vise ne mozes da ugasis tu gadost
@#)@#&*(
DigiCortex (ex. SpikeFun) - Cortical Neural Network Simulator:
http://www.digicortex.net/node/1 Videos:
http://www.digicortex.net/node/17 Gallery:
http://www.digicortex.net/node/25
PowerMonkey - Redyce CPU Power Waste and gain performance! -
https://github.com/psyq321/PowerMonkey