NetEase-Cloud-Music-UWP-Repack icon indicating copy to clipboard operation
NetEase-Cloud-Music-UWP-Repack copied to clipboard

希望出一份自己打包的教程

Open CHN-STUDENT opened this issue 4 years ago • 5 comments

RT 希望出一份自己打包的教程,方便我们自己搞事情。 感谢您!

CHN-STUDENT avatar May 31 '20 01:05 CHN-STUDENT

大概步骤,详细步骤以后有空写:

1、AppxBundle 和 Appx 文件就是压缩包,可以用 7z 之类的工具解压。

2、修改 Appx 解压出的文件夹里的 AppxManifest.xml,把 Identity 里的 Publisher 改成 "CN=你的名字"。

3、装 Visual Studio UWP SDK,然后用 SDK 里的 makeappx.exesigntool.exe 两个工具。我电脑上这两个工具在 C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x64\ 里。

4、把 Appx 解压出的文件夹用 makeappx.exe 打包成 appx 文件。再用你的名字做个自签名证书,用 signtool.exe 签名 appx 文件。

makeappx.exe pack /d Appx解压出的文件夹 /p 打包文件.appx 
signtool.exe sign /debug /fd sha256 /a /f 你的证书.pfx 打包文件.appx
脚本备忘
$makeappx = (Get-ChildItem "C:\Program Files (x86)\Windows Kits\10\bin\10.0.*\x64\makeappx.exe")[0]
$signtool = (Get-ChildItem "C:\Program Files (x86)\Windows Kits\10\bin\10.0.*\x64\signtool.exe")[0]

& $makeappx pack /d .\Package\ /p Package.appx /o

$cert = New-SelfSignedCertificate -Type Custom -Subject "CN=esaeten" -KeyUsage DigitalSignature -FriendlyName "esaeten" -CertStoreLocation "Cert:\CurrentUser\My" -TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.3", "2.5.29.19={text}") -NotAfter (Get-Date).AddYears(100)
$password = ConvertTo-SecureString -String esaeten -Force -AsPlainText
Export-PfxCertificate -cert "Cert:\CurrentUser\My\$($cert.Thumbprint)" -FilePath esaeten.pfx -Password $password
Remove-Item "Cert:\CurrentUser\My\$($cert.Thumbprint)"
& $signtool sign /debug /fd sha256 /a /f .\esaeten.pfx /p esaeten Package.appx

JasonWei512 avatar May 31 '20 03:05 JasonWei512

@JasonWei512 好的感谢您,我刚用了下UnblockNeteaseMusic 然后发现重新打包的sid变了,因此希望您说明一下。 另外我在设想能不能写一个脚本,自动启动这个解锁服务器代理和网易云,然后脚本监听网易云主程序是否还在运行,若不运行自动退出,您是否有高见呢?感谢

CHN-STUDENT avatar May 31 '20 03:05 CHN-STUDENT

那个证书怎么弄啊,哭了

xiexiaosheng avatar Jan 12 '21 05:01 xiexiaosheng

你可以使用PowerShell自带的证书创建功能。

New-SelfSignedCertificate -Type Custom -Subject "CN=<你的证书名>" -KeyUsage DigitalSignature -FriendlyName "<友好名称>" -CertStoreLocation "Cert:\CurrentUser\My" -TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.3", "2.5.29.19={text}") -NotBefore (Get-Date) -NotAfter (Get-Date).AddYears(<生效年数>)

你的证书名:点开证书后的“颁发给”

友好名称:详细信息-友好名称 里显示的东西,可能类似于...备注?
TextExtension:我也不太懂的参数详见微软官方文档
CertStoreLocation:证书存储路径,这个是证书管理器里的路径,不是文件资源管理器里的路径!
生效年数:填1就是从现在起生效1年,以此类推。如果你想设个几个月的有效期,就请把AddYears改成AddMonths。

建好后win+r输入certmgr.msc打开证书管理器,进入个人-证书,应该就能看到这个证书。然后把它导出为pfx即可。

如果pfx设了密码(最好设个密码,官方文档好像说不设密码会出问题),到时候签名时记得在 /f 证书.pfx 后加一个 /p 证书的密码

virtual-panda avatar Sep 16 '22 19:09 virtual-panda

写了篇更详细的教程,不过打包的是“照片”App https://github.com/PandaFiredoge/PhotosUWP

PandaFiredoge avatar Apr 17 '24 09:04 PandaFiredoge