Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

WPS Office 2019 渲染无效 #480

Closed
wmjordan opened this issue Nov 28, 2018 · 6 comments
Closed

WPS Office 2019 渲染无效 #480

wmjordan opened this issue Nov 28, 2018 · 6 comments
Assignees
Labels

Comments

@wmjordan
Copy link

最新的 MacType Beta4+DirectWrite 测试版,在 Win10 1809 上服务加载。
WPS Office 2019 无法渲染。

default

@snowie2000
Copy link
Owner

snowie2000 commented Nov 28, 2018

qq 20181128103407
请用向导的进程管理器查看wps的加载状态后再看是什么问题。我这边一切正常。

另外dw增强版的问题请不要另外新issue,除非您可以用普通版本重现问题。

@snowie2000
Copy link
Owner

升级到新版本后出现问题,将会继续查找问题原因。感谢反馈。

Reproduced after upgrading to beta5. Investigating ...

@snowie2000 snowie2000 reopened this Dec 6, 2018
@snowie2000 snowie2000 self-assigned this Dec 6, 2018
@snowie2000
Copy link
Owner

snowie2000 commented Dec 6, 2018

问题已查明。新版WPS内部有一个krpt.dll文件,位置为C:\Users\{UserName}\AppData\Local\Kingsoft\WPS Office\11.1.0.7989\office6\krpt.dll 该文件会拦截LoadLibraryExW的调用,并检查加载的dll,其内置了一个dll黑名单,其中就包含有mactype.core.dll,遇到黑名单中的dll则禁止加载。
证据截图(该列表是加密的,直接搜索dll本身无法找到,运行中动态解密出来):
evidence

理论上MacType可以绕过,但是既然这是金山公司刻意为之,我们并没有必要做这样的猫鼠游戏。如果您确有在wps上使用mactype的需求的话可以降级版本或者向金山公司反应。
此问题终结。


Problem found. There is dll named krpt.dll stored at C:\Users\{UserName}\AppData\Local\Kingsoft\WPS Office\11.1.0.7989\office6\krpt.dll which has hooked LoadLibraryExW and checks for every dll loaded.

The Dll has a built-in blacklist that if a dll is included, the loading procedure will be interrupted. MacType.core, however, is one of its entry.
The blacklist is encrypted and dynamically expanded during execution.

We could, in theory, walkaround this by using some "hack" methods, but because of the intention of filtering, we believe the correct way to solve this is to report your demands to the Kingsoft and ask them to re-consider the filtering process.

Closed as it won't be solved at MacType side. Notice will be added to the front page.

@wmjordan
Copy link
Author

wmjordan commented Dec 6, 2018

感谢您在这个问题上花费了这么多时间。
已经在WPS的卸载界面上向该公司反馈了上述问题。

@wmjordan
Copy link
Author

wmjordan commented Oct 16, 2022

今天晚上微软 Excel 在编辑过程中崩了,搞了小半小时的活几乎全丢。

于是又找了个 WPS 出来捣鼓一下。
之前网上流传的“将 WPS 设置成单组件运行模式可以支持 MacType 渲染”的方法已经无效。

但是,新版的 WPS 倒是给我们开了一扇窗。根据 snowie 前面的跟踪,WPS 的保护与 krpt 这个 DLL 有关。
经我用磁盘搜索发现,krpt 有一个配置文件,放在如下路径(请根据实际情况替换掉“当前系统用户名”和“版本号”):

C:\Users\"当前系统用户名"\AppData\Roaming\kingsoft\wps\addons\pool\win-i386\krpt_"版本号"

上述文件夹里面有一个名为“krpt.ini”的文本文件,打开会发现里面有一个“MacType.Core”,遂怒删之。
重新启动 WPS 之后,MacType 就能渲染 WPS 了。

image

@snowie2000
Copy link
Owner

snowie2000 commented Oct 19, 2022

今天晚上微软 Excel 在编辑过程中崩了,搞了小半小时的活几乎全丢。

于是又找了个 WPS 出来捣鼓一下。 之前网上流传的“将 WPS 设置成单组件运行模式可以支持 MacType 渲染”的方法已经无效。

但是,新版的 WPS 倒是给我们开了一扇窗。根据 snowie 前面的跟踪,WPS 的保护与 krpt 这个 DLL 有关。 经我用磁盘搜索发现,krpt 有一个配置文件,放在如下路径(请根据实际情况替换掉“当前系统用户名”和“版本号”):

C:\Users\"当前系统用户名"\AppData\Roaming\kingsoft\wps\addons\pool\win-i386\krpt_"版本号"

上述文件夹里面有一个名为“krpt.ini”的文本文件,打开会发现里面有一个“MacType.Core”,遂怒删之。 重新启动 WPS 之后,MacType 就能渲染 WPS 了。

image

已添加到wiki https://github.com/snowie2000/mactype/wiki/WPS 非常感谢

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants