tzbm123456 发表于 2021-10-3 15:56:04

如何加密 Sketchup Ruby 开发的插件

本帖最后由 tzbm123456 于 2021-10-3 16:00 编辑

如何加密 Sketchup Ruby 开发的插件
版权声明:本文为CSDN博主「Neil3029」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/middle0104/article/details/100598527

    我们的插件开发好之后,一般情况下,我们是不希望其他人看到我们的插件的源码的,当然,作为开源软件的插件除外。因此,SketchUp为开发者提供了加密的方法来对我们插件的源码进行加密。◆插件加密    到目前为止,SketchUp提供了两种加密方法,早期的插件加密之后rb文件扩展名改为rbs,最新的插件加密之后rb文件扩展名改为rbe。据官方的说法,rbs文件存在被破解的可能,rbe则更安全一些。◆rbs加密    目前rbs的加密工具官网上已经不再提供了(也可能我没找到),如果感兴趣可以在网上找找资源,应该还可以找到,加密工具的文件名是SketchUpRubyScramblerWindows.exe(找不到可以关注底部的公众号获取)。使用时,在命令行运行该文件并添加想要加密的rb文件作为参数,就会在rb文件同目录下生成一个同名的rbs文件。一般都是写一个bat脚本来执行对整个插件的加密,并且Plugins目录下的rb文件是不能加密的。◆rbe加密    rbe加密则没有对应的工具,而是通过把插件打包发送到官网进行签名加密,之所以换成这样的方式应该是想避免有人再去逆向加密工具来破解插件。加密更安全了,加密的过程也更麻烦一引起,需要有google账号,还要申请为开发者,反正我是嫌麻烦(^^),有兴趣成为开发者赚些外快的可以研究一下。◆加载加密插件    插件加密之后,启动SketchUp加载我们的插件时发现会加载报错,这是因为我们在代码中加载其他rb文件时都是使用的ruby原生的require方法,它并不能识别rbs和rbe文件。因为我们想要加载加密文件,需要在插件中的所有需要加载加密文件的位置使用Sketchup.require或Sketchup.load方法,并且传入的文件路径不能有扩展名。这两个方法既可以加载不加密的文件又可以加载加密的文件。把我们的插件中所有的require位置修改之后,再启动SketchUp则可以正常运行了。◆发布    SketchUp插件的发布包是一个rbz包,实际上就是一个zip压缩包,把扩展名改为rbz即可。在打包时需要注意,插件根目录下的文件和文件夹要位于压缩文件的根目录下,SketchUp在安装插件的时候实际就是把这个压缩包解压到其Plugins目录下的。◆总结    至此,我们已经通过几个实例讲述了SketchUp插件开发时常用的API的使用和一些常见的实践方法,更详细全面的插件开发知识则需要仔细阅读官方的API文档并在SketchUp中进行实践来获得。作为一个并不深入了解真正的设计师需求的小众程序员,可能并不能把这一类3D模型制作软件打造得得心应手,但是还是希望本系列的讲解能帮助到对此有兴趣的开发者和设计师们,不胜荣幸。



页: [1]
查看完整版本: 如何加密 Sketchup Ruby 开发的插件