2012-09-01 3 views
0

IDA 용 스크립팅을 처음 접해 보았습니다. 그럼에도 제대로 작동하지 않아 디버깅해야하는 복잡한 스크립트를 작성했습니다.IDAPro 외부의 IDAPython 스크립트 디버깅

몇 가지 다른 클래스로 구성된 몇 개의 파일로 구성됩니다. 명령 줄에 줄 바꿈을 쓰는 것은 분명한 이유 때문에 효과적이지 않습니다. 파일에서 전체 스크립트를 실행하면 디버깅이 허용되지 않습니다.

IDA가 아닌 idc, idautils, idaapi를 사용하는 방법이 있습니까?

필자는 이클립스 용 PyDev에 스크립트를 작성 했으므로이 스크립트에서 스크립트를 실행하는 방법을 기대하고있다.

비슷한 질문은 내가 IDA 파일을로드하지 않고 idb 파일에 대한 작업을 언급 한 api 클래스가 될 수 있습니다. ?

감사합니다.

답변

1

오랫동안 IDA 스크립트를 작성하지 않아서 잘못되었을 수 있습니다. 그러나 내가 아는 한 당신의 첫 번째 질문에 대한 대답은 아니오입니다. IDA 스크립트를로드하고 전체 환경을 준비하여 사용자가 다시 구현하고 자신의 환경을 만들 수있는 부분이 있지만 권장하지는 않습니다.

내가 알 수있는 것은 자동화가 목표로하는 것이라면 명령 줄에서 스크립트를 실행하는 것입니다. IDA python (다른 IDA 플러그인과 마찬가지로)은 명령 행에서 스크립트를 실행할 수있는 좋은 지원을합니다. 성능을 위해 IDA의 TUI 버전을 실행할 수도 있습니다.

또한 IDA 스크립트의 중간에 새로운 파이썬 인터프리터를 시작할 수있는 해킹이 있습니다. 현재 상태를 디버깅하는 데 유용하지만 인터프리터를 시작할 때마다 파이썬 파일을 편집해야합니다. 어쨌든

import code 
all = globals() 
all.update(locals()) 
code.interact(local = all) 

- 로그는 좋은 및 디버그 인쇄 확인은 다음과 같습니다 다음은 해킹입니다.

행운을 빕니다 :)

+0

답장을 보내 주셔서 감사합니다. 나는 cmdline을 사용하려고 노력했지만 스크립트가 길고 여러 모듈 (다른 파일에 있음)로 구성되어있어 고통 스럽다. 나는 IDA의 TUI 판을 고려할 것이다. 내가 언급 한 해킹에 대한 정보는 어디에서 찾을 수 있습니까? – YaronK

+0

해킹이 답변에 추가되었습니다. 스크립트가 길면 다른 이유로 인해 TUI 사용을 고려해야합니다. – user1629505

0

우리는 단지 WingIDE의 최신 버전 IDAPython 스크립트의 디버깅을 지원하는 사용자들 중 하나에서 통지를 가지고있다. 나는 두 가지 다른 프로그램이 동일한 접근법 (RPC 디버깅을하기 위해 모듈을 임포트)을 사용한다고 생각한다.