Example #1
0
    def __init__(self, session=None, parent=None, device=None):
        super(Dwarf, self).__init__(parent=parent)

        self._app_window = parent

        self.java_available = False

        # frida device
        self._device = device

        # process
        self._pid = 0
        self._process = None
        self._script = None
        self._spawned = False
        self._resumed = False

        # kernel
        self._kernel = Kernel(self)

        self._watchers = []

        # hooks
        self.hooks = {}
        self.native_on_loads = {}
        self.java_on_loads = {}
        self.java_hooks = {}
        self.temporary_input = ''
        self.native_pending_args = None
        self.java_pending_args = None

        # context
        self._arch = ''
        self._pointer_size = 0
        self.contexts = {}
        self.context_tid = 0
        self._platform = ''

        # tracers
        self._native_traced_tid = 0

        # emulator stuff
        self._emulator = Emulator(self)
        self._emu_thread = EmulatorThread(self)
        self._emu_thread.onCmdCompleted.connect(self._on_emu_completed)
        self._emu_thread.onError.connect(self._on_emu_error)
        self._emu_thread.emulator = self.emulator
        self._emu_queue = []

        # connect to self
        self.onApplyContext.connect(self._on_apply_context)
        self.onEmulator.connect(self._on_emulator)
        self.onRequestJsThreadResume.connect(self._on_request_resume_from_js)

        self.keystone_installed = False
        try:
            import keystone.keystone_const
            self.keystone_installed = True
        except:
            pass
    def __init__(self, options=None, args=None):
        super(Application, self).__init__(sys.argv)

        from PyQt5.QtCore import QEventLoop
        self.processEvents(QEventLoop.ExcludeUserInputEvents
                           | QEventLoop.ExcludeSocketNotifiers
                           | QEventLoop.WaitForMoreEvents)

        self.setApplicationName('AOD - EBookReader')
        self.kernel = Kernel(options, args)
        self.kernel.application = self
Example #3
0
    def __init__(self, session=None, parent=None, device=None):
        super(Dwarf, self).__init__(parent=parent)
        self._app_window = parent

        self.database = Database(self)

        self.keystone_installed = False
        try:
            import keystone.keystone_const
            self.keystone_installed = True
        except:
            pass

        self.java_available = False

        # frida device
        self._device = device

        # process
        self._pid = 0
        self._package = None
        self._process = None
        self._script = None
        self._spawned = False
        self._resumed = False

        # kernel
        self._kernel = Kernel(self)

        # hooks
        self.hooks = {}
        self.native_on_loads = {}
        self.java_on_loads = {}
        self.java_hooks = {}
        self.watchers = {}
        self.temporary_input = ''
        self.native_pending_args = None
        self.java_pending_args = None

        # context
        self._arch = ''
        self._pointer_size = 0
        self.contexts = {}
        self.context_tid = 0
        self._platform = ''

        # disassembler
        self.disassembler = Disassembler(self)

        # connect to self
        self.onApplyContext.connect(self._on_apply_context)
        self.onRequestJsThreadResume.connect(self._on_request_resume_from_js)
Example #4
0
File: core.py Project: zbx91/Dwarf
    def __init__(self, app_window):
        self.app_window = app_window
        self.app = app_window.get_app_instance()

        self.java_available = False
        self.loading_library = False

        # frida device
        self.device = None

        # process
        self.pid = 0
        self.process = None
        self.script = None

        # kernel
        self.kernel = Kernel(self)

        # hooks
        self.hooks = {}
        self.on_loads = {}
        self.java_hooks = {}
        self.temporary_input = ''
        self.native_pending_args = None
        self.java_pending_args = None

        # context
        self.arch = ''
        self.pointer_size = 0
        self.contexts = {}
        self.context_tid = 0

        # tracers
        self.native_traced_tid = 0

        # core utils
        self.bus = EventBus()
        self.emulator = Emulator(self)
        self.git = Git()
        self.prefs = Prefs()
        self.script_manager = ScriptsManager(self)

        self.keystone_installed = False
        try:
            import keystone.keystone_const
            self.keystone_installed = True
        except:
            pass
Example #5
0
 def __init__(self, options=None, args=None):
     super(Application, self).__init__(sys.argv)
     self.setApplicationName('Backlight adjuster')
     self.kernel = Kernel(self, options, args)
     self.kernel.aplication = self