请教Proxifier的工作原理与学习资料

anonyuser 发布于 2014年12月07日
无人欣赏。

做一个Mac版Proxifier这样的软件,是不是要在内核层面进行编程?

如果是,熟悉或着接触过这方面知识的朋友能给些知指导和学习建议吗?比如从零接触内核开发时,应具备的平台相关知识,官网文档的阅读较佳顺序等。

如果不是,还请指点迷津。

先提前谢谢各位阅读或回复予以指点!

共3条回复
anonyuser 回复于 2014年12月09日

自问自答吧

有本叫osx ios kernel programming的书

首先确定方向是在内核扩展层面。看到proxifier的内核扩展模块就确定了。

接着跟着例子把hello world先给做一遍,熟悉步骤。途中会遇到10.10对非签名内核扩展的限制问题,临时解决方案是关闭验证。fuse相关的一个网页对此有详细说明,包括这么做的后果以及出问题怎么修复。

我做完这个直接跳到网络那章,途中顺带把后面高级章节里的用户空间与内核空间的通信方式看了。期间配合着xcode的文档。

就两个层面通信的程序做了些简单的并发测试后,确定需要用到锁。准备回头把整本书通读一遍,主要是把内存管理和锁、线程的知识补上。

做这个程序时遇到了还没在书上看到的问题,对应链接错误。搜索后得知kextlib就是找出扩展需要链接的库和版本号。

看完这本书觉得就可以细挖官方文档了。

注:先前无osx开发经验,暂时还不会objc.

tinyfool 回复于 2014年12月10日

做这个的目的是?

anonyuser 回复于 2014年12月10日

2楼 @tinyfool

计划换份工作 某目标岗位需要 用来 “投标” :)

登录 或者 注册