Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
ipyida — IDA Pro용 IPython 콘솔 통합 | Kitploit
도구/GitHubGitHub/eset/ipyida
Reverse EngineeringScripting & AutomationBinary Analysis
GitHubeset/ipyida

ipyida

IDA Pro용 IPython 콘솔 통합

저장소 보기
850762개월 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

= IPyIDA

IPyIDA는 IDA Pro에 IPython 콘솔을 추가하기 위한 순수 Python 솔루션입니다. <Shift-.>를 사용하여 내장된 Qt console 창을 열 수 있습니다. 그러면 IPython의 자동 완성, 온라인 도움말, 고정폭 글꼴 입력 필드, 그래프 등의 기능을 사용할 수 있습니다.

또한 ipython console --existing을 사용하여 IDA 외부에서 커널에 연결할 수 있습니다.

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

== 설치

IPyIDA는 Windows, OS X, Linux에서 IDA 6.6 이상과 호환되어야 합니다. IDA 9.2까지 테스트되었습니다.

=== 빠르고 쉬운 설치

IDA 콘솔에서 IPyIDA와 해당 종속성을 자동으로 설치하는 스크립트가 제공됩니다. 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())

macOS에서 Python3.framework는 신뢰할 수 있는 CA 파일을 제공하지 않습니다. 시스템 전체 파일인 /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())

스크립트는 다음을 수행합니다:

  1. pip가 아직 설치되지 않은 경우 설치합니다.
  2. https://pypi.org/project/ipyida/[PyPi]에서 ipyida 패키지를 설치합니다.
  3. ipyida_plugin_stub.py를 사용자의 plugins 디렉터리로 복사합니다.
  4. IPyIDA 플러그인을 로드합니다.

정확히 어떤 작업을 수행하는지 확인하려면 link:install_from_ida.py[] 스크립트를 살펴볼 수 있습니다.

==== 업그레이드

설치 스크립트를 다시 실행하여 최신 버전으로 업데이트한 다음 IDA를 다시 시작하세요.

=== IDA 방식으로 설치

종속성과 업데이트를 직접 관리하고 싶다면 ipyida_plugin_stub.py와 ipyida 디렉터리를 IDA의 plugins 디렉터리 안에 복사하면 됩니다.

이 방법은 종속성을 직접 관리해야 합니다. IPyIDA는 ipykernel 및 qtconsole 패키지가 필요하며, ipykernel 버전 5 이상을 사용하는 경우 qasync 패키지도 필요합니다.

== Jupyter Notebook 통합

IPyIDA에는 IPyIDA에 연결된 노트북을 브라우저에서 열기 위한 매직 명령어 %open_notebook이 포함되어 있습니다. 이 명령어는 첫 실행 시 종속성을 설치하고, 이미 실행 중인 서버가 없는 경우 Notebook 서버를 시작합니다. 추가 옵션은 명령어 도움말(%open_notebook? 입력)을 확인하세요.

== IPython 콘솔 사용자 지정

기본적으로 콘솔에는 사용 가능한 전역 변수가 없습니다. 콘솔이 열리기 전에 모듈을 가져오려면 IPyIDA가 IDA 사용자 디렉터리(idaapi.get_user_idadir())에서 ipyidarc.py 파일을 읽습니다. 이 파일에서 가져온 모든 것은 IPython 콘솔에서 사용할 수 있습니다.

이는 idapythonrc.py 파일과 유사합니다.

=== 다크 모드

IDA Pro에서 다크 테마를 사용하는 경우 IPython 콘솔에서도 다크 테마를 사용하는 것이 더 편리합니다. qtconsole에 내장된 다크 테마를 활성화하려면 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 ))

== IDE 통합

iPyIDA의 주목할 만한 기능 중 하나는 PyCharm IDE와 통합할 수 있다는 것입니다. 이를 통해 코드 단계별 실행, 구문 강조, Github CoPilot 통합 등의 기능을 사용할 수 있습니다. 이 기능을 사용하려면 IDA를 실행하고 데이터베이스를 연 다음 PyCharm에서 Jupyter Notebook을 만들고 코드를 추가한 후 실행을 클릭하면 됩니다. IPyIDA가 모든 작업을 백그라운드에서 처리합니다.

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

== 주의사항

=== IDA 창이 너무 오랫동안 백그라운드에 있으면 외부 콘솔이 응답하지 않음

이 문제는 OS X 10.9 이상의 App Nap 기능과 관련이 있습니다. 실행 중일 때 IDA Pro에서 App Nap을 비활성화하면 문제가 해결되는 것 같지만, 지금으로서는 꼼수에 불과하며 노트북에서 더 많은 배터리를 사용하게 되므로 더 나은 해결책을 찾아야 합니다.

IDA Pro에서 App Nap을 비활성화하는 방법은 다음과 같습니다:

[source,bash]

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

== 유사한 작업

@james91b도 IDA에 IPython 커널을 성공적으로 통합했습니다. 비 Windows IDA 사용자로서 저는 크로스 플랫폼 솔루션이 필요했고, 순수 Python 방식으로 구현했습니다. 구현 아이디어 중 일부는 그 프로젝트에서 나왔지만 IPyIDA는 처음부터 작성되었습니다. @james91b와 모든 IDA_IPython 기여자에게 감사를 표합니다. IDA_IPython은 Github의 https://github.com/james91b/ida_ipython에서 확인할 수 있습니다.

도구 다운로드