This repository has been archived on 2024-09-30. You can view files and clone it, but cannot push or open issues/pull-requests.
hook-frida/venv/Lib/site-packages/frida_tools/kill.py

43 lines
1.1 KiB
Python

import argparse
from typing import List
import frida
from frida_tools.application import ConsoleApplication, expand_target, infer_target
class KillApplication(ConsoleApplication):
def _usage(self) -> str:
return "%(prog)s [options] process"
def _add_options(self, parser: argparse.ArgumentParser) -> None:
parser.add_argument("process", help="process name or pid")
def _initialize(self, parser: argparse.ArgumentParser, options: argparse.Namespace, args: List[str]) -> None:
process = expand_target(infer_target(options.process))
if process[0] == "file":
parser.error("process name or pid must be specified")
self._process = process[1]
def _start(self) -> None:
try:
assert self._device is not None
self._device.kill(self._process)
except frida.ProcessNotFoundError:
self._update_status(f"unable to find process: {self._process}")
self._exit(1)
self._exit(0)
def main() -> None:
app = KillApplication()
app.run()
if __name__ == "__main__":
try:
main()
except KeyboardInterrupt:
pass