KeyLoggerJumper è un software in release 2.3 alpha , (https://en.wikipedia.org/wiki/Software_release_life_cycle) sotto la licenza New BSD.
Questo software permette di compilare dei campi di un applicazione web senza passare dallo stream della tastiera , per fare questo usa una tastiera virtuale costruita in windows forms che passa i valori al componente WebView2 che si occupa della navigazione.
KeyLoggerJumper per il suo funzionamento necessita che sulla macchina dove andrà in esecuzione sia presente il "WebView2 Runtime" , segue il link per scaricare il run time https://developer.microsoft.com/it-it/microsoft-edge/webview2/#download-section , si tratta di un software di Microsoft completamente gratuito .
In KeyLoggerJumper inseriamo l'indirizzo di un applicazione Asp .Net Core di prova nel textbox nell'area verde , premiamo il bottone "Navigate to"
selezioniamo un textbox e mentre abbiamo il focus al suo interno scegliamo Esamina (potete usare un altro browser per trovare l'id dell'elemento che vogliamo valorizzare , basta puntare alla stessa pagina :-) , personalmente come possibili alternative consiglio Chrome e Firefox Developer Edition, nel primo potete selezionare l'elemento cliccando il tasto destro del mouse e selezionando "Ispeziona" ,stessa cosa per Firefox e selezionate Inspect)
che possiamo utilizzare per scrivere il valore del campo Input_Email ,quando abbiamo scritto il valore da assegnare possiamo cliccare su Assegna
troviamo l'id del campo password
clicchiamo su tastiera e scriviamo la password , clicchiamo su assegna:
clicchiamo su "Assegna valore" e valorizziamo il campo password
a questo punto il textbox "Valore da assegnare" avrà il valore digitato in tastiera ,clicchiamo sul bottone "Assegna Valore"
ora il valore è caricato nell'input box email
ripetiamo il processo per la password:
il procedimento è identico per valorizzare il campo "Input_ConfirmPassword" .
Il punto ""saliente"" del programma è il metodo
private async void AssegnaValore(object sender, EventArgs e)
{
try
{
string value = this.textBoxValore.Text;
string t = this.textBoxId.Text;
string test = await webView21.CoreWebView2.ExecuteScriptAsync("document.getElementById('" + t + "').value='" + value + "';");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
ovvero sfruttiamo la possibilità di eseguire uno script javascript con il metodo ExecuteScriptAsync in un' istanza di WebView2 , il javascript assegna la proprietà value di un elemento del document che è identificato (l'element) in modo univoco dal metodo getElementById ,
qui trovate il progetto https://sourceforge.net/projects/keyloggerjumper/files scritto in C# usando VisualStudio 2022 Community .
Nota: per ingrandire le immagini potete cliccarci sopra :-)