感谢各位关注。新加入成员可以查看之前的消息记录。由于用户基础不一,我们要由浅入深,先讲基础操作,再讲工程实例,再到深入GHA开发,以及各种复杂算法。期间可能会穿插着来讲,可以直接回复问题,我们会尽量去解答。您觉得有用,请将此微信号分享给能用得着的朋友。(本微信号文章如有转载请注明作者和出处,如用于商业用途请联系作者) --------------------------------------------------- 密码技术的功与防恐怕已经存在上千年了吧,只是近代将主要的战场移到了二进制上面。大家在网上使用各种形式的密码来保护自己的隐私,保护自己的金钱,保护着自己不为人知的密码… 在你的眼里面,这些东西或许非常安全,大家都在用,银行系统,通讯系统,交易平台,这些怎么可能会有漏洞? 在白帽工程师的眼中,可能他整天都在忙于封堵某个bug,某个HeartBlood来封堵各种进攻… 一个年轻的菜鸟黑客,可以轻易的黑进自己了解的任何人的任何系统,不用借助很复杂的东西… 一个比较牛逼的黑客,可以攻破任何系统,可能很多人对于攻破系统还不太了解,所谓攻破即完全控制,控制所有东西而不被正在操作网银的你发现….. 一个超级黑客就是网络的中的神,来无影去无踪,知道为啥你的银行卡还有存款吗?知道你的隐私为啥还没被暴漏吗?不是因为你用的密码多么多么厉害,是因为你不够资格被他们黑掉….(关注gh微信公共号SecondEffectGroup 你将学习到在其他地方学习不到技术) 啰嗦了那么多,其实我就一个目的,大家一定要注意在网络中保护自己的隐私,密码用强密码,不要轻易透漏自己的真实信息,否则一个菜鸟级的黑客就可以把你轻易黑掉。 好了不啰嗦了,切入正题,我们在使用GH的时候会用一个叫做封包Cluster的东西来打包自己的电池,Food4网站上很多插件都是用这种形式来发布插件的,打包Cluster可以设置密码来保护自己的源程序(连线图),我们今天来谈一下这个Cluster的加密机制。(不知道何为Cluster的,先绕行吧) 首先,你将密码输入密码框,然后程序后台使用一个叫Createkey的函数来将你的密码转换了成一段密文,这个转换就是大名鼎鼎的SHA256算法(美国安全局NSA)发布的算法。这个算法是不可逆的,至少目前是不可逆的,也即你无法将密文转换了原来的密码了。什么意思?也就是你输入密码框的下一个,点击了确定,你的密码已经消失了,除了你自己记得,程序也不知道了,程序只知道密文,所以这是一种很光明磊落的算法。如果有人想找到Cluster密码的存储位置来破解Cluster,那么你就放弃吧,密码在程序文件中已经不存在了,只有密文,即便你废了很大力气得到了密文,你也无法转换成原始密码,不要妄想去挑战SHA256算法的严谨性。(关注gh微信公共号SecondEffectGroup 你将学习到在其他地方学习不到技术) Friend Shared FunctionCreateKey(ByVal passwordAs String) As Byte() If String.IsNullOrEmpty(password) Then Return Nothing End If password =(password & "salt'n'pepper") Dim array AsByte() = NewSHA256Managed().ComputeHash(Encoding.UTF8.GetBytes(password)) If (array.Length <> &H10) Then Array.Resize(Of Byte)(array, &H10) End If Return array End Function 上面我们可以看到,密码转换为SHA256的Hash之前,程序还在后面加了一个字符串"salt'n'pepper" 这个真不懂是什么意思-- 然后,对于何种包是加密的包需要输入密码,何种包是无密码的包需要输入密码,程序当然要清楚,这里后台程序自己定义了一个安全等级的东西(关注gh微信公共号SecondEffectGroup 你将学习到在其他地方学习不到技术) Public ReadOnly Property ProtectionLevel As GH_ClusterProtection Get If (Me.m_password Is Nothing) Then Return GH_ClusterProtection.Unprotected End If If (Me.m_password.Length = 0) Then Return GH_ClusterProtection.Unprotected End If Return GH_ClusterProtection.Protected End GetEnd Property就是说,我们可以在这里降低安全等级,来实现直接将密码移除。至于如何移除,我就不说了,仁智见仁智者— 最后,你每次输入密码后,会有一段验证程序,来验证你输入的密码是否正确: Public Shared FunctionDoKeysMatch(ByVal key0 As Byte(), ByValkey1 As Byte())As Boolean If (Not key0 Is Nothing) Then If (key0.Length = 0) Then Return True End If If (key1 Is Nothing) Then Return False End If If (key1.Length <> key0.Length) Then Return False End If Dim num2 AsInteger = (key0.Length - 1) Dim i AsInteger = 0 Do While (i <= num2) If (key0(i) <> key1(i)) Then Return False End If i += 1 Loop End If Return True End Function 我们是否能在这个地方来下手让所有的返回值都都是True?修改二进制?你可以试着尝试一下,但是注定会失败,因为Grasshopper.dll使用了强制性签名来确保二进制的完整性,你很难将这些强制性签名移除掉,当然如果你是高手就例外--(关注gh微信公共号SecondEffectGroup 你将学习到在其他地方学习不到技术) 上面有些地方说的比较露骨了,本人破解Cluster仅供技术交流,主要是想研究研究别人的思路和代码来提高自己,绝对不会将此技术外传—即便网上出现了破解,肯定也不是我传出去的破解.. 破解文件我就不传了,如果有人想破解某些包,来研究代码,那么欢迎加入本群,把Cluster发给我们即可。如果你学习这种技术,就关注我们的微信号,加入QQ群,一起来研究学习突破自我。 欢迎下载本人所写插件:GH幕墙相关算法插件下载地址:http://www.food4rhino.com/project/segghcommon 欢迎加入gh知识传播微信号SecondEffectGroup 欢迎加入gh知识传播微信号SecondEffectGroup
|
举报