因为在学做 macos pwn

macos 中 主要用到的是 lldb 进行一个调试。 但是pwntools 不支持 lldb 的attach

所以写了一个小工具方便调试

  1. 找到对应进程
  2. 打开新的窗口,利用 lldb attach 到对应程序
import subprocess
import sys
import logging
import os
import appscript

def GetPID(process):
    cmd = "ps aux| grep '%s'|grep -v grep " % process
    logging.info(cmd)
    out = subprocess.Popen(cmd,shell=True,stdout=subprocess.PIPE)
    infos = out.stdout.read().splitlines()
    pidlist = []
    if len(infos) >= 1:
        for i in infos:
            pid = i.split()[1]
            if pid not in pidlist:
                pidlist.append(pid)
        return pidlist[0]
    else:
        return -1

def lldbAttch(exe):
    pid = GetPID(exe)
    print("{0} pid = {1}".format(exe,int(pid)))
    appscript.app('Terminal').do_script('lldb -p %s'%(int(pid)))