Tekil Mesaj gösterimi
Alt 23 Ocak 2023, 05:00   #19
Çevrimiçi
SuLh
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: f1 basinca mirc asagiya - f2 basinca mirc yukari




key listener oluşturmak için dış kaynak kullanabiliriz, com object kullanarak powershell yardımıyla olabilir.
Örnek:
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
alias F1 { showmirc -m runAgain } alias runAgain { var %şşş $+(com,$r(1,999)) | .comopen %şşş wscript.shell !.echo -q $com(%şşş,run,1,bstr,cmd.exe /k $& powershell $+($chr(36),continue = , $chr(36), true;) $+(while,$chr(40), $chr(36), continue,$chr(41)) $& $chr(123) $+ if ([console]::KeyAvailable) $+ $chr(123) $& $chr(36) $+ x = [System.Console]::ReadKey(); switch $+($chr(40),$chr(36),x.key,$chr(41)) $& $chr(123) F2 $chr(123) $& $chr(36) $+ continue = $chr(36) $+ false; $& $chr(36) $+ wsh = New-Object -ComObject WScript.Shell; $& $chr(36) $+ wsh.AppActivate('mirc basligi.'); $& $chr(36) $+ wsh.SendKeys('{ENTER}') $& $chr(125) $chr(125) $chr(125) $chr(125) $& ,uint,1,bool,1) }


Ama bu sadece console'u okuduğu için, console aktif değilken çalışmayacaktır. Bunun yerine global key listener oluşturmak gerek. Biraz bakınca şöyle bir kaynağı referans aldım:
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

Açıkcası bunu mircte com objectle çalıştırmaya üşendim. Herhangi bi yere not defteri açıp içine bu kodları yapıştırıp uzantısını .ps1 olarak değiştirip çalıştırırsanız arka planda f2 tuşunu dinleyen bir script çalışacaktır.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
Add-Type -TypeDefinition ' using System; using System.IO; using System.Diagnostics; using System.Runtime.InteropServices; using System.Windows.Forms; namespace KeyLogger { public static class Program { private const int WH_KEYBOARD_LL = 13; private const int WM_KEYDOWN = 0x0100; private static HookProc hookProc = HookCallback; private static IntPtr hookId = IntPtr.Zero; private static int keyCode = 0; [DllImport("user32.dll")] private static extern IntPtr CallNextHookEx(IntPtr hhk, int nCode, IntPtr wParam, IntPtr lParam); [DllImport("user32.dll")] private static extern bool UnhookWindowsHookEx(IntPtr hhk); [DllImport("user32.dll")] private static extern IntPtr SetWindowsHookEx(int idHook, HookProc lpfn, IntPtr hMod, uint dwThreadId); [DllImport("kernel32.dll")] private static extern IntPtr GetModuleHandle(string lpModuleName); public static int WaitForKey() { hookId = SetHook(hookProc); Application.Run(); UnhookWindowsHookEx(hookId); return keyCode; } private static IntPtr SetHook(HookProc hookProc) { IntPtr moduleHandle = GetModuleHandle(Process.GetCurrentProcess().MainModule.ModuleName); return SetWindowsHookEx(WH_KEYBOARD_LL, hookProc, moduleHandle, 0); } private delegate IntPtr HookProc(int nCode, IntPtr wParam, IntPtr lParam); private static IntPtr HookCallback(int nCode, IntPtr wParam, IntPtr lParam) { if (nCode >= 0 && wParam == (IntPtr)WM_KEYDOWN) { keyCode = Marshal.ReadInt32(lParam); Application.Exit(); } return CallNextHookEx(hookId, nCode, wParam, lParam); } } } ' -ReferencedAssemblies System.Windows.Forms while ($true) { $key = [System.Windows.Forms.Keys][KeyLogger.Program]::WaitForKey() if ($key -eq "F2") { $wsh = New-Object -ComObject WScript.Shell $wsh.AppActivate("mirc basligi.") $wsh.SendKeys("/showmirc -x") $wsh.SendKeys("{ENTER}") } }

Not: mirc basligi yazan kısma mIRC title'ı giriniz.

 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları eglen sohbet reklamver