银行 社区服务 每日签到 会员排行 网站地图
  • 434阅读
  • 0回复

怎样通过SHA256值来识别引擎的异同

楼层直达
我发帖:不隐藏、不叫卖、不加密。
级别: 论坛检查
[棋中红钻4级]发帖数量≥1000篇 [棋中黄钻5级]金币数量≥10000枚 [棋中蓝钻1级]乐币数量≥10枚 [未点亮棋中粉钻]贡献值数量<1点 [棋中彩钻3级]精华帖数量≥5篇
发帖
1507
金币
10614
威望
13
贡献值
0
乐币
33
主题
138


  我们讲通俗一点,现实中我们区分人和人的一种有效的方法就是“指纹”,电脑里面的文件也是有“指纹”。两个文件的“指纹”如果相同,就表示这两个文件实际上是同一个文件,否则就是不同文件。


  那现实文件“指纹”类似的功能多种,这里简单介绍SHA256。SHA256的原理这里就不说了,可以去百度。简单的说就是每一个不相同的文件它的SHA256值是不一样的。一个文件如果被修改,它的SHA256值必然会改变。


  下面就来介绍怎样通过工具软件HashCalc来对比两个文件或者多个文件的SHA256值的差异。(本文所提到的软件和测试素材均在本文尾部提供下载链接)


  一、下载HashCalc软件,解压缩后运行HashCalc.exe来打开软件界面。(如图1)






  二、在软件界面的左侧选择要计算的数值的项目,第一次运行可能勾选了几项,本例我们只要勾选SHA256即可。


  三、把要查看SHA256值的文件拖放到HashCalc软件界面上,即可计算出选中文件的SHA256值,一次拖放一个文件。


  四、例如,我们今天来检测以下皮卡鱼官方开源站官方云编译的0902引擎和某人自己云编译的0902引擎是否有差异。我们先把官方引擎和某人云编译的引擎下载到电脑,图2、是把官方云编译引擎的压缩包拖放到HashCalc软件界面上计算出的SHA256值,图3、是某人云编译引擎的压缩包拖放到HashCalc软件界面上计算出的SHA256值。








  可见两者的整个压缩包SHA256值不同,表示两个压缩包是不同的文件。


  五、现在分别把两个压缩包解压,官方的没有密码可以直接解开;某人的输入密码pk0902可解压。解压缩后分别进入各自的Windows目录下,我们先目测对比里面的引擎文件,(如图4)、左边是官方的,右边是某人的,我们先用时间降序排序,注意观察,可以看到除了文件名有点不同,“修改日期”和“大小”,从上到下一模一样。是不是有点奇怪了啊,难道官方和某人商量好了,同一时间编译吗?而编译后的文件又恰好一样大小?别忙,我们往下看,精彩的要来了。






  六、我们可以看到官方引擎和某人引擎有5个引擎名称完全一样,2个名称不一样。我们先把双方名称一样的引擎各自拖放到HashCalc软件界面上去计算SHA256值。我们先把各自的pikafish-avxvnni.exe引擎拖放,(如图5)发现双方的SHA256值一样,都是:be9030828af78d956bb7a4c739867aa406e7de8007ed402c1b532eea71387923  奇怪了,这说明什么呢?当然说明这2个引擎是同一个文件,说明这2个引擎就是一模一样的引擎。






  七、我们再分别检测两外4组名称一样的引擎,用同样的方法,发现这4组同名引擎的SHA256值分别都是一样的,如下结果:


pikafish-avx2.exe  SHA256值都是:2377f03410008eb0ac0f4bfb1653d85014f24d9596058d1c252cc7c5165d7b80
pikafish-vnni512.exe  SHA256值都是:14eb48dae7083862426526b0a04ee5379b8929044576850c343ea915314bc6a5
pikafish-bmi2  SHA256值都是:1f25860d41adfc48a5cf911eae963de54d3f3444c9931b3c9cc3899085ea7841
pikafish-avx512.exe  SHA256值都是:0f3cef6ff02853a3913ae9f9ec74fd8bc39150b7dec5dc3aea9ff9fc2bd37159


  说名这4组引擎分别也都是同一个引擎。别急,下面更精彩。


  八、Windows目录下双方各有7个引擎,其中各自5个同名字的引擎其实都是同一个文件。那么另外2组名字名字不一样的呢,是不一样的文件吗?(如图6)结果我们发现,官方名为pikafish-sse41-popcnt.exe的引擎和某人名为pikafish-modern..exe的引擎也是同一个文件;而官方名为pikafish-ssse3.exe的引擎和某人名为pikafish-x86-64-old.exe引擎还是同一个文件。只是改了名字而已。


pikafish-sse41-popcnt.exe 和 pikafish-modern..exe
SHA256值都是:1ef7f98a53250d1a99a411537d11f01c11dc19281a979567e8a5767dcdbed6c8
pikafish-ssse3.exe 和 pikafish-x86-64-old.exe
SHA256值都是:8fe716a1a08d22255f3f5647182ab1371c89a817353b8245664548d6566e003b


  某人为啥把官方pikafish-sse41-popcnt.exe引擎改名为 和 pikafish-modern..exe,估计是有的朋友想要modern引擎,某人没有啊,就急中生智改名字算了;更搞笑的改成old,old是我编译时为了给旧电脑用才取这个名,估计也有有朋友想要old引擎,某人也改名字,真是有急智啊!


  但是张三就是张三,你硬在张三脑门上贴个条子说他是李四,他就变成李四了嘛?


  九、用同样的方法,我们可以检测出Android目录下,各自的2组引擎又是一样的。这就是有个朋友总是觉得某人云编译的安卓引擎,要比草根本地编译安卓引擎要快点,因为这是官方自己编译的嘛,比草根的强点也是应该的嘛。


  结论是:今天我们简单的学习了怎样HashCalc软件通过SHA256值来区分文件的异同。以后可以通过这个方法来分清虚实,避免上当。


  这两天论坛皮卡鱼板块有一点点乱,关心论坛的朋友应该都知道。某人“无敌的云编译”,其实呢,是把皮卡鱼官方开源站,官方自己编译的云编译引擎下载下来,再另外打包,改个名字啊,加个密码啊,然后再隐藏起来。0912版本大家可以用上面的方法自己去对照官方和某人的版本,我简单的测了一下,某人的版本除了pikafish.exe和pikafish.sse3-popcnt.exe之外其他7个Windows引擎和2个Android引擎也是和官方一模一样的。话就说到这里为止了,群众的眼睛是雪亮的,清者自清。




  本文所用到的软件和测试资源下载如下,为了避免官方和某人的0902版本下载困难,我也分别传到蓝奏盘供大家检测,需要的可以下载,其中某人0902云编译版我是原封不动上传,解压密码都没变。有的朋友估计之前已经下载到某人的0902,可以自己通过SHA256值来比对我传的是否原封不动。


1、HashCalc软件下载
2、官方0902下载
3、某人0902下载

关键词: SHA256 识别 异同
我发帖:不隐藏、不叫卖、不加密
快速回复

限56 字节
请不要在回贴只采用字母:“ PP、asdfhjkl、HAO、OK、ddddddd ......”。  请不要在回贴过于简单的内容:“不错、顶、支持、厉害、呵呵、靠、晕........”
 
验证问题: 本站网址是?不带http://
上一个 下一个