Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Strumenti/GitHubGitHub/eset/ipyida
Reverse EngineeringScripting e AutomazioneAnalisi di Binari
GitHubeset/ipyida

ipyida

Integrazione della console IPython per IDA Pro

Vedi Repository
85076512 giorni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

= IPyIDA

IPyIDA è una soluzione basata esclusivamente su Python per aggiungere una console IPython a IDA Pro. Usa <Shift-.> per aprire una finestra con una console Qt incorporata. Potrai quindi usufruire del completamento automatico di IPython, della guida in linea, del campo di input a caratteri monospaziati, dei grafici e così via.

Puoi anche connetterti al kernel dall'esterno di IDA usando ipython console --existing.

image::ipyida-screenshot.png[IPyIDA screenshot,width=100%]

== Installazione

IPyIDA dovrebbe essere compatibile con IDA 6.6 e successive su Windows, OS X e Linux. È stata testata su IDA fino alla 9.2.

=== Installazione rapida e semplice

Viene fornito uno script per installare IPyIDA e le sue dipendenze automaticamente dalla console IDA. Basta copiare la seguente riga nella console IDA.

.Python 2 [source,python]

import urllib2; exec urllib2.urlopen('https://github.com/eset/ipyida/raw/stable/install_from_ida.py').read()

.Python 3 [source,python]

import urllib.request; exec(urllib.request.urlopen('https://github.com/eset/ipyida/raw/stable/install_from_ida.py').read())

Su macOS, Python3.framework non fornisce un file CA attendibile. Puoi usare il file di sistema /etc/ssl/cert.pem.

[source,python]

import urllib.request; exec(urllib.request.urlopen('https://github.com/eset/ipyida/raw/stable/install_from_ida.py', cafile="/etc/ssl/cert.pem").read())

Lo script eseguirà le seguenti operazioni:

  1. Installa pip se non è già installato
  2. Installa il pacchetto ipyida da https://pypi.org/project/ipyida/[PyPi]
  3. Copia ipyida_plugin_stub.py nella directory plugins dell'utente
  4. Carica il plugin IPyIDA

Puoi ispezionare lo script link:install_from_ida.py[] se desideri vedere esattamente cosa fa.

==== Aggiornamento

Esegui nuovamente lo script di installazione per aggiornare all'ultima versione e riavvia IDA.

=== Installazione con il metodo IDA

Se preferisci gestire tu stesso le dipendenze e gli aggiornamenti, puoi copiare ipyida_plugin_stub.py e la directory ipyida all'interno della directory plugins di IDA.

Questo metodo richiede di gestire le dipendenze per conto proprio. IPyIDA richiede i pacchetti ipykernel e qtconsole e il pacchetto qasync se si usa ipykernel versione 5 o successiva.

== Integrazione con Jupyter Notebook

IPyIDA include un comando magico, %open_notebook, per aprire un browser con un notebook collegato a IPyIDA. Il comando provvede a installare le dipendenze alla prima esecuzione e ad avviare un server Notebook, a meno che non ne sia già in esecuzione uno. Controlla l'aiuto del comando (digitando %open_notebook?) per ulteriori opzioni.

== Personalizzazione della console IPython

Per impostazione predefinita, la console non ha alcuna variabile globale disponibile. Se vuoi che un modulo venga importato prima dell'apertura della console, IPyIDA leggerà il file ipyidarc.py dalla directory utente di IDA (idaapi.get_user_idadir()). Qualsiasi cosa importi in questo file sarà disponibile nella console IPython.

Questo è simile al file idapythonrc.py.

=== Modalità scura

Con un tema scuro in IDA Pro, è più comodo avere un tema scuro anche nella console IPython. Per attivare il tema scuro integrato in qtconsole, aggiungi quanto segue nel tuo ipyidarc.py:

[source, python]

import qtconsole.styles import ipyida.ida_qtconsole ipyida.ida_qtconsole.set_widget_options(dict( style_sheet = qtconsole.styles.default_dark_style_sheet, syntax_style = qtconsole.styles.default_dark_syntax_style ))

== Integrazione con IDE

Una delle caratteristiche degne di nota di iPyIDA è la possibilità di integrarlo con l'IDE PyCharm. Ciò consente funzionalità come l'esecuzione passo-passo del codice, l'evidenziazione della sintassi, l'integrazione con Github CoPilot, ecc. Per usare questa funzionalità, basta avviare IDA e aprire un database, creare un Jupyter Notebook in PyCharm, aggiungere del codice e fare clic su Esegui. IPyIDA fa tutta la magia in background.

image::pycharm-screenshot.png[IPyIDA screenshot,width=100%]

== Avvertenze

=== La console esterna non risponde se la finestra di IDA rimane in background per troppo tempo

Questo problema è specifico della funzionalità App Nap di OS X in OS X 10.9 e successive. Quando è in esecuzione, disabilitare App Nap per IDA Pro sembra risolvere il problema, ma per ora è un espediente e consumerà più batteria su un laptop; dovremmo trovare una soluzione migliore.

Ecco come disabilitare App Nap per IDA Pro:

[source,bash]

defaults write com.hexrays.idaq NSAppSleepDisabled -bool YES defaults write com.hexrays.idaq64 NSAppSleepDisabled -bool YES

== Lavori simili

@james91b ha anche integrato con successo un kernel IPython in IDA. Essendo un utente IDA non Windows, avevo bisogno di qualcosa di multipiattaforma e ho adottato un approccio basato solo su Python per implementarlo. Anche se alcune delle idee di implementazione provengono da quel progetto, IPyIDA è stato scritto da zero. Un ringraziamento a @james91b e a tutti i contributori di IDA_IPython. IDA_IPython è disponibile su Github all'indirizzo https://github.com/james91b/ida_ipython.

Scarica lo strumento