Smf'nin şifreleme mantığını % 70 oranında çözmüş bulunmaktayım.ilgilenenler için;
Smf veritabanına sha1 i kullanarak sha1(kullanıcıadı+şifre) olarak kayıt ediyor.
Bizde bunu görebilmek için sha1.js yi kullanarak;
hex_sha1(kullanıcıadı+şifre) şeklinde yapınca eşit oluyorlar.

Ayrıca bilmek isteyenler için;
Smf login sırasında kullanıcı adı ve şifre iki defa şifreleniyor.Ve sondaki şifrelemeye karmaşık bir Session katılıyor.Karmaşıklığı şu;
	if (!isset($_SESSION['rand_code']))
$_SESSION['rand_code'] = md5(session_id() . rand());
	$sc = $_SESSION['rand_code'];
}
yıkarıdaki koddaki gibi önce Sessionu rastgele bir değer ile (rand ile) toplayarak md5 ile şifreliyor. Sonra bu $sc değerini login olunurken kullanıyor.

Formdan girilen değeri iki defa şifreliyor.ikinci şifrelemede $sc değerini kullanıyor:
Hash_passwd = Sha1(sha1(kullanıcıadı+şifre)+$sc)

Veritabanında daha önce şifrelenmiş olan passwd yi bir defa şifreleyor.
Veritabanınıyenidensifrele=sha1(Veritabani("passwd ")+$sc)

Eğer Hash_passwd = Veritabanınıyenidensifrele ise
Login olunuyor.
Bunu bulmak için çok uğraştım umarım başkalarına yardımcı olmuşumdur.işe yarayanlar elini REP e götürmeleri rica olunur.