关于hook exit()函数的问题

向前辈们请教个问题

自己写的一个demo工程, 在ViewController类里面,写上这个方法, 然后方法里面调用exit(0),
实现的功能就是点击页面,调用exit(0)函数闪退, 如下图所示:

然后我自己写tweak,就是MSHookFunction hook exit 函数, 如下图所示:

image

(1) 其实我想得到的结果是,点击页面之后不闪退, 然后app正常运行,
(2) 但是最终测试发现, 用 MSHookFunction hook exit() 函数之后, 不调用orig函数, app确实没有闪退, 但是app页面会卡住, 好像成了一种假死的状态, 这是为什么呢 希望大佬解惑

之前听大佬说过,exit() 的汇编调用并不会保留返回地址,所以在调用完成后不会正常返回。

exit作为一个不会返回的函数,在编译的时候就不会保证他的下一条指令是什么


这个例子是直接到下一个函数去了


这个例子是直接到下一个块去了

所以你直接返回没有意义