使用XOR下载链接加密

本文关键字:加密 链接 下载 XOR 使用 | 更新日期: 2023-09-27 18:28:01

我能得到一些帮助吗?因为我很困惑。我复制粘贴了一个XOR加密类,并对我的网站上托管的Minecraft Mod Installer.exe的下载链接进行了XOR加密。然而,当我编写以下代码时,我总是遇到错误,因为文本输入不是正确的Uri。有没有办法让我做这件事?低于的SSCCE

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Diagnostics;
using System.IO;
using System.Net;
    private void startButton_Click(object sender, EventArgs e)
    {
        startButton.Enabled = false;
        WebClient client = new WebClient();
        client.DownloadProgressChanged += new DownloadProgressChangedEventHandler(client_DownloadProgressChanged);
        client.DownloadDataCompleted += new DownloadDataCompletedEventHandler(client_DownloadDataCompleted);
        client.DownloadDataAsync(new Uri(EncryptorDecryptor.EncryptDecrypt("8a33b8a537d4e17ec4ac7041df43d892821c16dc15cf84fb33a672ab76c72119126f9c4849cf55423b0112c4b4")), Path.GetTempPath() + "mcmodinstaller.exe");
    }
    void client_DownloadDataCompleted(object sender, DownloadDataCompletedEventArgs e)
    {
        MessageBox.Show("Successful!",
        "Download",
        MessageBoxButtons.OK,
        MessageBoxIcon.Information);
        Process.Start(Path.GetTempPath() + "mcmodinstaller.exe");
        startButton.Enabled = true;
    }
            void client_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
    {
        downloadBar.Maximum = (int)e.TotalBytesToReceive / 100;
        downloadBar.Value = (int)e.BytesReceived / 100;
    }
    public static class EncryptorDecryptor
    {
        public static int key = 3;
        public static string EncryptDecrypt(string textToEncrypt)
        {
            StringBuilder inSb = new StringBuilder(textToEncrypt);
            StringBuilder outSb = new StringBuilder(textToEncrypt.Length);
            char c;
            for (int i = 0; i < textToEncrypt.Length; i++)
            {
                c = inSb[i];
                c = (char)(c ^ key);
                outSb.Append(c);
            }
            return outSb.ToString();
        }
    }
    }

提前感谢,我是C#的新手,这是我的第一个真正的项目。

使用XOR下载链接加密

您从哪里获得8a33b8a537d4e17ec4ac7041df43d892821c16dc15cf84fb33a672ab76c72119126f9c4849cf55423b0112c4b4

用指定的密钥"3"通过解码器运行它给出:

0ab0gf4 b47g7g:;22g2;e0b4b4 1225:77 67032 `a

显然,没有什么比得上有效的URI。我已经尝试了一些快速的方法,看看是否可以得到一些合理的结果(比如将值从十六进制转换为字节),但没有出现任何合理的结果。

如果你是C#的新手,并且这是你的第一个真正的项目,你应该把它分解成更容易的部分。确保您可以获取任何字符串,用EncryptorDecryptor对其进行编码,然后对结果进行解码以获得相同的值。然后,抛开加密,确保你可以从你的网站下载任何正常的文件。当你同时工作时(了解它们是如何工作的,更重要的是,了解它们失败时的行为),将两者结合起来。