[컴][디버그]Immunity Debugger 이뮤니티 디버거 사용법 6 - PyCommand


Immunity Debugger 를 설치하면, PyCommand 라는 것을 사용할 수 있다. 그냥 python 을 사용할 수 있는데, debugger 의 기능을 python 의 module 로 만들어 놔서 다양한 batch 작업들을 할 수 있다.

자세한 사용법은 나중에 다루기로 하고, 여기서는 단순하게 Hello World 수준으로 PyCommand 를 실행 해 보자.

PyCommand 는 아래 그림에 보이는 command 창에서 손쉽게 실행시킬 수 있다. 이외에도 menu bar 에 보이는 python 그림 등을 이용해서 실행을 시킬 수도 있다.

image

실행방법

위에 보이는 command line 에서 앞에 !(느낌표) 를 붙여서 .py file 이름을 입력하면 실행이 된다.
!<script_name>

For example
>> !command
를 입력하면 command.py 가 실행된다. 뒤에 .py 를 붙이면 안된다.

Path

그럼 이 command.py 가 어디엔가 있어야 할 것이다. 이 녀석은 아래 path 에 넣어놔야 한다.
<Immunity Debugger Installed Path>\PyCommands 폴더 안에 .py 가 있어야 한다.

format

그러면 이 command.py 는 어떤 모습으로 되어 있어야 할까? 아래에 보이는 것이 가장 간단한 형식이다.
from immlib import * 
def main(args):
    
    
    return "return"


요약

이것들을 정리하면 아래와 같다.
PyCommand script 의 조건
  1. def main(arg) 이 있어야 한다.
  2. 그리고 return string 을 해야 한다.
  3. <Immunity Debugger Installed Path>\PyCommands 폴더 안에 .py 가 있어야 한다.

아래처럼 return value 는 command 창 아래에 status bar 에 표시된다. 또는 Alt+L 을 누르면 Log Window 가 뜬다. 이 녀석을 통해 확인할 수 있다.

from immlib import * 
def main(args):
    
    
    return "return"



image


이제 기본을 했다. 다음에는 좀 더 난이도 있는 PyCommand programming 을 해보자.

References

  1. https://www.corelan.be/index.php/2010/01/26/starting-to-write-immunity-debugger-pycommands-my-cheatsheet/
  2. http://www.immunityinc.com/products-immdbg.shtml
  3. http://tekwizz123.blogspot.kr/2012/04/pycommands-tutorial.html

댓글 없음:

댓글 쓰기