labview密码保护方式及如何保护labview密码不被破解

labview密码保护方式及如何保护labview密码不被激活成功教程LabVIEW code security Password Protect VI vs Removing Block Diagram VI LabVIEW 开发环境提供了两种方式保护程序原始码的安全性 一个是设定 VI 的密码 另一个是移除 VI 的 Block Diagram 也就是 VI 的程序逻辑部分 NI 官方网站的说明也非常详细可以参考 Security of LabVIEW

大家好,我是讯享网,很高兴认识大家。

LabVIEW code security: Password Protect VI vs Removing Block Diagram VI
LabVIEW开发环境提供了两种方式保护程序原始码的安全性,一个是设定VI的密码.另一个是移除VI的Block Diagram ,也就是VI的程序逻辑部分. 
NI官方网站的说明也非常详细可以参考“ Security of LabVIEW VI Password Protection vs. Removing VI Block Diagrams ” ,虽然此篇文章并没有明确指出Password Protect VI加密的演算法类型,怀疑使用了RSA方式加密, RSA非常难于激活成功教程,但是事无绝对RSA目前已被证实可经由碰撞而产生另一组解,因此并非完美的加密方式,官方文章也提到Password Protect VI的加密流程也可能因LabVIEW本身程序码被逆向工程,跳过了判断验证密码的程序导致即使加密,却被轻松激活成功教程的结果。 labview  忘记密码,labivew 密码忘了,问问:。 因此NI提供了Removing Block Diagram VI的方式,让该VI只保存人机介面与编译过的Binary Code.此方式仍被激活成功教程的可能性只有对方能解读该Binary Code在该平台(x86 …etc)对应的逻辑,因效益太低可能性微乎其微,因该不会有人会想做这种事情.此方式的缺点是该VI仅能提供同样的LabVIEW版本与使用的平台环境,例如abc.vi是在LabVIEW 2012,x86 Win7底下进行Removing Block Diagram后, abc.vi未来只能在LabVIEW 2012,x86 Win7的环境下被呼叫使用,因此若要支持多个版本,则须提供相对应的abc.vi. Removing Block Diagram VI的流程如下:


1.建立一个vi,范例用一个简单的加法运算,并加入专案 labview 密码激活成功教程, labview  忘记密码,labivew 密码忘了,问问:
2.在专案的Builed Specifications项目右键选择New,然后再选择Source Distribution.
3.在Source File选项中将目标abc.vi设为Always Included.
4.在source File Settings选项中点到abc.vi ,然后在右边选单会有个Remove block diagram ,把这个选项打勾. 
(后面会再多做一个连Remove front panel打勾的比较)
5.之后点Build按钮后就会生成不含Block Diagram的vi了.由上图可以比较一下
abc.vi为原始vi…… 13KB 
abc_RemovingBlackDiagram.vi为移除Block Diagram….. ..6KB 
abc_RemovAnything.vi为移除Front Panel与Block Diagram…… 3KB
6.将移除Block Diagram的vi拿到另外一台电脑上用LabVIEW 2013的环境打开就会跳出这个画面, 底下红色框框里显说Block Diagram已被移除,因此LabVIEW 2013无法进行转换.

接着用之前文章  提到的程序稍微修改一下​​,可以读取储存vi的每个部分,简单说明几个部分的名字代表的意义(猜的), 


讯享网

VICD = VI compiled Data , 这是该vi程序码compile 成machine code的资料.
BDPW = Block Diagram PassWord ,这是该vi被设Password Protect VI后的密码生成RSA存放的位置,前32 byte就是该vi被设密码后的RSA值,后面64 byte可能用来计算vi资料是否遭窜改或毁损(猜的)
FPHb ,  FPSE为Front Panel资料,详细意义不明
BDHb ,  BDSE为Block Diagram资料 ,详细意义不明
上面两张图是abc.vi与abc_RemovingBlackDiagram.vi的比较
可以看到VICD并未改变, BDHb , BDSE都被移除.
上面这张图是  abc_RemovAnything.vi  与  abc_RemovingBlackDiagram.vi的比较
可以看到VICD并未改变,  FPHb ,  FPSE和其他一些东西都被移除.
结论: 
1.Password Protect VI极有可能用RSA加密算法
2.Removing Block Diagram VI无法还原成可编辑的vi 
3.就保护程序码而言Removing Block Diagram VI比Password Protect VI来的安全,但使用此vi进行开发非常不方便.

小讯
上一篇 2025-01-08 18:17
下一篇 2025-01-15 07:05

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/14743.html