티스토리 뷰

Immunity Debugger PyCommands를 활용하여 분석에 도움을 주기 위해 정리하는 글로 필자가 만든 코드가 아니며 Immunity Debugger를 설치하게 되면 'Immunity Debugger - PyCommands' 폴더에 존재하는 코드들이다. 최종 목표로는 기존 플러그인을 자유롭게 활용하고 새로운 나만의 플러그인들을 개발하여 정적 분석을 자동화 하는 것이다.

스크립트는 아래와 같다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/usr/bin/env python
 
"""
(c) Immunity, Inc. 2004-2007
U{Immunity Inc.<http://www.immunityinc.com>}
List all pycommands with its descriptions in log window
"""
 
DESC="""List PyCommands"""
 
import immlib
import os
 
CMD_DIR = "./PyCommands" # 플러그인들이 존재하는 폴더
 
def do_dir_list(imm, path):
    dir_list = os.listdir(path)
    for name in dir_list:
        if name[-3:] == ".py"# 파일의 확장자가 .py인지 체크
            imm.log("* %s" % name)
 
def main(args):
    imm=immlib.Debugger()
 
    dir_list = os.listdir(CMD_DIR) # 플러그인의 폴더에 있는 파일들을 list 형태로 나열
    imm.log("List of available PyCommands")
 
    for name in dir_list:
        path = os.path.join(CMD_DIR, name)
        if os.path.isdir(path):
            do_dir_list(imm, path)
        elif name[-3:] == ".py":
            imm.log("* %s" % name) 
 
    imm.log("",focus=1)
    return "See log window for results"
 
cs


실습 (환경 : WindowsXP)

기본적인 스크립트로 Immunity Debugger의 Command 창에서 '!list'를 작성 후 Enter를 치면 Log(Ctrl+L)창에 현재 PyCommands폴더에 있는 플러그인 파일들이 나열된다. '!list'는 어떤 플러그인을 써야할지 생각이 나지 않을 때 자주 사용한다.

* Command 창에 플러그인을 실행할 때는 py 확장자를 제외하고 '!' + 플러그인 이름을 적어주면 된다. ex) list.py라면 !list

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함