美文网首页
Grasshopper允许您将定义存储在群集中解密

Grasshopper允许您将定义存储在群集中解密

作者: 萤芯贸易 | 来源:发表于2020-02-27 22:59 被阅读0次

rhino强大的后面有gh

Grasshopper允许您将定义存储在群集中,以便在其他定义中再次使用它们。您也可以通过设置密码来保护它们。但是,随着时间的流逝,很可能会忘记它们,而您的定义似乎永远消失了。

那么有没有办法继续访问它呢?是的,有,我通过反思向您展示了潜在的破解方法。

打开一个新的C#脚本组件

第一步,我们需要在活动画布上找到集群:

因此我们得到所有带有

var ghObjs = GrasshopperDocument.Objects;

现在我们遍历:

object clusterObject = null;

for(int i = 0; i < ghObjs.Count ; i ++){    如果((ghObjs [i] .NickName ==“群集XYZ”))

clusterObject = ghObjs [i];

现在,由于我们知道该对象必须是GH_Cluster,因此我们需要对其进行强制转换:

Grasshopper.Kernel.Special.GH_Cluster群集=(Grasshopper.Kernel.Special.GH_Cluster)clusterObject;

我们现在可以潜在地调用cluster.AssignNewPassword,但是由于我们不知道旧密码,因此这里存在问题。大概有充分的理由说明它并非如此容易。关于密码的一种建议是不要将其存储在类中,甚至是加密的。但是我想David Rutten并不十分在意使其非常安全,因为定义的复杂性还不足以应用复杂的安全系统。他可能只将密码存储在GH_Cluster的私有字段中。那么我们如何通过脚本来获得这个私有字段呢?通过反射简单地完成。现在来了技巧1:

类型type = typeof(Grasshopper.Kernel.Special.GH_Cluster);System.Reflection.FieldInfo []字段= type.GetFields(BindingFlags.NonPublic | BindingFlags.Instance);

现在,我们有了GH_Cluster中的每个私有字段。我们只需要搜索一个合适的字段名。我在这里采取捷径:

我发现fields [0]的名称是m_password,它是一个字节数组,因此已加密。遗憾的是,我们不能在不知道密钥的情况下简单地对它进行解密,但是我们可以简单地用另一个替换密码。只需更改字节数组即可。因此,我做了第二个集群,并用密码“ password”对其进行了保护,然后将其替换为targetcluster的字节数组。是不是很简单?我将其转换为字符串并返回一个字节数组,但是您也可以直接使用它。我希望得到一些有价值的东西,但是我没有找到任何用于解密的东西。

字段[0] .SetValue(群集,Convert.FromBase64String(“ WcakCiz / 0YCBPRn / NG5u5A ==”))

其中“ WcakCiz / 0YCBPRn / NG5u5A ==”表示“密码”,只需替换它即可。现在,一旦执行了该脚本,您的目标群集现在将拥有一个新的defaultpassword。

相关文章

  • Grasshopper允许您将定义存储在群集中解密

    rhino强大的后面有gh Grasshopper允许您将定义存储在群集中,以便在其他定义中再次使用它们。您也可以...

  • 实践Jetpack AppSearch

    其中,Android 12 有一项特别酷的新功能:AppSearch。它允许您将有关应用程序数据的信息存储在搜索引...

  • 数据湖

    一、什么是数据湖 AWS定义:数据湖是一个集中式存储库,允许您以任意规模存储所有结构化和非结构化数据。您可以按原样...

  • SwiftUI iOS15 新API大全之SwiftUI swi

    在 iOS 15 中,SwiftUI 添加了一个新的swipeActions修饰符。它允许您将自定义滑动操作添加到...

  • 部署Seafile搭建自己的网盘

    Seafile 是一个开源的文件云存储平台,解决文件集中存储、同步、多平台访问的问,允许用户创建“群组”,在群组内...

  • vue sessionStorage存值取值问题

    定义和使用 localStorage 和 sessionStorage 属性允许在浏览器中存储 key/value...

  • 开发日志

    2017.12.6,周三 1,群信息存储,其中content字段改为原始字符串存储,在获取时再行解析(集中处理解析...

  • Unity Attributes 自带特性

    AddComponentMenu AddComponentMenu属性允许您将脚本放置在“组件”菜单中的任何位置,...

  • C语言----结构体

    C 数组允许定义可存储相同类型数据项的变量,结构是 C 编程中另一种用户自定义的可用的数据类型,它允许存储不同类型...

  • C结构体

    C 数组允许定义可存储相同类型数据项的变量,结构是 C 编程中另一种用户自定义的可用的数据类型,它允许您存储不同类...

网友评论

      本文标题:Grasshopper允许您将定义存储在群集中解密

      本文链接:https://www.haomeiwen.com/subject/quafhhtx.html