Blacklist dyld_stub_binder from being traced

This commit is contained in:
Ole André Vadla Ravnås
2015-09-25 20:42:25 +02:00
parent 0a0e9bddce
commit 817be1fd26
+10 -1
View File
@@ -69,6 +69,10 @@ class TracerProfileBuilder(object):
return TracerProfile(self._spec)
class TracerProfile(object):
_BLACKLIST = set([
"libSystem.B.dylib!dyld_stub_binder"
])
def __init__(self, spec):
self._spec = spec
@@ -107,7 +111,8 @@ class TracerProfile(object):
relative_address = int(target["address"], 16) - module.base_address
exported = not target.get('private', False)
mf = ModuleFunction(module, target["name"], relative_address, exported)
working_set.append(mf)
if not self._is_blacklisted(mf):
working_set.append(mf)
else:
objc = target['objc']
method = objc['method']
@@ -115,6 +120,10 @@ class TracerProfile(object):
working_set.append(of)
return working_set
def _is_blacklisted(self, module_function):
key = module_function.module.name + "!" + module_function.name
return key in TracerProfile._BLACKLIST
def _create_resolver_script(self):
return r""""use strict";