def _ensure_monitor(self, handler_file): handler_dir = os.path.dirname(handler_file) monitor = self._repo_monitors.get(handler_dir) if monitor is None: monitor = frida.FileMonitor(handler_dir) monitor.on('change', self._on_change) self._repo_monitors[handler_dir] = monitor
def _monitor(self, path): if path is None or path in self._monitored_files: return monitor = frida.FileMonitor(path) monitor.on('change', self._on_change) monitor.enable() self._monitored_files[path] = monitor
def monitor_file(file): logger.debug(f"Monitor file: {file.path}", tag="[✔]") monitor = frida.FileMonitor(file.path) monitor.on( "change", lambda changed_file, other_file, event_type: on_change( event_type, file)) monitor.enable() return monitor
def _monitor_script(self): if self._monitored_file == self._user_script: return self._unmonitor_script() if self._user_script is not None: monitor = frida.FileMonitor(self._user_script) monitor.on('change', self._on_change) monitor.enable() self._script_monitor = monitor self._monitored_file = self._user_script