IDA Pro 6.0 은 Qt 프레임 워 크 를 사용 하여 크로스 플랫폼 의 UI 인터페이스 를 실현 했다.

IDA Pro 6.0 은 Qt 프레임 워 크 를 사용 해 크로스 플랫폼 UI 를 구현 했다.플러그 인 작성 자 는 Qt 를 직접 사용 하여 크로스 플랫폼 UI 를 개발 할 수 있다 는 장점 이 있 습 니 다.근 데 작 가 는 요?
이 블 로그 에 서 는 PySide 를 사용 하여 IDA Pro 에 UI 인터페이스 를 만 드 는 방법 을 설명 할 것 입 니 다.
ipq_intro

배경
초기 버 전의 IDA Pro 에 서 는 create 를 사용 할 수 있 습 니 다.tform() / display_tform()API 는 사용자 정의 UI 를 만 들 지만 코드 는 플랫폼 에 지정 되 어 있 습 니 다.MS 윈도 에서 프로그래머 는 부모 창의 HWND 를 받 은 다음 사용자 정의 컨트롤 로 채 운 다음 사용자 정의 WindowProc()에서 온 창 메 시 지 를 처리 합 니 다.
이전 에는 MS 윈도 UI 가 하나 밖 에 없 었 기 때문에 사용 자 는 다른 플랫폼 에서 복잡 한 UI 를 만 들 수 없 었 고 ADA Pro SDK/폼 과 관련 된 함수,예 를 들 어 AskUsingForm()을 사용 해 야 했다.
IDA Pro 6.0 을 통 해 C++플러그 인 작성 자 는 Qt SDK 를 직접 사용 하여 크로스 플랫폼 UI 를 개발 할 수 있 습 니 다.IDA Pro SDK 의 qwindow 를 참고 하 세 요.
스 크 립 트 작성 자 는 Python Qt 바 인 딩 을 사용 하여 같은 결 과 를 얻 을 수 있 습 니 다.
Qt 프레임 의 Python 바 인 딩
우 리 는 PySide 와 PyQt 를 평 가 했 는데 이 두 개가 IDA Pro 6.0 에 연결 되 어 정상적으로 작 동 할 수 있 음 을 발견 했다.(우 리 는 CDQT 를 사용 해 야 한다.NAMESPACE=QT 를 컴 파일 하고 QWidget*을 C++에서 Python 으로 전달 하 는 방법 을 추가 해 야 합 니 다.
PyQt 가 더욱 성숙 하고 많은 사용자 에 게 사용 되 었 지만 저 희 는 PySide 를 선 택 했 습 니 다.잘 작 동 되 고 허가증 제한 이 적 습 니 다.
IDAPython 과 PySide 를 사용 하여 Hello World UI 를 작성 합 니 다.
IDAPython 에서 UI 를 만 들 기 위해 서 는 idaapi.PluginForm 클래스 를 계승 해 야 합 니 다.이 종 류 는 본질 적 으로 create 를 포장 했다.tform()/display_tform()은 일부 보조 함수(예 를 들 어 QWidget*를 Python 에 전달 하고 PySide 는 부모 위 젯 으로 사용 할 수 있 습 니 다)를 제공 합 니 다.
예제 코드 는 이 스 크 립 트 를 실행 한 후에 우 리 는 이 폼 을 얻 었 습 니 다.물론 이 폼 은 다른 내 장 된 폼 처럼 멈 출 수 있 습 니 다.이 예 는 매우 간단 하지만 사용 자 는 이제 더욱 정교 하고 복잡 한 UI 를 만 들 수 있다.이상 하 지 는 않 지만 지금 은 스 크 립 트(IDAPython)를 사용 하 는 플러그 인 개발 이 이전 보다 더 재 미 있 습 니 다.
ipq_hello_code


IDA Pro 6.0 이 Qt 프레임 워 크 를 사용 하여 크로스 플랫폼 UI 를 구현 한 것 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 관련 IDA Pro Qt 크로스 플랫폼 콘 텐 츠 는 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 부탁드립니다!

좋은 웹페이지 즐겨찾기