Files
Seep-Reverse-Lab/Tool/scripts/trigger_ida_mcp.ps1
T

31 lines
1.3 KiB
PowerShell

$src = @'
using System;
using System.Runtime.InteropServices;
public class K {
[DllImport("user32.dll")] public static extern bool SetForegroundWindow(IntPtr h);
[DllImport("user32.dll")] public static extern IntPtr GetForegroundWindow();
[DllImport("user32.dll")] public static extern bool ShowWindow(IntPtr h, int c);
[DllImport("user32.dll")] public static extern void keybd_event(byte vk, byte scan, uint flags, IntPtr extra);
[DllImport("user32.dll")] public static extern IntPtr FindWindow(string cls, string name);
}
'@
Add-Type -TypeDefinition $src
$p = Get-Process -Id 11260 -ErrorAction SilentlyContinue
if (-not $p) { Write-Host "IDA not running"; exit }
Write-Host "IDA MainWindowTitle: '$($p.MainWindowTitle)'"
Write-Host "hwnd: 0x$($p.MainWindowHandle.ToString('X'))"
if ($p.MainWindowHandle -ne 0) {
[void][K]::ShowWindow($p.MainWindowHandle, 3)
[void][K]::SetForegroundWindow($p.MainWindowHandle)
Start-Sleep -Milliseconds 800
# Ctrl+Alt+M
[K]::keybd_event(0x11,0,0,[IntPtr]::Zero) # ctrl
[K]::keybd_event(0x12,0,0,[IntPtr]::Zero) # alt
[K]::keybd_event(0x4D,0,0,[IntPtr]::Zero) # m
Start-Sleep -Milliseconds 100
[K]::keybd_event(0x4D,0,2,[IntPtr]::Zero)
[K]::keybd_event(0x12,0,2,[IntPtr]::Zero)
[K]::keybd_event(0x11,0,2,[IntPtr]::Zero)
Write-Host "sent Ctrl+Alt+M"
}