Wang 发布的文章

  • 清理并备份原有仓库配置

    cd /etc/yum.repos.d/
    mkdir backup
    mv *.repo backup/
  • 使用国内镜像源加速

    cat <<EOF > /etc/yum.repos.d/CentOS-Vault.repo
    [base]
    name=CentOS-8 - Base
    baseurl=https://mirrors.aliyun.com/centos-vault/8.5.2111/BaseOS/x86_64/os/
    gpgcheck=1
    gpgkey=https://mirrors.aliyun.com/centos-vault/RPM-GPG-KEY-CentOS-Official
    enabled=1
    
    [appstream]
    name=CentOS-8 - AppStream
    baseurl=https://mirrors.aliyun.com/centos-vault/8.5.2111/AppStream/x86_64/os/
    gpgcheck=1
    gpgkey=https://mirrors.aliyun.com/centos-vault/RPM-GPG-KEY-CentOS-Official
    enabled=1
    
    [extras]
    name=CentOS-8 - Extras
    baseurl=https://mirrors.aliyun.com/centos-vault/8.5.2111/extras/x86_64/os/
    gpgcheck=1
    gpgkey=https://mirrors.aliyun.com/centos-vault/RPM-GPG-KEY-CentOS-Official
    enabled=1
    EOF
  • 或者使用官方源

    cat <<EOF > /etc/yum.repos.d/CentOS-Vault.repo
    [base]
    name=CentOS-8 - Base
    baseurl=http://vault.centos.org/8.5.2111/BaseOS/x86_64/os/
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
    enabled=1
    
    [appstream]
    name=CentOS-8 - AppStream
    baseurl=http://vault.centos.org/8.5.2111/AppStream/x86_64/os/
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
    enabled=1
    
    [extras]
    name=CentOS-8 - Extras
    baseurl=http://vault.centos.org/8.5.2111/extras/x86_64/os/
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
    enabled=1
    EOF
  • 清理 YUM 缓存并重新生成

    yum clean all
    yum makecache

  1. 生成snk(如果有则跳过):

    sn -k MyKeyPair.snk
  2. 生成公钥文件

    sn -p MyKeyPair.snk MyKeyPair.Public.snk
  3. 显示公钥

    sn -tp MyKeyPair.Public.snk

  1. 反汇编 DLL

    ildasm /all /out:Assembly.il YourAssembly.dll
  2. 修改 IL 文件
    在生成的 Assembly.il 文件中添加强名称密钥引用:

    .assembly YourAssembly
    {
      .publickey = (生成的公钥令牌)
      .ver 1.0.0.0
    }

    如:

      .publickey = (00 24 00 00 04 80 00 00 94 00 00 00 06 02 00 00   // .$..............
                 00 24 00 00 52 53 41 31 00 04 00 00 01 00 01 00   // .$..RSA1........
                 17 51 79 E3 E5 00 53 AA 1D 7C 9D 09 31 0D D2 AE   // .Qy...S..|..1...
                 CD 6E 80 FF C7 33 14 9E CD 64 AA 2E F1 D0 A7 0C   // .n...3...d......
                 BF 92 D4 70 E1 7E 42 60 AF 61 21 63 5F 68 03 07   // ...p.~B`.a!c_h..
                 A2 A3 B3 96 AC BC 38 BC 46 19 33 D9 9D 30 07 21   // ......8.F.3..0.!
                 FC 8D FC 8F 89 C0 8A 33 80 69 59 3B 36 54 3F A2   // .......3.iY;6T?.
                 5F 1D CF 63 44 43 2C 40 E0 4D CB 1D 1C 18 DB C5   // _..cDC,@.M......
                 14 DC C9 A6 35 AF 28 3F 44 E1 E9 8B 06 6D 70 8B   // ....5.(?D....mp.
                 0F F5 7E 92 6C AB 3D 1B 0D 41 7E 34 E4 1A 45 E1 ) // ..~.l.=..A~4..E.
    
  3. 创建强名称密钥(如果没有):

    sn -k MyKeyPair.snk
  4. 重新汇编

    ilasm /dll /key=MyKeyPair.snk /output=YourAssembly_Signed.dll Assembly.il