lucatacconi/oak-island-stone-decryptor

为娱乐目的编写的PHP和LUA代码,尝试解码奥克岛90英尺刻石

v1.0.0 2023-03-15 22:21 UTC

This package is auto-updated.

Last update: 2024-09-20 01:29:05 UTC


README

Latest Stable Version Total Downloads Latest Unstable Version License

奥克岛之谜

Oak Island

对于那些对奥克岛一无所知的人,传说告诉我们岛上挖了一个深井,那里埋藏着一笔巨大的财富。关于这个井的故事源于追溯到1795年的故事,当时年轻的丹尼尔·麦金尼斯(1777-1862)在散步时,对一棵老橡树下地面上的一个凹坑产生了好奇心,这棵橡树的树枝上有一个滑轮,这种滑轮也用于船只。

第二天,丹尼尔和两个熟悉当地关于海盗和隐藏宝藏的古老传说的朋友开始了挖掘工作。但他们很快意识到,这个凹坑隐藏着一个非常特别的井。每深入三米,他们就发现一个由橡木板构成的平台,但到达第三层时,他们被迫放弃这项事业,因为这对他们来说太难了。就这样,奥克岛传奇诞生了。这个井被命名为金钱坑,金钱之井。

1802年,一家名为奥诺斯洛公司(Onslow Company)的私营公司相信了丹尼尔·麦金尼斯和他的同伴的故事,重新开始了挖掘工作。发现了少量的木炭和黏土,但最重要的是椰纤维,这肯定不是当地的,因为椰子树在加拿大不生长。

在90英尺深的地方,人们的士气高涨。他们发现自己面前是一块刻有难以辨认的雕刻的巨大石板,后来被重新命名为“90英尺刻石”。当时已经是夜晚,当他们用一只脚试探地下的地面时,感觉到有东西是抵抗的。据说那可能是一个可能的宝箱,或者是另一块板。

疲惫的工人们决定推迟到第二天再继续发现,但等待他们的是一个令人不快的惊喜。在夜间,大西洋的水完全灌满了井,试图排空它都是徒劳的:水位保持不变。就像为了排空井,整个海洋都必须排空一样。事实上,据说有一个管道系统从史密斯湾开始;当潮水上涨时,管道会将水带入金钱坑。

多年来,大约有100多次尝试,这些尝试至今仍在继续,也成为了一部电视剧,其中拉吉纳兄弟(Lagina brothers)试图揭开隐藏岛屿秘密的神秘面纱。然而,仍然没有找到宝藏的痕迹。


90英尺刻石

但让我们回到一步之遥,回到90英尺的石板:传说称石板上刻有一系列的符号,这些符号被分割成看似文字的独立元素。还有应该是表格的复制品和符号的排列。

Oak Island 90 feet inscribed stone

从这里,我们的游戏开始了。我们的尝试是,为了娱乐,使用PHP和其他最新一代语言(Lua,甚至可能是Dart)尝试对石板进行自动解读。

以下是我们的假设

  • 一些符号在几个元素中重复出现,我们可以将其视为单词:这意味着,通过交叉对应重复符号的字母,我们可以构建一套可能的句子,这些句子与符号的模式相对应。
  • 刻石应定于1400年至1600年之间。因此,我们考虑英语、法语、西班牙语和拉丁语为可能的语种。
  • 一些词以重复的符号开头。我们可以尝试想象,如果这些符号在可能构成句子的开头重复出现,那么这些符号是数字。
  • 代码可能包含当前不再词典中的过时词汇。这可能会影响文本解析。

感谢以下GitHub和非GitHub仓库,我们从这些仓库中获取了项目所选语言的词汇表:

⚠️ 本项研究没有科学价值,我没有任何假设,认为这不仅仅是娱乐。


字典攻击模式

以下是对刻石文本进行分析的不同方法:

方法1 - M1

Method 1 - M1

以下是我们在方法1中工作的假设:

  • 第8个词的开头有两个形状为十字的符号(Symb_08)。在所考虑的语言中,没有以相同重复字母开头的单词。因此,我们尝试将它们视为数字,并赋予它们随机的数值。
  • 通过相似性,我还将第5个词的第一个符号视为数字(Symb_13)。我们赋予它随机的数值。
  • 我们将第6个词的第三个符号视为加号形状的符号,而不是十字形状的符号,因此内容不同于Symb_08
  • 我们将第2个词视为由4个符号组成,其中两个符号在第2和第3位重复(都是Symb_09)

以下是单词解析过程:Word2 → Word4 → Word7 → Word1 → Word3 → Word5 → Word8 → Word6

⚠️很快将添加更多密码分析算法


系统要求

  • 如果你想使用PHP版本,需要PHP 7.4或更高版本
  • 如果你想使用Lua版本,需要Lua 5.3或更高版本
  • 如果你想使用Dart版本,需要Dart 2.12或更高版本
  • 如果你想通过网页浏览器使用应用程序,需要Apache或Nginx服务器
  • 如果你想通过Composer安装应用程序,需要Composer

应用程序安装

要安装应用程序,你可以下载GitHub仓库,或者使用以下指令通过Composer:

composer create-project lucatacconi/oak-island-stone-decryptor

如果你想通过网页浏览器使用应用程序,还需要安装一个HTTP服务器。由于批处理执行可能需要很多分钟,因此需要将PHP的最大执行时间配置为高值。

max_execution_time = 100000

使用方法

以下是可用的启动模式列表:

使用PHP,可以以批量模式或从浏览器启动应用程序。

通过shell使用PHP

在批量模式下,可以按照以下方式启动应用程序

php ./decryptor_v01.php --language=FR --mode=M1

language参数可以是EN以加载英语词典,FR以加载法语词典,ES以加载西班牙语词典,LAT以加载拉丁语词典。

MODE参数代表分析密码的算法。

上传的结果将以JSON格式输入到./results/outcome.log中


通过浏览器使用PHP

要从浏览器启动应用程序,请在浏览器中输入以下地址

http://SERVER_HOST/oak-island-stone-decryptor/decryptor_v01.php?LANGUAGE=FR&MODE=M1[[&LOG_FILE=Y]]

SERVER_HOST是应用程序安装的服务器地址或本地服务器地址,如果你使用的是本地服务器。

LANGUAGE参数可以是EN以加载英语词典,FR以加载法语词典,ES以加载西班牙语词典,LAT以加载拉丁语词典。

MODE参数代表分析密码的算法。

LOG_FILE 参数是可选的,可以是 Y 以保存结果并在浏览器上始终以 JSON 格式显示,同时也在 ./results/outcome.log 文件中以 JSON 格式保存;N 表示不在日志文件中保存结果,只以 JSON 格式在浏览器上显示。


LUA 使用

即将推出


贡献

该项目起源于一个游戏,旨在练习学习 Dart 和 Lua。我也希望它成为分享想法和与其他开发者或相关方讨论的起点。任何感兴趣的人都可以给我写信 Luca Tacconi 或在仓库上打开一个 issue。非常欢迎贡献 ❤️。

致谢

许可协议

奥克岛90英尺石头解密器 采用 MIT 许可协议。更多信息请参见 许可文件