飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 29619|回复: 96

[原创] WinRAR的,注册机

    [复制链接]
  • TA的每日心情
    开心
    2020-3-18 10:20
  • 签到天数: 10 天

    [LV.3]偶尔看看II

    发表于 2018-8-19 19:45:54 | 显示全部楼层 |阅读模式
    WinRAR的,注册机
    1.什么是WinRAR?
    WinRAR是Windows的试用文件归档实用程序,由win.rar GmbH的Eugene Roshal开发。

    它可以以RAR或ZIP文件格式创建和查看存档,并解压缩多种存档文件格式。

    WinRAR不是免费软件。如果要使用它,您应该向RARLAB付款,然后您将获得名为“rarreg.key”的许可证文件。

    此存储库将告诉您如何生成WinRAR许可证文件“rarreg.key”。

    2.如何生成“rarreg.key”?
    WinRAR使用签名算法,它是中国SM2数字签名算法的变体,用于处理用户的姓名和他/她获得的许可证类型。将结果保存到“rarreg.key”并添加一些标题信息,然后生成许可证文件。

    下面将讨论WinRAR使用的签名算法的详细信息以及WinRAR如何处理用户名和他/她的许可类型。

    2.1。签名算法
    WinRAR使用ECC(椭圆曲线密码术)进行签名。它使用的椭圆曲线在复合有限域FiniteField上,其中基本有限域的本原多项式为:


    并且扩展有限域的本原多项式是:


    椭圆曲线方程是:


    设G是签名期间使用的基点。确切的值是:

    auto G = ecCurve.GetPoint({// X,表示多项式
      0x38CC,0x052F,0x2510,0x45AA,//通过GF((2 ^ 15)^ 17),第一项
      0x1B89,0x4468,0x4882,0x0D67,//位于前面。
      0x4FEB,0x55​​CE,0x0025,0x4CB7,
      0x0CC2,0x59DC,0x289E,0x65E3,
      0x56FD
    },{// Y,表示多项式
      0x31A7,0x65F2,0x18C4,0x3412,//通过GF((2 ^ 15)^ 17),第一项
      0x7388,0x54C1,0x539B,0x4A02,//位于前面。
      0x4D07,0x12D6,0x7911,0x3B5E,
      0x4F0E,0x216F,0x2BF2,0x1974,
      0x20DA
    });
    P是签名期间将使用的顺序。确切的值是:

    const uint64_t P [4] = {// P = 0x1026dd85081b82314691ced9bbec30547840e4bf72d8b5e0d258442bbcd31
        0x5e0d258442bbcd31,
        0x0547840e4bf72d8b,
        0x2314691ced9bbec3,
        0x0001026dd85081b8
    };
    2.1.1生成PrivateKey PrivateKey,随机数K和Hash e
    要生成PrivateKey PrivateKey,随机数K和散列e,我们需要两个字节数组。我们称它们为in_data和in_private。它们的长度分别为in_data_length和in_private_length。

    PrivateKey由in_private生成。
    e由in_data生成。
    K由in_data和in_private生成。

    为了更好地理解,我在这里给出一个案例:

    byte in_private [7] = {'P','h','a','n','t','o','m'};
    byte in_data [9] = {'L','a','b','y','r','i','n','t','h'};
    其中in_private_length为7,in_data_length为9。

    2.1.1.1 PrivateKey的生成。
    计算in_private的SHA-1摘要。

    在我给出的情况下,它应该是:

    byte in_private_sha1 [] = {//标准sha-1值为:{
        0xc0,0x16,0x3f,0x02,// 0x02,0x3f,0x16,0xc0,
        0x78,0x4b,0xac,0x8c,// 0x8c,0xac,0x4b,0x78,
        0xaf,0x97,0x0d,0xe6,// 0xe6,0x0d,0x97,0xaf,
        0xd9,0x46,0xa4,0x91,// 0x91,0xa4,0x46,0xd9,
        0xdc,0xb3,0xbf,0x06 // 0x06,0xbf,0xb3,0xdc
    }; //}
    注意:与标准SHA-1计算相比,WinRAR反转了每个32位块。

    如果in_private为null,则使用默认值:

    byte in_private_sha1 [] = {
        0x81,0xb7,0x3e,0xeb,
        0x29,0x53,0x26,0x50,
        0xa3,0xf4,0x5e,0xdc,
        0xd5,0xb9,0x47,0x68,
        0x4c,0x3b,0xe4,0xcd
    };
    它可能是RARLAB中使用的一些秘密数据的SHA-1摘要

    要获取PrivateKey的每个部分,请执行15轮SHA-1计算:

    1.让我的uint32_t从1到15变化。

    2.在每一轮中,我们计算一个24字节长字节数组的SHA-1摘要,它是i(little-endian)和src_data_sha1的组合。然后取前两个字节并将它们附加到PrivateKey的末尾。

    之后,PrivateKey应该是一个30字节长,其值是:



    在我给出的情况下,PrivateKey是:

    byte PrivateKey [30] = {// PrivateKey = 0xb7e256217a67f14e3fb4246e889ea18b69b246616e04525e96d515831f2a
        0x2a,0x1f,0x83,0x15,//这是一个240位长的整数。
        0xd5,0x96,0x5e,0x52,
        0x04,0x6e,0x61,0x46,
        0xb2,0x69,0x8b,0xa1,
        0x9e,0x88,0x6e,0x24,
        0xb4,0x3f,0x4e,0xf1,
        0x67,0x7a,0x21,0x56,
        0xe2,0xb7
    };
    在我的代码中,我使用uint64_t [4]数组来存储它。

    2.1.1.2 K和e的生成。
    在生成PrivateKey期间,存在一个临时的24字节长字节数组。在所有15轮之后,临时字节数组应该是uint32_t(15)(little endian)和src_data_sha1的组合。

    在我给出的情况下,它应该是:

    byte in_private_sha1_temp [] = {
        0x0f,0x00,0x00,0x00,
        0xc0,0x16,0x3f,0x02,
        0x78,0x4b,0xac,0x8c,
        0xaf,0x97,0x0d,0xe6,
        0xd9,0x46,0xa4,0x91,
        0xdc,0xb3,0xbf,0x06
    }

    winrar-keygen-src.zip (26.48 KB, 下载次数: 462)

    评分

    参与人数 17威望 +73 飘云币 +47 收起 理由
    ahxuansheng00 + 1 + 1 PYG有你更精彩!
    lion1986 + 1 + 1
    Arsage + 1 + 1 PYG有你更精彩!
    年少 + 2 感谢发布原创作品,PYG有你更精彩!
    落日余辉 + 4 感谢发布原创作品,PYG有你更精彩
    TheGodFather + 4 PYG有你更精彩!
    daoben + 4 原创精品 感谢分享!
    GeekCat + 20 + 40 赞一个,这个帖子很给力!
    lucky_789 + 4 PYG有你更精彩!
    zhouhualin + 1 赞一个,这个帖子很给力!

    查看全部评分

    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2022-11-20 13:19
  • 签到天数: 102 天

    [LV.6]常住居民II

    发表于 2018-8-19 20:50:40 | 显示全部楼层
    这个需要,收藏了
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    1 小时前
  • 签到天数: 1521 天

    [LV.Master]伴坛终老

    发表于 2018-8-19 21:11:50 | 显示全部楼层
    这个需要,收藏了
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2022-8-18 19:11
  • 签到天数: 725 天

    [LV.9]以坛为家II

    发表于 2018-8-19 21:20:41 | 显示全部楼层
    分析好详细,楼主费心了
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    昨天 15:01
  • 签到天数: 1479 天

    [LV.10]以坛为家III

    发表于 2018-8-19 22:49:13 | 显示全部楼层
    分析的很清楚,楼主很厉害。
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    昨天 13:05
  • 签到天数: 1271 天

    [LV.10]以坛为家III

    发表于 2018-8-19 23:38:06 | 显示全部楼层
    这个软件还是很强大的。
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-9-5 05:43
  • 签到天数: 23 天

    [LV.4]偶尔看看III

    发表于 2018-8-20 06:34:19 | 显示全部楼层
    好强大呀,可以破解winrar压缩文件的密码吗?
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2020-3-18 10:20
  • 签到天数: 10 天

    [LV.3]偶尔看看II

     楼主| 发表于 2018-8-20 07:38:26 | 显示全部楼层
    shixin 发表于 2018-8-20 06:34
    好强大呀,可以破解winrar压缩文件的密码吗?

    那是不可能的
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2024-2-3 20:23
  • 签到天数: 448 天

    [LV.9]以坛为家II

    发表于 2018-8-20 08:07:01 | 显示全部楼层
    谢谢分享,下载收藏。
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    前天 21:05
  • 签到天数: 1598 天

    [LV.Master]伴坛终老

    发表于 2018-8-20 08:09:41 | 显示全部楼层
    太牛了,谢谢楼主!
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表