webkit反调试

对程序进行调试,程序崩溃退出,crash日志显示的program却是com.apple.WebKit.Networking

Exception Type: EXC_CRASH (SIGKILL)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY
Termination Reason: Namespace RUNNINGBOARD, Code 0xdead10cc
Triggered by Thread: 0

Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 libsystem_kernel.dylib 0x00000001c9f6f2d0 mach_msg_trap + 8
1 libsystem_kernel.dylib 0x00000001c9f6e660 mach_msg + 76
2 CoreFoundation 0x000000019d00fc30 __CFRunLoopServiceMachPort + 380
3 CoreFoundation 0x000000019d009c14 __CFRunLoopRun + 1216
4 CoreFoundation 0x000000019d00921c CFRunLoopRunSpecific + 600
5 Foundation 0x000000019e2b5df0 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 232
6 Foundation 0x000000019e2e96bc -[NSRunLoop(NSRunLoop) run] + 92
7 libxpc.dylib 0x00000001e64dbc2c _xpc_objc_main + 688
8 libxpc.dylib 0x00000001e64ddf48 xpc_main + 180
9 WebKit 0x00000001a94de70c WebKit::XPCServiceMain(int, char const**) + 444
10 libdyld.dylib 0x000000019ccc96c0 start + 4

0xdead10cc 这个错误码应该是进程挂起的时候持有文件锁,但是调试主程序会把webkit也挂起么

是的,虽然不知道是不是故意的,但是确实达到了这种效果。把调试检测全部过掉以后,可以进行调试了。不知道它具体是怎么实现这种反调试的??它可以让crash日志里面不显示主程序相关的信息,全是webkit的堆栈,crash是和文件锁有关系,但是不清楚具体实现这种调试诱发文件死锁的方法?

什么app ?

调试到了crash的点。调试的时候,app会调用到ptrace,执行PT_DENY_ATTACH,但是最后crash日志到了webkit那边,不知道为什么

可能是一个RN应用