- 积分
- 6708
- 最后登录
- 2024-3-27
- 精华
- 0
- 阅读权限
- 220
- 主题
- 144
- UID
- 3887572
- 帖子
- 2896
- PB币
- 3571
- 威望
- 925
- 贡献
- 0
- 技术
- 801
- 活跃
- 4704
14N.M.
- UID
- 3887572
- 帖子
- 2896
- PB币
- 3571
- 贡献
- 0
- 技术
- 801
- 活跃
- 4704
|
发表于 2020-9-17 12:53:21
IP属地江苏
|显示全部楼层
Mouri Cleanup Collection (后文用 MCC 表示)现阶段是不开源的,主要原因也很简单,毕竟整个项目还没有完善到可以开源的情况,在没有完善的情况下就开源的话,会给我带来不小的压力,譬如之前的 Nagisa 和 Nit 直接导致了我的弃坑,虽然 Nagisa 也不能算弃坑吧,我只是在等待 WinUI 3.0 正式版发布后把 Nagisa 做成仅支持 Windows 10 的桌面应用。
关于 MCC 的功能计画,或者换句话就是大饼,会在下文描述。
首先,MCC 现阶段仅支持在线 Windows 映像实例的清理(因为涉及到离线的话,必然绕不开 DISM 和 CBS,肯定会涉及到 DISM++ 的核心内容,我个人还是希望尽量做到和 DISM++ 无关,这样的话以后如果打算开源不会感觉太愧疚,毕竟 DISM++ 不开源,虽然作者不介意我用里面的闭源实现,但我还是不大敢用,除非对应内容开源或者我自己也作出了相关并且更加完整的逆向成果……我想到了数年前,DISM++ 里面有个设施叫 VC140,是一个把 CRT 链接到系统自带的 msvcrt.dll 以大幅度缩减程序体积且能使用 MSVC 工具链完整特性的库,我曾经问过作者我能否用,作者表示他信得过我的人品,但我还是不敢用,直到作者把 VC140 改名为 VC-LTL 并开源到 GitHub 上面后我顺理成章的成为了这个库的第一个用户,在 NSudo 这样的为了体积基本不怎么用 STL 的项目做 VC-LTL 第一个版本的适配还是用了两天的时间,作者甚至还用 TeamViewer 直接进行指导……啊啦,我好像跑题了,抱歉)
其次,MCC 会提供一个自研的且定制性尽可能强的清理规则引擎,为了方便在任意的文本编辑器编辑,我打算采用 TOML 作为清理规则描述配置的格式。当然这个清理引擎足够成熟的话,我会和 DISM++ 作者讨论把这套引擎集成进去。
MCC 的代码质量和性能要求和对 NSudo 的要求是一致的,都是程序体积尽可能小,系统调用尽可能少,实现代码尽可能短。
说到 NSudo,我就谈谈 MCC 和 NSudo 在源代码上的关系吧,MCC 和 NSudo 除了都依赖 Windows SDK 外,还会依赖我自己的 Mile 开源工具库,通过 Mile 的设施尽可能实现代码复用,下面贴一张图表明本段描述的关系。
请勿使用多线程下载工具下载论坛附件!
毛利
|
-
2
查看全部评分
-
|