Lojii / Knot

一款iOS端基于MITM(中间人攻击技术)实现的HTTPS抓包工具,完整的App,核心代码使用SwiftNIO实现
GNU General Public License v3.0
1.74k stars 579 forks source link

问题较多 #3

Closed Dcell closed 4 years ago

Dcell commented 4 years ago

1.已经配置好证书和App Group 问题较多。 屏幕快照 2020-02-28 上午9 23 42 Calling syncShutdownGracefully() on any EventLoop can lead to deadlocks. 几乎必现。 2.侥幸没有进断言,正常打开了 VPN Target进程 必闪退,还没时间查看问题。

希望楼主改进下。

Lojii commented 4 years ago

iOS13 ?

Dcell commented 4 years ago

死锁的问题,应该逻辑存在问题,VPN 进程挂了的问题,我还没时间看,后头我把问题贴上来。

Lojii commented 4 years ago

兄嘚,贴下你的环境先,我也去看看

Dcell commented 4 years ago

版本 12.1 ,iPhone6 工程用Xcode11.1

Dcell commented 4 years ago

https://github.com/Lojii/Knot/blob/eccde7e229e36ca36d32635322f361cc7d1f286f/TunnelServices/HttpService/SSLServer.swift#L230 死锁的地方,在Loop里面,调用同步函数。

Lojii commented 4 years ago

SSLServer是主进程里用来检测证书是否被安装与信任的,这句是关闭启动的SSL服务线程,我这边试了没问题,不知道是啥情况,如果频繁进断点,把这句注释掉也是没什么大问题的,这只是会造成主进程里的句柄泄漏,不过在App的生命周期里调用次数不会很多,所以就算有句柄泄漏,也不会造成什么影响

ghost commented 4 years ago

这边也能复现,iOS 13.4. Xcode 11.4 beta 3