• 注册
  • SPTarkov 动态 SPTarkov 动态 关注:159 内容:48

    隆重推出 CRYPT模组 Introducing CRYPT mod

  • 查看作者
  • 打赏作者
  • 当前位置: ODDBA社区 > SPTarkov 动态 > 正文
    • 26
    • SPTarkov 动态
    • SPT主创
      初窥堂奥
      VIP2
      SPTarkov项目组

      隆重推出 CRYPT模组 Introducing CRYPT mod

      (翻译自@Sarix)

      Are you tired of having your work stolen?

      对自己的作品被盗用厌烦了吗?

      Seeing “businessman” selling your work at a profit?

      发现有倒爷拿你的作品出售牟利?

      Insulting you and spitting in your face?

      还侮辱你朝你脸上吐口水?

      Resent no more.

      不用再背地怨恨他们了。不用再忍耐了

      Introducing CRYPT

      现介绍CRYPT(秘谜)功能

      This advanced system is designed from the ground up utilizing custom algorithms, state-of-the-art technology and innovation.

      秘谜是一款纯手工打造,使用独家算法、高端科技和创新的系统。

      No one will be able steal your work again.

      使用这款系统,没人能够再盗取您的作品牟利。

      The workflow is optimized for content creation and productivity so you can develop mods without barriers.

      系统的工作流程专门为创作和生产力优化,让您可以不受阻碍地开发模组。

      …alright, I'm already getting tired of writing a soulless corporation landing page advertisement for my mod [s-25]

      Translation results

      …行吧,这波毫无灵魂的公司产品宣传文案已经让我够厌烦了 [s-25]

      I always believe that the product should speak for itself, and I think it would be much more of interest anyway.

      我一向认为产品的能力应当是不证自明才对,而且这样可比吹嘘要有趣多了。

      隆重推出 CRYPT模组 Introducing CRYPT mod


      Workflow 

      工作流程:

      When the full release is made, I intent to have the workflow like this:

      我在秘谜完全推出后,对其工作流程是这样打算的:

      – main.js > your secured mod code, responsible for loading encrypted assets, is compiled
      – mod.js > loads main.js
      – “senko-encrypt” > a mod to encrypt your existing mods, you will need to make some manual edits.

      – main.js > 您的受加密保护的模组代码,负责加载加密过的资产文件。通过编译获得。

      – mod.js > 负责加载main.js

      – “senko-encrypt” > 一款加密您现有的模组文件的模组。您需要对这个模组进行一点手动编辑。

      Before you ship your mod, you encrypt the mod and validate that everything is still working as intended after encryption.

      在您发布模组之前,您需要对模组进行加密,并验证在加密之后模组工作依然符合预期。

      Loading encrypted mods

      // — package.json

      {
          “name”: “example”,
          “author”: “senko”,
          “version”: “1.0.0”,
          “akiVersion”: “2.2.*”,
          “license”: “NCSA”,
          “main”: “mod.js”,
          “dependencies”: {
              “senko-crypt”: “1.0.0”
          }
      }

      // — mod.json

      “use strict”;

      class Mod
      {
          static name = “senko-example”;

          constructor()
          {
              ModLoader.onLoad[Mod.name] = Mod.onLoadMod;
          }

          static onLoadMod()
          {
              // load encrypted mod
              const program = CryptApi.loadJs(Mod.name, “src/main.jsc”);
              program.main();
          }
      }

      module.exports = new Mod();

      // — src/main.js

      “use strict”

      class Program
      {
          static main()
          {
              const modname = “senko-example”;
              Logger.info(`Loading ${modname}…`);

              // set key for encryption
              const key = 133742069;
              CryptApi.useKey(modname, key);

              // load encrypted assets
              CryptApi.loadBundles(modname, “bundles.crypt”);
              CryptApi.loadImage(modname, “img/lamy.crypt”, “/img/lamy”);

              // load encrypted json
              const bundles = CryptApi.loadJson(modname, key, “bundles.crypt”);
              Logger.log(bundles.manifest);
          }
      }

      module.exports = Program;

      隆重推出 CRYPT模组 Introducing CRYPT mod


      Why a new system?

      为什么要做这一套系统?

      But yeah, long story short: english modders got their work stolen by a group called “Altered Escape” and I remember the days we had no answer to MIRAKI's mods being stolen.

      行吧,长话短说:英语模组作者的作品被一个名为”Altered Escape”的组织盗用了,而我清晰记得我们当时对MIRAKI的模组被盗用束手无策的那段时光。

      I'm tired of these merchants and being powerless against it so I ended up writing this as a response.

      我已经对这些“倒爷”和我们对他们无能为力的样子感到厌烦了,所以最后我写了这段文字和代码作为反击。

      It's not the first time a protected modloader has been written, and it probably won't be the last.

      这并不是我们第一次开发这样的模组加密保护系统,或许也不会是最后一次。

      SmallMaio did a great job with SPT-MKI, one of the first to allow bundled mods to load.

      SmallMiao【注:Senko在这里出现了笔误,我修正了】开发了SPT-MKI,最早允许加载捆绑模组的Aki版本之一,做得很棒。

      However, it wasn't optimal; it required rebuilding the server for every new AKI release to include the protection systems, and these were still exposed through scripting.

      但是MKI并不是最优解,它需要通过重新编译生成服务器的方法为每一个版本的Aki提供保护,而这些保护措施依然可以通过脚本暴露公开。

      Later on we got SUPERMOD, which is a much stronger encryption, but uses online DRM which sadly is not compatible with hub.sp-tarkov.com.

      之后出现了超级模块——Supermod,使用更加强大的加密,但是超级模块还使用了一款在线数字版权管理系统(DRM),而这系统与隆重推出 CRYPT模组 Introducing CRYPT modhub.sp-tarkov.com并不兼容。

      This new system is designed as a compromise; I cannot get the protection of online-DRM, but I can make the protection itself even harder than SUPERMOD to prevent modifications to the files. This allows for releasing mods worldwide.

      秘谜系统是作为折中方案开发的:我可以舍弃在线DRM的保护,但是我可以让加密保护比超级模块更加安全,防止模组文件受到改动。这样就可以让模组在全球范围内安全发布。

      Development status

      开发状况:

      The current prototype is being tested by SamSWAT, TheKatto, Choccy and others in order to ensure both simple and advanced workflows will be able to adapt to the new system.

      目前的秘谜原型正由SamSWAT, TheKatto, Choccy和其他模组作者测试,以保证工作流程可以正常适应新系统,不论简繁。

      It is semi-functional, some bugs need to be fixed before final release.

      秘谜现在有简易的功能性,在最后发布之前还需要修复一些bug.

      How good is its protection?

      保护性能如何?

      Short answer: more than sufficient.

      长话短说:够用了。

      Long answer: as long as you don't make mistakes in exposing the decryption key, it is very hard to crack.

      短话长说:只要别搞出暴露解密密钥的失误,那秘谜系统的破解会是十分困难的。

      Which encryptor should I use?

      我们模组作者该用哪种加密系统呢?

      “We from <company> recommend <company product>”  [s-15] .

      “我们【此处插入公司名】推荐【此处插入自家公司的产品名字】”

      Jokes aside, it depends on the scale for your mod and where you want to host it.

      玩笑开完了。这取决于你的模组的规模大小和你想在哪里发布你的模组。

      Worldwide releases? CRYPT will manage just fine.

      全球发行?秘谜搞定。

      Want additional security on top and only release on oddba? Use SUPERMOD.

      想要点额外的安全保护,而且只在oddba上发行?超级模块就好了。

      Closing thoughts

      结束语

      There is still a bit of work to be done, but it's a good step in the right direction.

      秘谜还需要一些开发和打磨,但是这是朝正确的方向迈出的重要的一步。

      I hope we can later standardize mod encryption while allowing for online-DRM to remain for oddba.

      我希望以后可以做到将模组加密标准化,但同时保留oddba的在线DRM系统。

      I hope this will also encourage more people to host mods on hub.sp-tarkov.com as well  [s-10] 

      我也希望这款系统能鼓励更多人在隆重推出 CRYPT模组 Introducing CRYPT modhub.sp-tarkov.com上发布他们的模组。 [s-10]

      圆转纯熟
      VIP2

      Long answer: as long as you don't make mistakes in exposing the decryption key, it is very hard to crack.

      长答案:只要你在暴露解密密钥时不犯错误,就很难破解。

      Should be:"长答案:只要你不犯错导致秘钥暴露,将会很难被破解。" [s-44]

    • Senko-sanThank you very much for the correction! Using machine translation [s-10] 非常感谢您的指正! 使用机器翻译 [s-10]
      拉黑 7个月前 电脑端回复
    • Elohim [s-72] Yeah machine translation sometimes really fxxked, what I got the meaning from that sentence in your post is:"If you don't [make any mistake] while [ exposing your decryption key]...blahblah"
      拉黑 7个月前 电脑端回复
    • Elohim @Senko-san BTW, SUPERMOD made very cool protection of bundles, I'd have some problem while making my plugin for SUPERMOD so I run to SPTHUB asked Ereshkigal for some help, and I finally solved my problem by decryped SUPERMOD.. [s-55]
      拉黑 7个月前 电脑端回复
    • 回复
      渐入佳境

      great, now can give those thieves a hard blow [s-49]

      回复
      初窥堂奥

      Thank you very much for telling me that the module can be encrypted to prevent theft, but I don't want to rely on the module now. I just want to rely on the modification of pure file text to achieve the effect I need, rather than loading a large number of module plug-ins to achieve the effect I need. Although the module is great, the text I modify can also achieve the effect I need, Hope to keep the text open, thank you

    • kmyuhkyukThis is for bundle encrypt.prevent bundle theft [s-70]
      拉黑 7个月前 手机端回复
    • 回复
      初窥堂奥

      For example, I need to change the size of the backpack. I can implement it by modifying the text. Although it is more troublesome, it can be implemented without loading any modules, which can make the game more smooth. Of course, this is just what I think

      回复
      略有小成
      2021

      社区还有外国人吗 [s-26] 震撼我妈一整年

      回复
      初窥堂奥
      赠送了礼物[赞]
      回复
      渐入佳境

      A good news .

      回复
      自成一派
      VIP4
      2021

      wat a nice new to us XD

      回复
      圆转纯熟

      没看明白大致意思,是指mod模块加密阻止别人盗取吗

    • kmyuhkyuk是的,加密bundle防止针对资产包的盗窃行为
      拉黑 7个月前 电脑端回复
    • 回复

      迎春!

      回复

      请登录之后再进行评论

      登录
    • 签到
    • 任务
    • 发布
    • 偏好设置
    • 帖子间隔 侧栏位置: