C# Türkçe Karakter Sorunu
-
Müridler merhaba bu forumda saolun var olun bir çok c# problemine çare buldum sayenizde. aynı zamanda bir çok şey öğrendim. şimdi yine bir soru nedeniyle yazıyorum. daha önceden saybirs müridin yardımıyla bir keylogger yaratmıştık aynı şekilde crafty saolsun bir reaksiyon ölçer yaratmıştı ve ben bunları biraz daha geliştirdim ayrıca birleştirdim. başından beri keyloggerın türkçe karakterleri algılamama problemi var. bunun için baya araştırma yaptım fakat kodlar bir işe yaramadı şimdi aşağıdaki kodlara bir göz atalım.
static void TusKaydet(string tus)
{
FileStream fs = null;
if (File.Exists("C:/gelenlog.txt"))
fs = new FileStream("C:/gelenlog.txt", FileMode.Append, FileAccess.Write);
else
fs = new FileStream("C:/gelenlog.txt", FileMode.CreateNew, FileAccess.Write);
StreamWriter sw = new StreamWriter(fs, Encoding.UTF8);
string TusveSaat = tus + " " + DateTime.Now.ToString("dd:MM:yyyy hh:mm:ss.fff");
sw.WriteLine(TusveSaat);
Console.WriteLine(TusveSaat);
sw.Flush();fs.Close();
burda keyloggerın yaratığı log bölümü var şimdi araştırmalarıma göre bir encoding utf8 olayı var ekledim fakat hala sonuç yok sizce nasıl bir kod ile ş,ç,ğ,ö gibi harfleri yakalayabilirim. şimdiden teşekkürler.
-
encoding i utf32 yap ya da defult yaparak dene bi
-
unbalanced bunu yazdı
encoding i utf32 yap ya da defult yaparak dene bi
malesef çözüm olmadı hocam bunlarda
-
yanlis hatirlamiyorsam eger Encoding.GetEncoding(1252) latin alfabesi olması gerekiyordu ona convert etmeyi dene bi istersen,
alternatif olarak replacement kullan diyecegim amelelik olacak.
veya soyle yapabilirsin; u0131'di sanırım lowercase engelliyordu. eğer türkçeye çevirip lowercase engellersen sorun olacagını sanmıyorum. tek sıkıntı hepsi uppercase yazar :/
-
pm ile teamviewer yollarsan bakarım hocam
-
Kullandığın API GetAsyncKeyState mi? Yoksa pencereleri kancaliyor musun
-
evet arkadaşlar @unbalanced mürid kardeşimiz çok saolsun baya uğraştı ve çözdü problemi tuşları tek tek tanıtarak sonuca ulaşıldı sizlerlede paylaşalım :)
var karakter = ""; for (Int32 i = 1; i < 256; i++) { Int32 key = GetAsyncKeyState(i); if (key == -32767) { byte b = (byte)i; switch (i) { case 219: karakter= "Ğ"; break; case 220: karakter= "Ç"; break; case 221: karakter= "Ü"; break; case 222: karakter= "İ"; break; case 186: karakter= "Ş"; break; case 191: karakter= "Ö"; break; default: karakter = Encoding.UTF8.GetString(new byte[]{(byte)i}); break; } Console.WriteLine(karakter); TusKaydet(karakter);
-
tustanbakanadam bunu yazdı
Kullandığın API GetAsyncKeyState mi? Yoksa pencereleri kancaliyor musun
bu arada hocam kodlardada görebileceğin gibi GetAsyncKeyState
-
Mythbusters bunu yazdıtustanbakanadam bunu yazdı
Kullandığın API GetAsyncKeyState mi? Yoksa pencereleri kancaliyor musun
bu arada hocam kodlardada görebileceğin gibi GetAsyncKeyState
2 Yıl önce ben de onu kullanırdım ama sağlam bir keylogger onu kullanmaz. Muhtemelen timer a bağlamışsındır bunu ama bu hem boşu boşuna işlemciyi yorar hem de bazı değişik durumları algılayamaz. Tek avantajı antivirüs ler tarafından biraz daha toleranslı davranılmasını sağlar.
Önereceğim yol:
http://www.codeproject.com/Articles/7294/Processing-Global-Mouse-and-Keyboard-Hooks-in-C
http://stackoverflow.com/questions/604410/global-keyboard-capture-in-c-sharp-application
http://www.codeproject.com/Articles/19004/A-Simple-C-Global-Low-Level-Keyboard-Hook
Önerdiğim yolu kullanırsan antivirüsler daha çok kızar ama.
-
Fatih54 bunu yazdıMythbusters bunu yazdıtustanbakanadam bunu yazdı
Kullandığın API GetAsyncKeyState mi? Yoksa pencereleri kancaliyor musun
bu arada hocam kodlardada görebileceğin gibi GetAsyncKeyState
2 Yıl önce ben de onu kullanırdım ama sağlam bir keylogger onu kullanmaz. Muhtemelen timer a bağlamışsındır bunu ama bu hem boşu boşuna işlemciyi yorar hem de bazı değişik durumları algılayamaz. Tek avantajı antivirüs ler tarafından biraz daha toleranslı davranılmasını sağlar.
Önereceğim yol:
http://www.codeproject.com/Articles/7294/Processing-Global-Mouse-and-Keyboard-Hooks-in-C
http://stackoverflow.com/questions/604410/global-keyboard-capture-in-c-sharp-application
http://www.codeproject.com/Articles/19004/A-Simple-C-Global-Low-Level-Keyboard-Hook
Önerdiğim yolu kullanırsan antivirüsler daha çok kızar ama.
Hocam onerilerin icin saol ama bu keylogger aslinda keyloggerlik yapmiyo bir deney sirasinda kisinin kullandigi simulatorde basilan tuslari tespit ediyor mesela ş ye basmiş fren yapmis ya da d ye basmis hizlanmis gibi.
-
genelde winapilerin hem ansi hem de unicode hali vardır. bu konu için değil ama aklınızda bulunsun.