- import os
- import sys
- if os.getuid() != 0:
- print "[-] You are not root"
- sys.exit(-1)
- if len(sys.argv) < 2:
- print "python attach.py [binary name] [script]"
- output = os.popen('ps aux | grep '+sys.argv[1]).read()
- outputs = output.split('\n')
- lastline = ""
- i=len(outputs)-2
- while i>= 0:
- try:
- pid = outputs[i].split(None)[1]
- except:
- i -= 1
- continue
- if int(pid) < os.getpid():
- lastline = outputs[i]
- break
- i -= 1
- pid = lastline.split(None)[1]
- print "[*] Attach to "+ ' '.join(lastline.split(None)[-2:]) +" ("+pid+")"
- if len(sys.argv) == 3:
- print "gdb -q --pid="+pid+" -x "+sys.argv[2]
- os.system("gdb -q --pid="+pid+" -x "+sys.argv[2])
- else:
- print "gdb -q --pid="+pid
- os.system("gdb -q --pid="+pid)
fork 프로그램 디버깅할때 ps로 pid 찾아서 attach 하는게 귀찮아서 만듬.
python attach.py 프로그램명
으로 실행하면, 프로그램명중 pid가 가장 큰걸 자동으로 attach
(프로그램명은 꼭 풀로 안써도 됌, grep으로 잡기때문에)
'Computer Security > Other' 카테고리의 다른 글
afl-fuzz for javascript (1) | 2015.02.13 |
---|