【1216更新】逆向Preferences.app中 Developer 中的NETWORK LINK CONDITONER

有前辈逆向过Preferences.app中 Developer 中的NETWORK LINK CONDITONER么

目前通过Cycript 定位开启NetworkLinkConditiner



定位目标函数 [PSSwitchTableCell controlChanged:]
通过grep 查找头文件,是在dyld_shared_cache_armv7s中,继而进行dyld_decache,找到PSSwitchTableCell.h
但发现并没有controlChanged的方法,继续向上查找PSControlTableCell,其中有controlChanged方法

PSSwitchTableCell.h

PSControlTableCell.h

通过IDA分析,偏移前基地址为:2AA58BA8 ,lldb查找出ASLR偏移为:0x0009f000
偏移后基地址为:2AA58BA8 + 0x0009f000 = 0x2AAF7BA8

设置断点:

为啥不是我想要的呢。。 不知道哪里错误了,求指导

思路是对的,有一个地方错了:
PSControlTableCell来自Preferences.framework,而不是Preferences.app,因此ASLR偏移不对
书上也特别强调过这同名但不同类型的2个二进制文件

谢谢狗神回复,但是还是不对。。
偏移后基地址为:0x2AA58BA8 + 0x0a632000 = 0x3508ABA8

[ 42] 0x0a632000 /Users/lylh/Library/Developer/Xcode/iOS DeviceSupport/8.1.2 (12B440)/Symbols/System/Library/PrivateFrameworks/Preferences.framework/Preferences

(lldb) br s -a 0x3508ABA8
Breakpoint 2: where = Preferences`-[PSSpecifierUpdateContext copyWithZone:] + 52, address = 0x3508aba8

根据这个帖子,你分析的Preferences应该来自OSX而不是iOS上的cache,所以值不是0x2AA58BA8