From 393ba8d240cbc5963af45c6da11fa9436486b0c3 Mon Sep 17 00:00:00 2001 From: moyuwa <984591400@qq.com> Date: Mon, 30 Dec 2024 15:24:18 +0800 Subject: [PATCH] =?UTF-8?q?20241230=201=E3=80=81=E6=B7=BB=E5=8A=A0GooglePl?= =?UTF-8?q?ay=E5=8A=A0=E5=9B=BA=E7=89=B9=E5=BE=81=202=E3=80=81=E4=B8=B4?= =?UTF-8?q?=E6=97=B6=E5=8F=96=E6=B6=88V2=E7=AD=BE=E5=90=8D=E9=AA=8C?= =?UTF-8?q?=E8=AF=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/test.txt | 0 data/apkpackdata.json | 15 +++++++ src/ACPverifyAllSignatureVersions.go | 60 ++++++++++++++-------------- src/PackJsonData.go | 2 +- src/SDKByLibSo.go | 22 +++++----- src/main.go | 4 +- windows_linux_darwin_amd64.bat | 8 +++- 7 files changed, 68 insertions(+), 43 deletions(-) delete mode 100644 bin/test.txt diff --git a/bin/test.txt b/bin/test.txt deleted file mode 100644 index e69de29..0000000 diff --git a/data/apkpackdata.json b/data/apkpackdata.json index 55ca556..324903e 100644 --- a/data/apkpackdata.json +++ b/data/apkpackdata.json @@ -681,6 +681,21 @@ "soregex": [ ] }, + "google(play)加固": { + "sopath": [ + "lib/arm64-v8a/libpairipcore.so", + "lib/armeabi-v7a/libpairipcore.so", + "lib/x86_64/libpairipcore.so", + "lib/x86/libpairipcore.so" + ], + "soname": [ + "libpairipcore.so" + ], + "other": [ + ], + "soregex": [ + ] + }, "未知厂商": { "sopath": [ ], diff --git a/src/ACPverifyAllSignatureVersions.go b/src/ACPverifyAllSignatureVersions.go index 1626997..a1ad3df 100644 --- a/src/ACPverifyAllSignatureVersions.go +++ b/src/ACPverifyAllSignatureVersions.go @@ -1,31 +1,33 @@ package main -import ( - "fmt" - "github.com/avast/apkverifier" - "os" -) - -func verifyApk(apkpath string) bool { - //读取配置 - res, err := apkverifier.Verify(apkpath, nil) - if err != nil { - fmt.Fprintf(os.Stderr, "Verification failed: %s\n", err.Error()) - return false - } - //判断是否为V1版本 - if res.SigningSchemeId == 1 { - fmt.Printf("Verification scheme used: v%d 版本签名,有Janus漏洞!\n", res.SigningSchemeId) - } else { - fmt.Printf("Verification scheme used: v%d 版本签名,无Janus漏洞!\n", res.SigningSchemeId) - } - //输出相信信息 - cert, _ := apkverifier.PickBestApkCert(res.SignerCerts) - if cert == nil { - fmt.Printf("No certificate found.\n") - } else { - fmt.Println(cert) - } - - return true -} +//20241230 临时取消签名验证 减小程序体积 +// +//import ( +// "fmt" +// "github.com/avast/apkverifier" +// "os" +//) +// +//func verifyApk(apkpath string) bool { +// //读取配置 +// res, err := apkverifier.Verify(apkpath, nil) +// if err != nil { +// fmt.Fprintf(os.Stderr, "Verification failed: %s\n", err.Error()) +// return false +// } +// //判断是否为V1版本 +// if res.SigningSchemeId == 1 { +// fmt.Printf("Verification scheme used: v%d 版本签名,有Janus漏洞!\n", res.SigningSchemeId) +// } else { +// fmt.Printf("Verification scheme used: v%d 版本签名,无Janus漏洞!\n", res.SigningSchemeId) +// } +// //输出相信信息 +// cert, _ := apkverifier.PickBestApkCert(res.SignerCerts) +// if cert == nil { +// fmt.Printf("No certificate found.\n") +// } else { +// fmt.Println(cert) +// } +// +// return true +//} diff --git a/src/PackJsonData.go b/src/PackJsonData.go index aafd3bd..3a2150c 100644 --- a/src/PackJsonData.go +++ b/src/PackJsonData.go @@ -17,7 +17,7 @@ type ApkPackJson struct { func GetApkPackMap() map[string]ApkPackJson { //base64编码后的json字符串 - apkpackdata := "ewogICIzNjDliqDlm7oiOiB7CiAgICAic29wYXRoIjogWwogICAgICAiYXNzZXRzL2xpYmppYWd1LnNvIgogICAgXSwKICAgICJzb25hbWUiOiBbCiAgICAgICJsaWJqaWFndS5zbyIsCiAgICAgICJsaWJqZ2R0Yy5zbyIsCiAgICAgICJsaWJqZ2R0Y19hNjQuc28iLAogICAgICAibGliamdkdGNfYXJ0LnNvIiwKICAgICAgImxpYmpnZHRjX3g2NC5zbyIsCiAgICAgICJsaWJqZ2R0Y194ODYuc28iLAogICAgICAibGliamlhZ3Uuc28iLAogICAgICAibGliamlhZ3VfYTY0LnNvIiwKICAgICAgImxpYmppYWd1X2FydC5zbyIsCiAgICAgICJsaWJqaWFndV9scy5zbyIsCiAgICAgICJsaWJqaWFndV94NjQuc28iLAogICAgICAibGliamlhZ3VfeDg2LnNvIiwKICAgICAgImxpYnByb3RlY3RDbGFzcy5zbyIsCiAgICAgICJsaWJTYWZlTWFuYWdlU2VydmljZS5zbyIKICAgIF0sCiAgICAib3RoZXIiOiBbCiAgICAgICJhc3NldHMvLmFwcGtleSIKICAgIF0sCiAgICAic29yZWdleCI6IFsKICAgICAgImxpYmppYWd1XFxfLi4uXFwuc28iLAogICAgICAibGliamdkdGNcXF8uLi5cXC5zbyIKICAgIF0KICB9LAogICJBUEtQcm90ZWN0IjogewogICAgInNvcGF0aCI6IFsKICAgIF0sCiAgICAic29uYW1lIjogWwogICAgICAibGliQVBLUHJvdGVjdC5zbyIKICAgIF0sCiAgICAib3RoZXIiOiBbCiAgICBdLAogICAgInNvcmVnZXgiOiBbCiAgICBdCiAgfSwKICAiYXBrdG9vbHBsdXMiOiB7CiAgICAic29wYXRoIjogWwogICAgICAibGliL2FybWVhYmkvbGliYXBrdG9vbHBsdXNfamlhZ3Uuc28iCiAgICBdLAogICAgInNvbmFtZSI6IFsKICAgICAgImxpYmFwa3Rvb2xwbHVzX2ppYWd1LnNvIgogICAgXSwKICAgICJvdGhlciI6IFsKICAgICAgImFzc2V0cy9qaWFndV9kYXRhLmJpbiIsCiAgICAgICJhc3NldHMvc2lnbi5iaW4iCiAgICBdLAogICAgInNvcmVnZXgiOiBbCiAgICBdCiAgfSwKICAiQ0ZDQeWKoOWbuiI6IHsKICAgICJzb3BhdGgiOiBbCiAgICBdLAogICAgInNvbmFtZSI6IFsKICAgICAgImxpYmJhc2VjLnNvIiwKICAgICAgImxpYmJhc2VjX3g4Ni5zbyIsCiAgICAgICJsaWJzZWNlbmguc28iLAogICAgICAibGlic2VjZW5oX2E2NC5zbyIsCiAgICAgICJsaWJzZWNlbmhfeDg2LnNvIgogICAgXSwKICAgICJvdGhlciI6IFsKICAgICAgIm15X2NsYXNzZXMuamFyIgogICAgXSwKICAgICJzb3JlZ2V4IjogWwoKICAgIF0KICB9LAogICJEZXhQcm90ZWN05Yqg5Zu6IjogewogICAgInNvcGF0aCI6IFsKICAgIF0sCiAgICAic29uYW1lIjogWwogICAgXSwKICAgICJvdGhlciI6IFsKICAgICAgImFzc2V0cy9jbGFzc2VzLmRleC5kYXQiLAogICAgICAiZHAuYXJtLXY3LnNvLmRhdCIsCiAgICAgICJkcC5hcm0uc28uZGF0IgogICAgXSwKICAgICJzb3JlZ2V4IjogWwogICAgXQogIH0sCiAgIk9QUE/lupTnlKjliqDlm7oiOiB7CiAgICAic29wYXRoIjogWwogICAgXSwKICAgICJzb25hbWUiOiBbCiAgICAgICJPUFBPUHJvdGVjdC5zbyIsCiAgICAgICJPUFBPUHJvdGVjdDIwMTkuc28iCiAgICBdLAogICAgIm90aGVyIjogWwogICAgXSwKICAgICJzb3JlZ2V4IjogWwogICAgICAiT1BQT1Byb3RlY3RcXGRcXGRcXGRcXGRcXC5zbyIKICAgIF0KICB9LAogICJPUFBP5a6J5YWo5qOA5rWLU0RLIjogewogICAgInNvcGF0aCI6IFsKICAgICAgImpuaS9hcm02NC12OGEvbGlib21lc1N0ZFNjby5zbyIsCiAgICAgICJqbmkvYXJtZWFiaS12N2EvbGlib21lc1N0ZFNjby5zbyIsCiAgICAgICJqbmkveDg2L2xpYm9tZXNTdGRTY28uc28iLAogICAgICAiam5pL3g4Nl82NC9saWJvbWVzU3RkU2NvLnNvIgogICAgXSwKICAgICJzb25hbWUiOiBbCiAgICAgICJsaWJvbWVzU3RkU2NvLnNvIgogICAgXSwKICAgICJvdGhlciI6IFsKICAgIF0sCiAgICAic29yZWdleCI6IFsKICAgIF0KICB9LAogICJVVeWuieWFqOWKoOWbuiI6IHsKICAgICJzb3BhdGgiOiBbCiAgICAgICJhc3NldHMvbGlidXVzYWZlLmphci5zbyIsCiAgICAgICJhc3NldHMvbGlidXVzYWZlLnNvIiwKICAgICAgImxpYi9hcm1lYWJpL2xpYnV1c2FmZWVtcHR5LnNvIgogICAgXSwKICAgICJzb25hbWUiOiBbCiAgICAgICJsaWJ1dXNhZmUuamFyLnNvIiwKICAgICAgImxpYnV1c2FmZS5zbyIsCiAgICAgICJsaWJ1dXNhZmVlbXB0eS5zbyIKICAgIF0sCiAgICAib3RoZXIiOiBbCiAgICBdLAogICAgInNvcmVnZXgiOiBbCiAgICBdCiAgfSwKICAi5Lit5Zu956e75Yqo5Yqg5Zu6IjogewogICAgInNvcGF0aCI6IFsKICAgICAgImxpYi9hcm1lYWJpL2xpYmNtdm1wLnNvIiwKICAgICAgImxpYi9hcm1lYWJpL2xpYm1vZ29zZWNfZGV4LnNvIiwKICAgICAgImxpYi9hcm1lYWJpL2xpYm1vZ29zZWNfc29kZWNyeXB0LnNvIiwKICAgICAgImxpYi9hcm1lYWJpL2xpYm1vZ29zZWN1cml0eS5zbyIKICAgIF0sCiAgICAic29uYW1lIjogWwogICAgICAibGliY212bXAuc28iLAogICAgICAibGlibW9nb3NlY19kZXguc28iLAogICAgICAibGlibW9nb3NlY19zb2RlY3J5cHQuc28iLAogICAgICAibGlibW9nb3NlY3VyaXR5LnNvIiwKICAgICAgImlibW9nb3NlY3VyaXR5LnNvIgogICAgXSwKICAgICJvdGhlciI6IFsKICAgICAgImFzc2V0cy9tb2dvc2VjX2NsYXNzZXMiLAogICAgICAiYXNzZXRzL21vZ29zZWNfZGF0YSIsCiAgICAgICJhc3NldHMvbW9nb3NlY19kZXhpbmZvIiwKICAgICAgImFzc2V0cy9tb2dvc2VjX21hcmNoIgogICAgXSwKICAgICJzb3JlZ2V4IjogWwogICAgXQogIH0sCiAgIuWHoOe7tOWuieWFqCI6IHsKICAgICJzb3BhdGgiOiBbCiAgICAgICJsaWIvYXJtZWFiaS9rZHBkYXRhLnNvIiwKICAgICAgImxpYi9hcm1lYWJpL2xpYmtkcC5zbyIsCiAgICAgICJsaWIvYXJtZWFiaS9saWJrd3NjbW0uc28iCiAgICBdLAogICAgInNvbmFtZSI6IFsKICAgICAgImtkcGRhdGEuc28iLAogICAgICAibGlia2RwLnNvIiwKICAgICAgImxpYmt3c2NtbS5zbyIsCiAgICAgICJsaWJrd3Njci5zbyIsCiAgICAgICJsaWJrd3NsaW5rZXIuc28iCiAgICBdLAogICAgIm90aGVyIjogWwogICAgICAiYXNzZXRzL2RleC5kYXQiCiAgICBdLAogICAgInNvcmVnZXgiOiBbCiAgICBdCiAgfSwKICAi5ZCv5piO5pif6L6wIjogewogICAgInNvcGF0aCI6IFsKICAgIF0sCiAgICAic29uYW1lIjogWwogICAgICAibGlidmVuU2VjLnNvIiwKICAgICAgImxpYnZlbnVzdGVjaC5zbyIKICAgIF0sCiAgICAib3RoZXIiOiBbCiAgICBdLAogICAgInNvcmVnZXgiOiBbCiAgICBdCiAgfSwKICAi5aic6L+m5Yqg5Zu6IjogewogICAgInNvcGF0aCI6IFsKICAgIF0sCiAgICAic29uYW1lIjogWwogICAgICAibGliY2hhb3N2bXAuc28iLAogICAgICAibGliZGRvZy5zbyIsCiAgICAgICJsaWJmZG9nLnNvIiwKICAgICAgImxpYmhkb2cuc28iCiAgICBdLAogICAgIm90aGVyIjogWwogICAgXSwKICAgICJzb3JlZ2V4IjogWwogICAgICAibGliLmRvZ1xcLnNvIgogICAgXQogIH0sCiAgIuWonOi/puWKoOWbuu+8iOS8geS4mueJiO+8iSI6IHsKICAgICJzb3BhdGgiOiBbCiAgICBdLAogICAgInNvbmFtZSI6IFsKICAgICAgImxpYmVkb2cuc28iCiAgICBdLAogICAgIm90aGVyIjogWwogICAgXSwKICAgICJzb3JlZ2V4IjogWwogICAgXQogIH0sCiAgIuWonOi/puWKoOWbuu+8iOW8gOWPkeiAheivleeUqOeJiC1WTVDvvIkiOiB7CiAgICAic29wYXRoIjogWwogICAgXSwKICAgICJzb25hbWUiOiBbCiAgICAgICJsaWJ2ZG9nLXg4Ni5zbyIsCiAgICAgICJsaWJ2ZG9nLnNvIgogICAgXSwKICAgICJvdGhlciI6IFsKICAgIF0sCiAgICAic29yZWdleCI6IFsKICAgICAgImxpYnZkb2dcXC0uLi5cXC5zbyIKICAgIF0KICB9LAogICLlqJzov6bliqDlm7rvvIjmlrDniYgyMDIy77yJIjogewogICAgInNvcGF0aCI6IFsKICAgICAgImxpYi9hcm1lYWJpL2xpYnhsb2FkZXIuc28iLAogICAgICAibGliL2FybWVhYmktdjdhL2xpYnhsb2FkZXIuc28iLAogICAgICAibGliL2FybTY0LXY4YS9saWJ4bG9hZGVyLnNvIgogICAgXSwKICAgICJzb25hbWUiOiBbCiAgICAgICJsaWJ4bG9hZGVyLnNvIgogICAgXSwKICAgICJvdGhlciI6IFsKICAgICAgImFzc2V0cy9tYWluZGF0YS9mYWtlX2NsYXNzZXMuZGV4IgogICAgXSwKICAgICJzb3JlZ2V4IjogWwogICAgXQogIH0sCiAgIuaihuaihuWuieWFqO+8iOS8geS4mueJiO+8iSI6IHsKICAgICJzb3BhdGgiOiBbCiAgICBdLAogICAgInNvbmFtZSI6IFsKICAgICAgImxpYkRleEhlbHBlci14ODYuc28iLAogICAgICAibGliRGV4SGVscGVyLnNvIgogICAgXSwKICAgICJvdGhlciI6IFsKICAgIF0sCiAgICAic29yZWdleCI6IFsKICAgICAgImxpYkRleEhlbHBlclxcLS4uLlxcLnNvIgogICAgXQogIH0sCiAgIuaihuaihuWuieWFqO+8iOWFjei0ueeJiO+8iSI6IHsKICAgICJzb3BhdGgiOiBbCiAgICAgICJsaWIvYXJtZWFiaS9saWJTZWNTaGVsbC14ODYuc28iLAogICAgICAibGliL2FybWVhYmkvbGliU2VjU2hlbGwuc28iCiAgICBdLAogICAgInNvbmFtZSI6IFsKICAgICAgImxpYlNlY1NoZWxsX2FydC5zbyIsCiAgICAgICJsaWJTZWNTaGVsbC5zbyIsCiAgICAgICJsaWJTZWNTaGVsMS5zbyIsCiAgICAgICJsaWJzZWNleGUuc28iLAogICAgICAibGlic2VjbWFpbi5zbyIKICAgIF0sCiAgICAib3RoZXIiOiBbCiAgICAgICJhc3NldHMvc2VjRGF0YTAuamFyIgogICAgXSwKICAgICJzb3JlZ2V4IjogWwogICAgXQogIH0sCiAgIuaihuaihuWuieWFqO+8iOWumuWItueJiO+8iSI6IHsKICAgICJzb3BhdGgiOiBbCiAgICAgICJsaWIvYXJtZWFiaS9EZXhIZWxwZXIuc28iCiAgICBdLAogICAgInNvbmFtZSI6IFsKICAgICAgIkRleEhlbHBlci5zbyIKICAgIF0sCiAgICAib3RoZXIiOiBbCiAgICAgICJhc3NldHMvY2xhc3Nlcy5qYXIiCiAgICBdLAogICAgInNvcmVnZXgiOiBbCiAgICBdCiAgfSwKICAi5rW35LqR5a6J5Yqg5Zu6IjogewogICAgInNvcGF0aCI6IFsKICAgICAgImxpYi9hcm1lYWJpL2xpYml0c2VjLnNvIgogICAgXSwKICAgICJzb25hbWUiOiBbCiAgICAgICJsaWJpdHNlYy5zbyIKICAgIF0sCiAgICAib3RoZXIiOiBbCiAgICAgICJhc3NldHMvaXRzZSIKICAgIF0sCiAgICAic29yZWdleCI6IFsKICAgIF0KICB9LAogICLmt7Hnm77lronlhajliqDlm7rvvIhWaXJib3ggUHJvdGVjdG9y77yJIjogewogICAgInNvcGF0aCI6IFsKICAgIF0sCiAgICAic29uYW1lIjogWwogICAgICAiaWJ2aXJib3gzMi5zbyIsCiAgICAgICJsaWJ2aXJib3g2NC5zbyIKICAgIF0sCiAgICAib3RoZXIiOiBbCiAgICBdLAogICAgInNvcmVnZXgiOiBbCiAgICAgICJsaWJ2aXJib3guLlxcLnNvIgogICAgXQogIH0sCiAgIueIseWKoOWvhiI6IHsKICAgICJzb3BhdGgiOiBbCiAgICAgICJhc3NldHMvaWptX2xpYi9hcm1lYWJpL2xpYmV4ZWMuc28iLAogICAgICAiYXNzZXRzL2lqbV9saWIvWDg2L2xpYmV4ZWMuc28iLAogICAgICAibGliL2FybWVhYmkvbGliZXhlY21haW4uc28iCiAgICBdLAogICAgInNvbmFtZSI6IFsKICAgICAgImxpYmV4ZWNtYWluLnNvIiwKICAgICAgImxpYmV4ZWMuc28iCiAgICBdLAogICAgIm90aGVyIjogWwogICAgICAiYXNzZXRzL2FmLmJpbiIsCiAgICAgICJhc3NldHMvc2lnbmVkLmJpbiIsCiAgICAgICJpamlhbWkuZGF0IgogICAgXSwKICAgICJzb3JlZ2V4IjogWwogICAgXQogIH0sCiAgIueIseWKoOWvhjPku6Plo7MiOiB7CiAgICAic29wYXRoIjogWwogICAgXSwKICAgICJzb25hbWUiOiBbCiAgICAgICJsaWJleGVjdjMuc28iCiAgICBdLAogICAgIm90aGVyIjogWwogICAgICAiYXNzZXRzL2lqaWFtaTMuYWptIgogICAgXSwKICAgICJzb3JlZ2V4IjogWwogICAgXQogIH0sCiAgIueIseWKoOWvhjXku6Plo7MiOiB7CiAgICAic29wYXRoIjogWwogICAgICAiYXNzZXRzL2xpYmlqbURhdGFFbmNyeXB0aW9uLnNvIgogICAgXSwKICAgICJzb25hbWUiOiBbCiAgICAgICJsaWJpam1EYXRhRW5jcnlwdGlvbi5zbyIKICAgIF0sCiAgICAib3RoZXIiOiBbCiAgICAgICJhc3NldHMvSUpNRGFsLkRhdGEiCiAgICBdLAogICAgInNvcmVnZXgiOiBbCiAgICBdCiAgfSwKICAi54ix5Yqg5a+G5LyB5Lia54mIIjogewogICAgInNvcGF0aCI6IFsKICAgIF0sCiAgICAic29uYW1lIjogWwogICAgXSwKICAgICJvdGhlciI6IFsKICAgICAgImFzc2V0cy9pamlhbWkuYWptIgogICAgXSwKICAgICJzb3JlZ2V4IjogWwogICAgXQogIH0sCiAgIuePiueRmueBteW+oSI6IHsKICAgICJzb3BhdGgiOiBbCiAgICAgICJhc3NldHMvbGlicmVpbmNwLnNvIiwKICAgICAgImFzc2V0cy9saWJyZWluY3BfeDg2LnNvIgogICAgXSwKICAgICJzb25hbWUiOiBbCiAgICAgICJsaWJyZWluY3Auc28iLAogICAgICAibGlicmVpbmNwX3g4Ni5zbyIKICAgIF0sCiAgICAib3RoZXIiOiBbCiAgICBdLAogICAgInNvcmVnZXgiOiBbCiAgICAgICJsaWJyZWluY3BcXF8uLi5cXC5zbyIKICAgIF0KICB9LAogICLnkZ7mmJ/liqDlm7oiOiB7CiAgICAic29wYXRoIjogWwogICAgXSwKICAgICJzb25hbWUiOiBbCiAgICAgICJsaWJyc3Byb3RlY3Quc28iCiAgICBdLAogICAgIm90aGVyIjogWwogICAgXSwKICAgICJzb3JlZ2V4IjogWwogICAgXQogIH0sCiAgIueZvuW6puWKoOWbuiI6IHsKICAgICJzb3BhdGgiOiBbCiAgICAgICJsaWIvYXJtZWFiaS9saWJiYWlkdXByb3RlY3Quc28iCiAgICBdLAogICAgInNvbmFtZSI6IFsKICAgICAgImxpYmJhaWR1cHJvdGVjdC5zbyIsCiAgICAgICJsaWJiYWlkdXByb3RlY3RfYXJ0LnNvIiwKICAgICAgImxpYmJhaWR1cHJvdGVjdF94ODYuc28iCiAgICBdLAogICAgIm90aGVyIjogWwogICAgICAiYXNzZXRzL2JhaWR1cHJvdGVjdC5qYXIiLAogICAgICAiYXNzZXRzL2JhaWR1cHJvdGVjdDEuamFyIgogICAgXSwKICAgICJzb3JlZ2V4IjogWwogICAgXQogIH0sCiAgIuebm+Wkp+WKoOWbuiI6IHsKICAgICJzb3BhdGgiOiBbCiAgICBdLAogICAgInNvbmFtZSI6IFsKICAgICAgImxpYmFwc3NlYy5zbyIKICAgIF0sCiAgICAib3RoZXIiOiBbCiAgICBdLAogICAgInNvcmVnZXgiOiBbCiAgICBdCiAgfSwKICAi572R5piT5piT55u+IjogewogICAgInNvcGF0aCI6IFsKICAgIF0sCiAgICAic29uYW1lIjogWwogICAgICAibGlibmVzZWMuc28iCiAgICBdLAogICAgIm90aGVyIjogWwogICAgXSwKICAgICJzb3JlZ2V4IjogWwogICAgXQogIH0sCiAgIue9keenpuWKoOWbuu+8iOWbveS/oeeBtemAmu+8iSI6IHsKICAgICJzb3BhdGgiOiBbCiAgICBdLAogICAgInNvbmFtZSI6IFsKICAgICAgImxpYm5xc2hpZWxkLnNvIgogICAgXSwKICAgICJvdGhlciI6IFsKICAgIF0sCiAgICAic29yZWdleCI6IFsKICAgIF0KICB9LAogICLohb7orq9CdWdseSI6IHsKICAgICJzb3BhdGgiOiBbCiAgICAgICJsaWIvYXJtNjQtdjhhL2xpYkJ1Z2x5LnNvIgogICAgXSwKICAgICJzb25hbWUiOiBbCiAgICAgICJsaWJCdWdseS5zbyIKICAgIF0sCiAgICAib3RoZXIiOiBbCiAgICBdLAogICAgInNvcmVnZXgiOiBbCiAgICBdCiAgfSwKICAi6IW+6K6v5LmQ5Zu677yIVk1Q77yJIjogewogICAgInNvcGF0aCI6IFsKICAgICAgImxpYi9hcm02NC12OGEvbGlieGdWaXBTZWN1cml0eS5zbyIsCiAgICAgICJsaWIvYXJtZWFiaS12N2EvbGlieGdWaXBTZWN1cml0eS5zbyIKICAgIF0sCiAgICAic29uYW1lIjogWwogICAgICAibGlieGdWaXBTZWN1cml0eS5zbyIKICAgIF0sCiAgICAib3RoZXIiOiBbCiAgICBdLAogICAgInNvcmVnZXgiOiBbCiAgICBdCiAgfSwKICAi6IW+6K6v5LmQ5Zu677yI5pen54mI77yJIjogewogICAgInNvcGF0aCI6IFsKICAgICAgImxpYi9hcm1lYWJpL2xpYnNoZWxsYS14eHh4LnNvIiwKICAgICAgImxpYi9hcm1lYWJpL2xpYnNoZWxseC14eHh4LnNvIgogICAgXSwKICAgICJzb25hbWUiOiBbCiAgICAgICJsaWJsZWd1ZGIuc28iLAogICAgICAibGlic2hlbDF4LnNvIiwKICAgICAgImxpYnNoZWxsLnNvIiwKICAgICAgImxpYnNoZWxsYS0yLjEwLjIuMy5zbyIsCiAgICAgICJsaWJzaGVsbGEtMi45LjAuMi5zbyIsCiAgICAgICJsaWJzaGVsbGEtNC4xLjAuMTUuc28iLAogICAgICAibGlic2hlbGxhLTQuMS4wLjE5LnNvIiwKICAgICAgImxpYnNoZWxsYS5zbyIsCiAgICAgICJsaWJzaGVsbHguc28iLAogICAgICAibGlidHVwLnNvIgogICAgXSwKICAgICJvdGhlciI6IFsKICAgICAgImxpYi9hcm1lYWJpL21peC5kZXgiLAogICAgICAibGliL2FybWVhYmkvbWl4ei5kZXgiLAogICAgICAidGVuY2VudF9zdHViIgogICAgXSwKICAgICJzb3JlZ2V4IjogWwogICAgICAibGlic2hlbGxhXFwtXFxkK1xcLlxcZCtcXC5cXGQrXFwuXFxkK1xcLnNvIgogICAgXQogIH0sCiAgIuiFvuiur+S6keWKoOWbuiI6IHsKICAgICJzb3BhdGgiOiBbCiAgICAgICJhc3NldHMvbGlic2hlbGx4LXN1cGVyLjIwMjEuc28iLAogICAgICAibGliL2FybWVhYmkvbGlic2hlbGwtc3VwZXIuMjAxOS5zbyIsCiAgICAgICJsaWIvYXJtZWFiaS9saWJzaGVsbC1zdXBlci4yMDIwLnNvIiwKICAgICAgImxpYi9hcm1lYWJpL2xpYnNoZWxsLXN1cGVyLjIwMjEuc28iCiAgICBdLAogICAgInNvbmFtZSI6IFsKICAgICAgImxpYnNoZWxsLXN1cGVyLjIwMTkuc28iLAogICAgICAibGlic2hlbGx4LXN1cGVyLjIwMjEuc28iCiAgICBdLAogICAgIm90aGVyIjogWwogICAgICAidGVuY2VudF9zdWIiCiAgICBdLAogICAgInNvcmVnZXgiOiBbCiAgICAgICJsaWJzaGVsbHhcXC1zdXBlclxcLlxcZCtcXC5zbyIsCiAgICAgICJsaWJzaGVsbFxcLXN1cGVyXFwuXFxkK1xcLnNvIgogICAgXQogIH0sCiAgIuiFvuiur+S6keenu+WKqOW6lOeUqOWuieWFqCI6IHsKICAgICJzb3BhdGgiOiBbCiAgICBdLAogICAgInNvbmFtZSI6IFsKICAgIF0sCiAgICAib3RoZXIiOiBbCiAgICAgICIwMDAwMDAwbGxsbGwuZGV4IiwKICAgICAgIjAwMDAwb2xsbGxsLmRleCIsCiAgICAgICIwMDBPMDBsbDExMWwuZGV4IiwKICAgICAgIjAwTzAwMGxsMTExbC5kZXgiLAogICAgICAiME9PMDBsMTExbDFsIiwKICAgICAgIm8wb29vT08wb29Pby5kYXQiCiAgICBdLAogICAgInNvcmVnZXgiOiBbCiAgICBdCiAgfSwKICAi6IW+6K6v5LqR56e75Yqo5bqU55So5a6J5YWo77yI6IW+6K6v5b6h5a6J5YWo77yJIjogewogICAgInNvcGF0aCI6IFsKICAgIF0sCiAgICAic29uYW1lIjogWwogICAgICAibGliQnVnbHkteWFxLnNvIiwKICAgICAgImxpYnNoZWxsLXN1cGVyLjIwMTkuc28iLAogICAgICAibGlic2hlbGx4LXN1cGVyLjIwMTkuc28iLAogICAgICAibGliekJ1Z2x5LXlhcS5zbyIKICAgIF0sCiAgICAib3RoZXIiOiBbCiAgICAgICIwMDAwMDAwMTExMTEuZGV4IiwKICAgICAgIjAwMDAwMDExMTExMS5kZXgiLAogICAgICAiMDAwMDAxMTExMTExIiwKICAgICAgIjAwMDAwbzExMTExLmRleCIsCiAgICAgICJvMG9vbzAwMG9vMG8uZGF0IiwKICAgICAgInQ4NiIsCiAgICAgICJ0b3Nwcm90ZWN0aW9uIiwKICAgICAgInRvc3ZlcnNpb24iCiAgICBdLAogICAgInNvcmVnZXgiOiBbCiAgICBdCiAgfSwKICAi6IW+6K6v5Yqg5Zu6IjogewogICAgInNvcGF0aCI6IFsKICAgIF0sCiAgICAic29uYW1lIjogWwogICAgICAibGlic2hlbGwuc28iCiAgICBdLAogICAgIm90aGVyIjogWwogICAgXSwKICAgICJzb3JlZ2V4IjogWwogICAgXQogIH0sCiAgIuiFvuiur+aJi+a4uOWKoOWbuiI6IHsKICAgICJzb3BhdGgiOiBbCiAgICBdLAogICAgInNvbmFtZSI6IFsKICAgICAgImxpYnRwcnQuc28iCiAgICBdLAogICAgIm90aGVyIjogWwogICAgXSwKICAgICJzb3JlZ2V4IjogWwogICAgXQogIH0sCiAgIuiFvuiur+W+oeWuieWFqCI6IHsKICAgICJzb3BhdGgiOiBbCiAgICAgICJhc3NldHMvbGlidG9zcHJvdGVjdGlvbi5hcm1lYWJpLXY3YS5zbyIsCiAgICAgICJhc3NldHMvbGlidG9zcHJvdGVjdGlvbi5hcm1lYWJpLnNvIiwKICAgICAgImFzc2V0cy9saWJ0b3Nwcm90ZWN0aW9uLng4Ni5zbyIsCiAgICAgICJsaWIvYXJtZWFiaS9saWJ0ZXN0LnNvIiwKICAgICAgImxpYi9hcm1lYWJpL2xpYlRtc2RrLXh4eC1tZnIuc28iCiAgICBdLAogICAgInNvbmFtZSI6IFsKICAgICAgImxpYnRvc3Byb3RlY3Rpb24uYXJtZWFiaS12N2Euc28iLAogICAgICAibGlidG9zcHJvdGVjdGlvbi5hcm1lYWJpLnNvIiwKICAgICAgImxpYnRvc3Byb3RlY3Rpb24ueDg2LnNvIgogICAgXSwKICAgICJvdGhlciI6IFsKICAgICAgImFzc2V0cy90b3N2ZXJzaW9uIgogICAgXSwKICAgICJzb3JlZ2V4IjogWwogICAgICAibGlidG9zcHJvdGVjdGlvblxcLi4rXFwuc28iCiAgICBdCiAgfSwKICAi6Juu54qA5Yqg5Zu6IjogewogICAgInNvcGF0aCI6IFsKICAgICAgImFzc2V0cy9teHNhZmUvYXJtNjQtdjhhL2xpYmRTYWZlU2hlbGwuc28iLAogICAgICAiYXNzZXRzL214c2FmZS94ODZfNjQvbGliZFNhZmVTaGVsbC5zbyIKICAgIF0sCiAgICAic29uYW1lIjogWwogICAgICAibGliZFNhZmVTaGVsbC5zbyIKICAgIF0sCiAgICAib3RoZXIiOiBbCiAgICAgICJhc3NldHMvbXhzYWZlLmNvbmZpZyIsCiAgICAgICJhc3NldHMvbXhzYWZlLmRhdGEiLAogICAgICAiYXNzZXRzL214c2FmZS5qYXIiCiAgICBdLAogICAgInNvcmVnZXgiOiBbCiAgICBdCiAgfSwKICAi6YCa5LuY55u+IjogewogICAgInNvcGF0aCI6IFsKICAgIF0sCiAgICAic29uYW1lIjogWwogICAgICAibGliTlNhZmVyT25seS5zbyIsCiAgICAgICJsaWJlZ2lzLnNvIiwKICAgICAgImxpYmdlaXJpLnNvIiwKICAgICAgImxpYmdlaXJpLXg4Ni5zbyIKICAgIF0sCiAgICAib3RoZXIiOiBbCiAgICBdLAogICAgInNvcmVnZXgiOiBbCiAgICBdCiAgfSwKICAi6Zi/6YeM5LqR5Yqg5Zu6IjogewogICAgInNvcGF0aCI6IFsKICAgIF0sCiAgICAic29uYW1lIjogWwogICAgICAibGliZGVtb2xpc2guc28iLAogICAgICAibGliZGVtb2xpc2hkYXRhLnNvIgogICAgXSwKICAgICJvdGhlciI6IFsKICAgIF0sCiAgICAic29yZWdleCI6IFsKICAgIF0KICB9LAogICLpmL/ph4zliqDlm7oiOiB7CiAgICAic29wYXRoIjogWwogICAgICAiYXNzZXRzL2FybWVhYmkvbGlienVtYS5zbyIsCiAgICAgICJhc3NldHMvbGlicHJldmVyaWZ5MS5zbyIsCiAgICAgICJhc3NldHMvbGlienVtYS5zbyIsCiAgICAgICJhc3NldHMvbGlienVtYWRhdGEuc28iCiAgICBdLAogICAgInNvbmFtZSI6IFsKICAgICAgImxpYnp1bWEuc28iLAogICAgICAibGlicHJldmVyaWZ5MS5zbyIsCiAgICAgICJsaWJtb2Jpc2VjLnNvIiwKICAgICAgImxpYnNnbWFpbi5zbyIsCiAgICAgICJsaWJzZ3NlY3VyaXR5Ym9keS5zbyIKICAgIF0sCiAgICAib3RoZXIiOiBbCiAgICAgICJhbGlwcm90ZWN0LmRhdCIKICAgIF0sCiAgICAic29yZWdleCI6IFsKICAgIF0KICB9LAogICLpmL/ph4zogZrlronlhagiOiB7CiAgICAic29wYXRoIjogWwogICAgICAiYXNzZXRzL2FybWVhYmkvbGliZmFrZWpuaS5zbyIsCiAgICAgICJhc3NldHMvbGlicHJldmVyaWZ5MS5zbyIsCiAgICAgICJhc3NldHMvbGlienVtYS5zbyIsCiAgICAgICJhc3NldHMvbGlienVtYWRhdGEuc28iCiAgICBdLAogICAgInNvbmFtZSI6IFsKICAgICAgImxpYmRlbW9saXNoLnNvIiwKICAgICAgImxpYmRlbW9saXNoZGF0YS5zbyIsCiAgICAgICJsaWJmYWtlam5pLnNvIiwKICAgICAgImxpYm1vYmlzZWMuc28iLAogICAgICAibGlicHJldmVyaWZ5MS5zbyIsCiAgICAgICJsaWJzZ21haW4uc28iLAogICAgICAibGlic2dzZWN1cml0eWJvZHkuc28iLAogICAgICAibGlienVtYWRhdGEuc28iCiAgICBdLAogICAgIm90aGVyIjogWwogICAgICAiYWxpcHJvdGVjdC5kYXQiCiAgICBdLAogICAgInNvcmVnZXgiOiBbCiAgICBdCiAgfSwKICAi6aG25YOP56eR5oqAIjogewogICAgInNvcGF0aCI6IFsKICAgICAgImxpYi9hcm1lYWJpL2xpYngzZy5zbyIKICAgIF0sCiAgICAic29uYW1lIjogWwogICAgICAibGlieDNnLnNvIiwKICAgICAgImxpYmpuaS5zbyIKICAgIF0sCiAgICAib3RoZXIiOiBbCiAgICBdLAogICAgInNvcmVnZXgiOiBbCiAgICBdCiAgfSwKICAi5pyq55+l5Y6C5ZWGIjogewogICAgInNvcGF0aCI6IFsKICAgIF0sCiAgICAic29uYW1lIjogWwogICAgICAibGliYXBrLXByb3RlY3Quc28iCiAgICBdLAogICAgIm90aGVyIjogWwogICAgXSwKICAgICJzb3JlZ2V4IjogWwogICAgXQogIH0KfQ==" + apkpackdata := "ewogICIzNjDliqDlm7oiOiB7CiAgICAic29wYXRoIjogWwogICAgICAiYXNzZXRzL2xpYmppYWd1LnNvIgogICAgXSwKICAgICJzb25hbWUiOiBbCiAgICAgICJsaWJqaWFndS5zbyIsCiAgICAgICJsaWJqZ2R0Yy5zbyIsCiAgICAgICJsaWJqZ2R0Y19hNjQuc28iLAogICAgICAibGliamdkdGNfYXJ0LnNvIiwKICAgICAgImxpYmpnZHRjX3g2NC5zbyIsCiAgICAgICJsaWJqZ2R0Y194ODYuc28iLAogICAgICAibGliamlhZ3Uuc28iLAogICAgICAibGliamlhZ3VfYTY0LnNvIiwKICAgICAgImxpYmppYWd1X2FydC5zbyIsCiAgICAgICJsaWJqaWFndV9scy5zbyIsCiAgICAgICJsaWJqaWFndV94NjQuc28iLAogICAgICAibGliamlhZ3VfeDg2LnNvIiwKICAgICAgImxpYnByb3RlY3RDbGFzcy5zbyIsCiAgICAgICJsaWJTYWZlTWFuYWdlU2VydmljZS5zbyIKICAgIF0sCiAgICAib3RoZXIiOiBbCiAgICAgICJhc3NldHMvLmFwcGtleSIKICAgIF0sCiAgICAic29yZWdleCI6IFsKICAgICAgImxpYmppYWd1XFxfLi4uXFwuc28iLAogICAgICAibGliamdkdGNcXF8uLi5cXC5zbyIKICAgIF0KICB9LAogICJBUEtQcm90ZWN0IjogewogICAgInNvcGF0aCI6IFsKICAgIF0sCiAgICAic29uYW1lIjogWwogICAgICAibGliQVBLUHJvdGVjdC5zbyIKICAgIF0sCiAgICAib3RoZXIiOiBbCiAgICBdLAogICAgInNvcmVnZXgiOiBbCiAgICBdCiAgfSwKICAiYXBrdG9vbHBsdXMiOiB7CiAgICAic29wYXRoIjogWwogICAgICAibGliL2FybWVhYmkvbGliYXBrdG9vbHBsdXNfamlhZ3Uuc28iCiAgICBdLAogICAgInNvbmFtZSI6IFsKICAgICAgImxpYmFwa3Rvb2xwbHVzX2ppYWd1LnNvIgogICAgXSwKICAgICJvdGhlciI6IFsKICAgICAgImFzc2V0cy9qaWFndV9kYXRhLmJpbiIsCiAgICAgICJhc3NldHMvc2lnbi5iaW4iCiAgICBdLAogICAgInNvcmVnZXgiOiBbCiAgICBdCiAgfSwKICAiQ0ZDQeWKoOWbuiI6IHsKICAgICJzb3BhdGgiOiBbCiAgICBdLAogICAgInNvbmFtZSI6IFsKICAgICAgImxpYmJhc2VjLnNvIiwKICAgICAgImxpYmJhc2VjX3g4Ni5zbyIsCiAgICAgICJsaWJzZWNlbmguc28iLAogICAgICAibGlic2VjZW5oX2E2NC5zbyIsCiAgICAgICJsaWJzZWNlbmhfeDg2LnNvIgogICAgXSwKICAgICJvdGhlciI6IFsKICAgICAgIm15X2NsYXNzZXMuamFyIgogICAgXSwKICAgICJzb3JlZ2V4IjogWwoKICAgIF0KICB9LAogICJEZXhQcm90ZWN05Yqg5Zu6IjogewogICAgInNvcGF0aCI6IFsKICAgIF0sCiAgICAic29uYW1lIjogWwogICAgXSwKICAgICJvdGhlciI6IFsKICAgICAgImFzc2V0cy9jbGFzc2VzLmRleC5kYXQiLAogICAgICAiZHAuYXJtLXY3LnNvLmRhdCIsCiAgICAgICJkcC5hcm0uc28uZGF0IgogICAgXSwKICAgICJzb3JlZ2V4IjogWwogICAgXQogIH0sCiAgIk9QUE/lupTnlKjliqDlm7oiOiB7CiAgICAic29wYXRoIjogWwogICAgXSwKICAgICJzb25hbWUiOiBbCiAgICAgICJPUFBPUHJvdGVjdC5zbyIsCiAgICAgICJPUFBPUHJvdGVjdDIwMTkuc28iCiAgICBdLAogICAgIm90aGVyIjogWwogICAgXSwKICAgICJzb3JlZ2V4IjogWwogICAgICAiT1BQT1Byb3RlY3RcXGRcXGRcXGRcXGRcXC5zbyIKICAgIF0KICB9LAogICJPUFBP5a6J5YWo5qOA5rWLU0RLIjogewogICAgInNvcGF0aCI6IFsKICAgICAgImpuaS9hcm02NC12OGEvbGlib21lc1N0ZFNjby5zbyIsCiAgICAgICJqbmkvYXJtZWFiaS12N2EvbGlib21lc1N0ZFNjby5zbyIsCiAgICAgICJqbmkveDg2L2xpYm9tZXNTdGRTY28uc28iLAogICAgICAiam5pL3g4Nl82NC9saWJvbWVzU3RkU2NvLnNvIgogICAgXSwKICAgICJzb25hbWUiOiBbCiAgICAgICJsaWJvbWVzU3RkU2NvLnNvIgogICAgXSwKICAgICJvdGhlciI6IFsKICAgIF0sCiAgICAic29yZWdleCI6IFsKICAgIF0KICB9LAogICJVVeWuieWFqOWKoOWbuiI6IHsKICAgICJzb3BhdGgiOiBbCiAgICAgICJhc3NldHMvbGlidXVzYWZlLmphci5zbyIsCiAgICAgICJhc3NldHMvbGlidXVzYWZlLnNvIiwKICAgICAgImxpYi9hcm1lYWJpL2xpYnV1c2FmZWVtcHR5LnNvIgogICAgXSwKICAgICJzb25hbWUiOiBbCiAgICAgICJsaWJ1dXNhZmUuamFyLnNvIiwKICAgICAgImxpYnV1c2FmZS5zbyIsCiAgICAgICJsaWJ1dXNhZmVlbXB0eS5zbyIKICAgIF0sCiAgICAib3RoZXIiOiBbCiAgICBdLAogICAgInNvcmVnZXgiOiBbCiAgICBdCiAgfSwKICAi5Lit5Zu956e75Yqo5Yqg5Zu6IjogewogICAgInNvcGF0aCI6IFsKICAgICAgImxpYi9hcm1lYWJpL2xpYmNtdm1wLnNvIiwKICAgICAgImxpYi9hcm1lYWJpL2xpYm1vZ29zZWNfZGV4LnNvIiwKICAgICAgImxpYi9hcm1lYWJpL2xpYm1vZ29zZWNfc29kZWNyeXB0LnNvIiwKICAgICAgImxpYi9hcm1lYWJpL2xpYm1vZ29zZWN1cml0eS5zbyIKICAgIF0sCiAgICAic29uYW1lIjogWwogICAgICAibGliY212bXAuc28iLAogICAgICAibGlibW9nb3NlY19kZXguc28iLAogICAgICAibGlibW9nb3NlY19zb2RlY3J5cHQuc28iLAogICAgICAibGlibW9nb3NlY3VyaXR5LnNvIiwKICAgICAgImlibW9nb3NlY3VyaXR5LnNvIgogICAgXSwKICAgICJvdGhlciI6IFsKICAgICAgImFzc2V0cy9tb2dvc2VjX2NsYXNzZXMiLAogICAgICAiYXNzZXRzL21vZ29zZWNfZGF0YSIsCiAgICAgICJhc3NldHMvbW9nb3NlY19kZXhpbmZvIiwKICAgICAgImFzc2V0cy9tb2dvc2VjX21hcmNoIgogICAgXSwKICAgICJzb3JlZ2V4IjogWwogICAgXQogIH0sCiAgIuWHoOe7tOWuieWFqCI6IHsKICAgICJzb3BhdGgiOiBbCiAgICAgICJsaWIvYXJtZWFiaS9rZHBkYXRhLnNvIiwKICAgICAgImxpYi9hcm1lYWJpL2xpYmtkcC5zbyIsCiAgICAgICJsaWIvYXJtZWFiaS9saWJrd3NjbW0uc28iCiAgICBdLAogICAgInNvbmFtZSI6IFsKICAgICAgImtkcGRhdGEuc28iLAogICAgICAibGlia2RwLnNvIiwKICAgICAgImxpYmt3c2NtbS5zbyIsCiAgICAgICJsaWJrd3Njci5zbyIsCiAgICAgICJsaWJrd3NsaW5rZXIuc28iCiAgICBdLAogICAgIm90aGVyIjogWwogICAgICAiYXNzZXRzL2RleC5kYXQiCiAgICBdLAogICAgInNvcmVnZXgiOiBbCiAgICBdCiAgfSwKICAi5ZCv5piO5pif6L6wIjogewogICAgInNvcGF0aCI6IFsKICAgIF0sCiAgICAic29uYW1lIjogWwogICAgICAibGlidmVuU2VjLnNvIiwKICAgICAgImxpYnZlbnVzdGVjaC5zbyIKICAgIF0sCiAgICAib3RoZXIiOiBbCiAgICBdLAogICAgInNvcmVnZXgiOiBbCiAgICBdCiAgfSwKICAi5aic6L+m5Yqg5Zu6IjogewogICAgInNvcGF0aCI6IFsKICAgIF0sCiAgICAic29uYW1lIjogWwogICAgICAibGliY2hhb3N2bXAuc28iLAogICAgICAibGliZGRvZy5zbyIsCiAgICAgICJsaWJmZG9nLnNvIiwKICAgICAgImxpYmhkb2cuc28iCiAgICBdLAogICAgIm90aGVyIjogWwogICAgXSwKICAgICJzb3JlZ2V4IjogWwogICAgICAibGliLmRvZ1xcLnNvIgogICAgXQogIH0sCiAgIuWonOi/puWKoOWbuu+8iOS8geS4mueJiO+8iSI6IHsKICAgICJzb3BhdGgiOiBbCiAgICBdLAogICAgInNvbmFtZSI6IFsKICAgICAgImxpYmVkb2cuc28iCiAgICBdLAogICAgIm90aGVyIjogWwogICAgXSwKICAgICJzb3JlZ2V4IjogWwogICAgXQogIH0sCiAgIuWonOi/puWKoOWbuu+8iOW8gOWPkeiAheivleeUqOeJiC1WTVDvvIkiOiB7CiAgICAic29wYXRoIjogWwogICAgXSwKICAgICJzb25hbWUiOiBbCiAgICAgICJsaWJ2ZG9nLXg4Ni5zbyIsCiAgICAgICJsaWJ2ZG9nLnNvIgogICAgXSwKICAgICJvdGhlciI6IFsKICAgIF0sCiAgICAic29yZWdleCI6IFsKICAgICAgImxpYnZkb2dcXC0uLi5cXC5zbyIKICAgIF0KICB9LAogICLlqJzov6bliqDlm7rvvIjmlrDniYgyMDIy77yJIjogewogICAgInNvcGF0aCI6IFsKICAgICAgImxpYi9hcm1lYWJpL2xpYnhsb2FkZXIuc28iLAogICAgICAibGliL2FybWVhYmktdjdhL2xpYnhsb2FkZXIuc28iLAogICAgICAibGliL2FybTY0LXY4YS9saWJ4bG9hZGVyLnNvIgogICAgXSwKICAgICJzb25hbWUiOiBbCiAgICAgICJsaWJ4bG9hZGVyLnNvIgogICAgXSwKICAgICJvdGhlciI6IFsKICAgICAgImFzc2V0cy9tYWluZGF0YS9mYWtlX2NsYXNzZXMuZGV4IgogICAgXSwKICAgICJzb3JlZ2V4IjogWwogICAgXQogIH0sCiAgIuaihuaihuWuieWFqO+8iOS8geS4mueJiO+8iSI6IHsKICAgICJzb3BhdGgiOiBbCiAgICBdLAogICAgInNvbmFtZSI6IFsKICAgICAgImxpYkRleEhlbHBlci14ODYuc28iLAogICAgICAibGliRGV4SGVscGVyLnNvIgogICAgXSwKICAgICJvdGhlciI6IFsKICAgIF0sCiAgICAic29yZWdleCI6IFsKICAgICAgImxpYkRleEhlbHBlclxcLS4uLlxcLnNvIgogICAgXQogIH0sCiAgIuaihuaihuWuieWFqO+8iOWFjei0ueeJiO+8iSI6IHsKICAgICJzb3BhdGgiOiBbCiAgICAgICJsaWIvYXJtZWFiaS9saWJTZWNTaGVsbC14ODYuc28iLAogICAgICAibGliL2FybWVhYmkvbGliU2VjU2hlbGwuc28iCiAgICBdLAogICAgInNvbmFtZSI6IFsKICAgICAgImxpYlNlY1NoZWxsX2FydC5zbyIsCiAgICAgICJsaWJTZWNTaGVsbC5zbyIsCiAgICAgICJsaWJTZWNTaGVsMS5zbyIsCiAgICAgICJsaWJzZWNleGUuc28iLAogICAgICAibGlic2VjbWFpbi5zbyIKICAgIF0sCiAgICAib3RoZXIiOiBbCiAgICAgICJhc3NldHMvc2VjRGF0YTAuamFyIgogICAgXSwKICAgICJzb3JlZ2V4IjogWwogICAgXQogIH0sCiAgIuaihuaihuWuieWFqO+8iOWumuWItueJiO+8iSI6IHsKICAgICJzb3BhdGgiOiBbCiAgICAgICJsaWIvYXJtZWFiaS9EZXhIZWxwZXIuc28iCiAgICBdLAogICAgInNvbmFtZSI6IFsKICAgICAgIkRleEhlbHBlci5zbyIKICAgIF0sCiAgICAib3RoZXIiOiBbCiAgICAgICJhc3NldHMvY2xhc3Nlcy5qYXIiCiAgICBdLAogICAgInNvcmVnZXgiOiBbCiAgICBdCiAgfSwKICAi5rW35LqR5a6J5Yqg5Zu6IjogewogICAgInNvcGF0aCI6IFsKICAgICAgImxpYi9hcm1lYWJpL2xpYml0c2VjLnNvIgogICAgXSwKICAgICJzb25hbWUiOiBbCiAgICAgICJsaWJpdHNlYy5zbyIKICAgIF0sCiAgICAib3RoZXIiOiBbCiAgICAgICJhc3NldHMvaXRzZSIKICAgIF0sCiAgICAic29yZWdleCI6IFsKICAgIF0KICB9LAogICLmt7Hnm77lronlhajliqDlm7rvvIhWaXJib3ggUHJvdGVjdG9y77yJIjogewogICAgInNvcGF0aCI6IFsKICAgIF0sCiAgICAic29uYW1lIjogWwogICAgICAiaWJ2aXJib3gzMi5zbyIsCiAgICAgICJsaWJ2aXJib3g2NC5zbyIKICAgIF0sCiAgICAib3RoZXIiOiBbCiAgICBdLAogICAgInNvcmVnZXgiOiBbCiAgICAgICJsaWJ2aXJib3guLlxcLnNvIgogICAgXQogIH0sCiAgIueIseWKoOWvhiI6IHsKICAgICJzb3BhdGgiOiBbCiAgICAgICJhc3NldHMvaWptX2xpYi9hcm1lYWJpL2xpYmV4ZWMuc28iLAogICAgICAiYXNzZXRzL2lqbV9saWIvWDg2L2xpYmV4ZWMuc28iLAogICAgICAibGliL2FybWVhYmkvbGliZXhlY21haW4uc28iCiAgICBdLAogICAgInNvbmFtZSI6IFsKICAgICAgImxpYmV4ZWNtYWluLnNvIiwKICAgICAgImxpYmV4ZWMuc28iCiAgICBdLAogICAgIm90aGVyIjogWwogICAgICAiYXNzZXRzL2FmLmJpbiIsCiAgICAgICJhc3NldHMvc2lnbmVkLmJpbiIsCiAgICAgICJpamlhbWkuZGF0IgogICAgXSwKICAgICJzb3JlZ2V4IjogWwogICAgXQogIH0sCiAgIueIseWKoOWvhjPku6Plo7MiOiB7CiAgICAic29wYXRoIjogWwogICAgXSwKICAgICJzb25hbWUiOiBbCiAgICAgICJsaWJleGVjdjMuc28iCiAgICBdLAogICAgIm90aGVyIjogWwogICAgICAiYXNzZXRzL2lqaWFtaTMuYWptIgogICAgXSwKICAgICJzb3JlZ2V4IjogWwogICAgXQogIH0sCiAgIueIseWKoOWvhjXku6Plo7MiOiB7CiAgICAic29wYXRoIjogWwogICAgICAiYXNzZXRzL2xpYmlqbURhdGFFbmNyeXB0aW9uLnNvIgogICAgXSwKICAgICJzb25hbWUiOiBbCiAgICAgICJsaWJpam1EYXRhRW5jcnlwdGlvbi5zbyIKICAgIF0sCiAgICAib3RoZXIiOiBbCiAgICAgICJhc3NldHMvSUpNRGFsLkRhdGEiCiAgICBdLAogICAgInNvcmVnZXgiOiBbCiAgICBdCiAgfSwKICAi54ix5Yqg5a+G5LyB5Lia54mIIjogewogICAgInNvcGF0aCI6IFsKICAgIF0sCiAgICAic29uYW1lIjogWwogICAgXSwKICAgICJvdGhlciI6IFsKICAgICAgImFzc2V0cy9pamlhbWkuYWptIgogICAgXSwKICAgICJzb3JlZ2V4IjogWwogICAgXQogIH0sCiAgIuePiueRmueBteW+oSI6IHsKICAgICJzb3BhdGgiOiBbCiAgICAgICJhc3NldHMvbGlicmVpbmNwLnNvIiwKICAgICAgImFzc2V0cy9saWJyZWluY3BfeDg2LnNvIgogICAgXSwKICAgICJzb25hbWUiOiBbCiAgICAgICJsaWJyZWluY3Auc28iLAogICAgICAibGlicmVpbmNwX3g4Ni5zbyIKICAgIF0sCiAgICAib3RoZXIiOiBbCiAgICBdLAogICAgInNvcmVnZXgiOiBbCiAgICAgICJsaWJyZWluY3BcXF8uLi5cXC5zbyIKICAgIF0KICB9LAogICLnkZ7mmJ/liqDlm7oiOiB7CiAgICAic29wYXRoIjogWwogICAgXSwKICAgICJzb25hbWUiOiBbCiAgICAgICJsaWJyc3Byb3RlY3Quc28iCiAgICBdLAogICAgIm90aGVyIjogWwogICAgXSwKICAgICJzb3JlZ2V4IjogWwogICAgXQogIH0sCiAgIueZvuW6puWKoOWbuiI6IHsKICAgICJzb3BhdGgiOiBbCiAgICAgICJsaWIvYXJtZWFiaS9saWJiYWlkdXByb3RlY3Quc28iCiAgICBdLAogICAgInNvbmFtZSI6IFsKICAgICAgImxpYmJhaWR1cHJvdGVjdC5zbyIsCiAgICAgICJsaWJiYWlkdXByb3RlY3RfYXJ0LnNvIiwKICAgICAgImxpYmJhaWR1cHJvdGVjdF94ODYuc28iCiAgICBdLAogICAgIm90aGVyIjogWwogICAgICAiYXNzZXRzL2JhaWR1cHJvdGVjdC5qYXIiLAogICAgICAiYXNzZXRzL2JhaWR1cHJvdGVjdDEuamFyIgogICAgXSwKICAgICJzb3JlZ2V4IjogWwogICAgXQogIH0sCiAgIuebm+Wkp+WKoOWbuiI6IHsKICAgICJzb3BhdGgiOiBbCiAgICBdLAogICAgInNvbmFtZSI6IFsKICAgICAgImxpYmFwc3NlYy5zbyIKICAgIF0sCiAgICAib3RoZXIiOiBbCiAgICBdLAogICAgInNvcmVnZXgiOiBbCiAgICBdCiAgfSwKICAi572R5piT5piT55u+IjogewogICAgInNvcGF0aCI6IFsKICAgIF0sCiAgICAic29uYW1lIjogWwogICAgICAibGlibmVzZWMuc28iCiAgICBdLAogICAgIm90aGVyIjogWwogICAgXSwKICAgICJzb3JlZ2V4IjogWwogICAgXQogIH0sCiAgIue9keenpuWKoOWbuu+8iOWbveS/oeeBtemAmu+8iSI6IHsKICAgICJzb3BhdGgiOiBbCiAgICBdLAogICAgInNvbmFtZSI6IFsKICAgICAgImxpYm5xc2hpZWxkLnNvIgogICAgXSwKICAgICJvdGhlciI6IFsKICAgIF0sCiAgICAic29yZWdleCI6IFsKICAgIF0KICB9LAogICLohb7orq9CdWdseSI6IHsKICAgICJzb3BhdGgiOiBbCiAgICAgICJsaWIvYXJtNjQtdjhhL2xpYkJ1Z2x5LnNvIgogICAgXSwKICAgICJzb25hbWUiOiBbCiAgICAgICJsaWJCdWdseS5zbyIKICAgIF0sCiAgICAib3RoZXIiOiBbCiAgICBdLAogICAgInNvcmVnZXgiOiBbCiAgICBdCiAgfSwKICAi6IW+6K6v5LmQ5Zu677yIVk1Q77yJIjogewogICAgInNvcGF0aCI6IFsKICAgICAgImxpYi9hcm02NC12OGEvbGlieGdWaXBTZWN1cml0eS5zbyIsCiAgICAgICJsaWIvYXJtZWFiaS12N2EvbGlieGdWaXBTZWN1cml0eS5zbyIKICAgIF0sCiAgICAic29uYW1lIjogWwogICAgICAibGlieGdWaXBTZWN1cml0eS5zbyIKICAgIF0sCiAgICAib3RoZXIiOiBbCiAgICBdLAogICAgInNvcmVnZXgiOiBbCiAgICBdCiAgfSwKICAi6IW+6K6v5LmQ5Zu677yI5pen54mI77yJIjogewogICAgInNvcGF0aCI6IFsKICAgICAgImxpYi9hcm1lYWJpL2xpYnNoZWxsYS14eHh4LnNvIiwKICAgICAgImxpYi9hcm1lYWJpL2xpYnNoZWxseC14eHh4LnNvIgogICAgXSwKICAgICJzb25hbWUiOiBbCiAgICAgICJsaWJsZWd1ZGIuc28iLAogICAgICAibGlic2hlbDF4LnNvIiwKICAgICAgImxpYnNoZWxsLnNvIiwKICAgICAgImxpYnNoZWxsYS0yLjEwLjIuMy5zbyIsCiAgICAgICJsaWJzaGVsbGEtMi45LjAuMi5zbyIsCiAgICAgICJsaWJzaGVsbGEtNC4xLjAuMTUuc28iLAogICAgICAibGlic2hlbGxhLTQuMS4wLjE5LnNvIiwKICAgICAgImxpYnNoZWxsYS5zbyIsCiAgICAgICJsaWJzaGVsbHguc28iLAogICAgICAibGlidHVwLnNvIgogICAgXSwKICAgICJvdGhlciI6IFsKICAgICAgImxpYi9hcm1lYWJpL21peC5kZXgiLAogICAgICAibGliL2FybWVhYmkvbWl4ei5kZXgiLAogICAgICAidGVuY2VudF9zdHViIgogICAgXSwKICAgICJzb3JlZ2V4IjogWwogICAgICAibGlic2hlbGxhXFwtXFxkK1xcLlxcZCtcXC5cXGQrXFwuXFxkK1xcLnNvIgogICAgXQogIH0sCiAgIuiFvuiur+S6keWKoOWbuiI6IHsKICAgICJzb3BhdGgiOiBbCiAgICAgICJhc3NldHMvbGlic2hlbGx4LXN1cGVyLjIwMjEuc28iLAogICAgICAibGliL2FybWVhYmkvbGlic2hlbGwtc3VwZXIuMjAxOS5zbyIsCiAgICAgICJsaWIvYXJtZWFiaS9saWJzaGVsbC1zdXBlci4yMDIwLnNvIiwKICAgICAgImxpYi9hcm1lYWJpL2xpYnNoZWxsLXN1cGVyLjIwMjEuc28iCiAgICBdLAogICAgInNvbmFtZSI6IFsKICAgICAgImxpYnNoZWxsLXN1cGVyLjIwMTkuc28iLAogICAgICAibGlic2hlbGx4LXN1cGVyLjIwMjEuc28iCiAgICBdLAogICAgIm90aGVyIjogWwogICAgICAidGVuY2VudF9zdWIiCiAgICBdLAogICAgInNvcmVnZXgiOiBbCiAgICAgICJsaWJzaGVsbHhcXC1zdXBlclxcLlxcZCtcXC5zbyIsCiAgICAgICJsaWJzaGVsbFxcLXN1cGVyXFwuXFxkK1xcLnNvIgogICAgXQogIH0sCiAgIuiFvuiur+S6keenu+WKqOW6lOeUqOWuieWFqCI6IHsKICAgICJzb3BhdGgiOiBbCiAgICBdLAogICAgInNvbmFtZSI6IFsKICAgIF0sCiAgICAib3RoZXIiOiBbCiAgICAgICIwMDAwMDAwbGxsbGwuZGV4IiwKICAgICAgIjAwMDAwb2xsbGxsLmRleCIsCiAgICAgICIwMDBPMDBsbDExMWwuZGV4IiwKICAgICAgIjAwTzAwMGxsMTExbC5kZXgiLAogICAgICAiME9PMDBsMTExbDFsIiwKICAgICAgIm8wb29vT08wb29Pby5kYXQiCiAgICBdLAogICAgInNvcmVnZXgiOiBbCiAgICBdCiAgfSwKICAi6IW+6K6v5LqR56e75Yqo5bqU55So5a6J5YWo77yI6IW+6K6v5b6h5a6J5YWo77yJIjogewogICAgInNvcGF0aCI6IFsKICAgIF0sCiAgICAic29uYW1lIjogWwogICAgICAibGliQnVnbHkteWFxLnNvIiwKICAgICAgImxpYnNoZWxsLXN1cGVyLjIwMTkuc28iLAogICAgICAibGlic2hlbGx4LXN1cGVyLjIwMTkuc28iLAogICAgICAibGliekJ1Z2x5LXlhcS5zbyIKICAgIF0sCiAgICAib3RoZXIiOiBbCiAgICAgICIwMDAwMDAwMTExMTEuZGV4IiwKICAgICAgIjAwMDAwMDExMTExMS5kZXgiLAogICAgICAiMDAwMDAxMTExMTExIiwKICAgICAgIjAwMDAwbzExMTExLmRleCIsCiAgICAgICJvMG9vbzAwMG9vMG8uZGF0IiwKICAgICAgInQ4NiIsCiAgICAgICJ0b3Nwcm90ZWN0aW9uIiwKICAgICAgInRvc3ZlcnNpb24iCiAgICBdLAogICAgInNvcmVnZXgiOiBbCiAgICBdCiAgfSwKICAi6IW+6K6v5Yqg5Zu6IjogewogICAgInNvcGF0aCI6IFsKICAgIF0sCiAgICAic29uYW1lIjogWwogICAgICAibGlic2hlbGwuc28iCiAgICBdLAogICAgIm90aGVyIjogWwogICAgXSwKICAgICJzb3JlZ2V4IjogWwogICAgXQogIH0sCiAgIuiFvuiur+aJi+a4uOWKoOWbuiI6IHsKICAgICJzb3BhdGgiOiBbCiAgICBdLAogICAgInNvbmFtZSI6IFsKICAgICAgImxpYnRwcnQuc28iCiAgICBdLAogICAgIm90aGVyIjogWwogICAgXSwKICAgICJzb3JlZ2V4IjogWwogICAgXQogIH0sCiAgIuiFvuiur+W+oeWuieWFqCI6IHsKICAgICJzb3BhdGgiOiBbCiAgICAgICJhc3NldHMvbGlidG9zcHJvdGVjdGlvbi5hcm1lYWJpLXY3YS5zbyIsCiAgICAgICJhc3NldHMvbGlidG9zcHJvdGVjdGlvbi5hcm1lYWJpLnNvIiwKICAgICAgImFzc2V0cy9saWJ0b3Nwcm90ZWN0aW9uLng4Ni5zbyIsCiAgICAgICJsaWIvYXJtZWFiaS9saWJ0ZXN0LnNvIiwKICAgICAgImxpYi9hcm1lYWJpL2xpYlRtc2RrLXh4eC1tZnIuc28iCiAgICBdLAogICAgInNvbmFtZSI6IFsKICAgICAgImxpYnRvc3Byb3RlY3Rpb24uYXJtZWFiaS12N2Euc28iLAogICAgICAibGlidG9zcHJvdGVjdGlvbi5hcm1lYWJpLnNvIiwKICAgICAgImxpYnRvc3Byb3RlY3Rpb24ueDg2LnNvIgogICAgXSwKICAgICJvdGhlciI6IFsKICAgICAgImFzc2V0cy90b3N2ZXJzaW9uIgogICAgXSwKICAgICJzb3JlZ2V4IjogWwogICAgICAibGlidG9zcHJvdGVjdGlvblxcLi4rXFwuc28iCiAgICBdCiAgfSwKICAi6Juu54qA5Yqg5Zu6IjogewogICAgInNvcGF0aCI6IFsKICAgICAgImFzc2V0cy9teHNhZmUvYXJtNjQtdjhhL2xpYmRTYWZlU2hlbGwuc28iLAogICAgICAiYXNzZXRzL214c2FmZS94ODZfNjQvbGliZFNhZmVTaGVsbC5zbyIKICAgIF0sCiAgICAic29uYW1lIjogWwogICAgICAibGliZFNhZmVTaGVsbC5zbyIKICAgIF0sCiAgICAib3RoZXIiOiBbCiAgICAgICJhc3NldHMvbXhzYWZlLmNvbmZpZyIsCiAgICAgICJhc3NldHMvbXhzYWZlLmRhdGEiLAogICAgICAiYXNzZXRzL214c2FmZS5qYXIiCiAgICBdLAogICAgInNvcmVnZXgiOiBbCiAgICBdCiAgfSwKICAi6YCa5LuY55u+IjogewogICAgInNvcGF0aCI6IFsKICAgIF0sCiAgICAic29uYW1lIjogWwogICAgICAibGliTlNhZmVyT25seS5zbyIsCiAgICAgICJsaWJlZ2lzLnNvIiwKICAgICAgImxpYmdlaXJpLnNvIiwKICAgICAgImxpYmdlaXJpLXg4Ni5zbyIKICAgIF0sCiAgICAib3RoZXIiOiBbCiAgICBdLAogICAgInNvcmVnZXgiOiBbCiAgICBdCiAgfSwKICAi6Zi/6YeM5LqR5Yqg5Zu6IjogewogICAgInNvcGF0aCI6IFsKICAgIF0sCiAgICAic29uYW1lIjogWwogICAgICAibGliZGVtb2xpc2guc28iLAogICAgICAibGliZGVtb2xpc2hkYXRhLnNvIgogICAgXSwKICAgICJvdGhlciI6IFsKICAgIF0sCiAgICAic29yZWdleCI6IFsKICAgIF0KICB9LAogICLpmL/ph4zliqDlm7oiOiB7CiAgICAic29wYXRoIjogWwogICAgICAiYXNzZXRzL2FybWVhYmkvbGlienVtYS5zbyIsCiAgICAgICJhc3NldHMvbGlicHJldmVyaWZ5MS5zbyIsCiAgICAgICJhc3NldHMvbGlienVtYS5zbyIsCiAgICAgICJhc3NldHMvbGlienVtYWRhdGEuc28iCiAgICBdLAogICAgInNvbmFtZSI6IFsKICAgICAgImxpYnp1bWEuc28iLAogICAgICAibGlicHJldmVyaWZ5MS5zbyIsCiAgICAgICJsaWJtb2Jpc2VjLnNvIiwKICAgICAgImxpYnNnbWFpbi5zbyIsCiAgICAgICJsaWJzZ3NlY3VyaXR5Ym9keS5zbyIKICAgIF0sCiAgICAib3RoZXIiOiBbCiAgICAgICJhbGlwcm90ZWN0LmRhdCIKICAgIF0sCiAgICAic29yZWdleCI6IFsKICAgIF0KICB9LAogICLpmL/ph4zogZrlronlhagiOiB7CiAgICAic29wYXRoIjogWwogICAgICAiYXNzZXRzL2FybWVhYmkvbGliZmFrZWpuaS5zbyIsCiAgICAgICJhc3NldHMvbGlicHJldmVyaWZ5MS5zbyIsCiAgICAgICJhc3NldHMvbGlienVtYS5zbyIsCiAgICAgICJhc3NldHMvbGlienVtYWRhdGEuc28iCiAgICBdLAogICAgInNvbmFtZSI6IFsKICAgICAgImxpYmRlbW9saXNoLnNvIiwKICAgICAgImxpYmRlbW9saXNoZGF0YS5zbyIsCiAgICAgICJsaWJmYWtlam5pLnNvIiwKICAgICAgImxpYm1vYmlzZWMuc28iLAogICAgICAibGlicHJldmVyaWZ5MS5zbyIsCiAgICAgICJsaWJzZ21haW4uc28iLAogICAgICAibGlic2dzZWN1cml0eWJvZHkuc28iLAogICAgICAibGlienVtYWRhdGEuc28iCiAgICBdLAogICAgIm90aGVyIjogWwogICAgICAiYWxpcHJvdGVjdC5kYXQiCiAgICBdLAogICAgInNvcmVnZXgiOiBbCiAgICBdCiAgfSwKICAi6aG25YOP56eR5oqAIjogewogICAgInNvcGF0aCI6IFsKICAgICAgImxpYi9hcm1lYWJpL2xpYngzZy5zbyIKICAgIF0sCiAgICAic29uYW1lIjogWwogICAgICAibGlieDNnLnNvIiwKICAgICAgImxpYmpuaS5zbyIKICAgIF0sCiAgICAib3RoZXIiOiBbCiAgICBdLAogICAgInNvcmVnZXgiOiBbCiAgICBdCiAgfSwKICAiZ29vZ2xlKHBsYXkp5Yqg5Zu6IjogewogICAgInNvcGF0aCI6IFsKICAgICAgImxpYi9hcm02NC12OGEvbGlicGFpcmlwY29yZS5zbyIsCiAgICAgICJsaWIvYXJtZWFiaS12N2EvbGlicGFpcmlwY29yZS5zbyIsCiAgICAgICJsaWIveDg2XzY0L2xpYnBhaXJpcGNvcmUuc28iLAogICAgICAibGliL3g4Ni9saWJwYWlyaXBjb3JlLnNvIgogICAgXSwKICAgICJzb25hbWUiOiBbCiAgICAgICJsaWJwYWlyaXBjb3JlLnNvIgogICAgXSwKICAgICJvdGhlciI6IFsKICAgIF0sCiAgICAic29yZWdleCI6IFsKICAgIF0KICB9LAogICLmnKrnn6XljoLllYYiOiB7CiAgICAic29wYXRoIjogWwogICAgXSwKICAgICJzb25hbWUiOiBbCiAgICAgICJsaWJhcGstcHJvdGVjdC5zbyIKICAgIF0sCiAgICAib3RoZXIiOiBbCiAgICBdLAogICAgInNvcmVnZXgiOiBbCiAgICBdCiAgfQp9" // 标准Base64解码 apkpackbytes, err := base64.StdEncoding.DecodeString(apkpackdata) diff --git a/src/SDKByLibSo.go b/src/SDKByLibSo.go index ffe3e07..bc651d6 100644 --- a/src/SDKByLibSo.go +++ b/src/SDKByLibSo.go @@ -36,19 +36,21 @@ func SDKByLibSo(apkpath string) bool { } //输出匹配结果 先格式化再输出 - fmt.Printf("\n===扫描第三方SDK特征结果===\n\n") + if sdksolist != nil { + fmt.Printf("\n===扫描第三方SDK特征结果===\n\n") - var pftstr []string - for _, value := range sdksolist { - //fmt.Printf("%s, %s->%s", value.Team, value.Label, value.Soname) - pftstr = append(pftstr, fmt.Sprintf("%s, %s->%s", value.Team, value.Label, value.Soname)) - } + var pftstr []string + for _, value := range sdksolist { + //fmt.Printf("%s, %s->%s", value.Team, value.Label, value.Soname) + pftstr = append(pftstr, fmt.Sprintf("%s, %s->%s", value.Team, value.Label, value.Soname)) + } - sort.Strings(pftstr) - for _, value := range pftstr { - fmt.Printf("%s\n", value) + sort.Strings(pftstr) + for _, value := range pftstr { + fmt.Printf("%s\n", value) + } + fmt.Printf("\n=======================\n") } - fmt.Printf("\n=======================\n") return true } diff --git a/src/main.go b/src/main.go index 4c504b3..6e3a677 100644 --- a/src/main.go +++ b/src/main.go @@ -74,9 +74,9 @@ func scanAPKFolder(folderPath string) error { } func scanAPKFile(filePath string) error { - fmt.Printf("scanAPKFile") + //fmt.Printf("scanAPKFile") - verifyApk(filePath) + //verifyApk(filePath) //20241230 临时取消签名验证 减小程序体积 PackByLibSo(filePath) diff --git a/windows_linux_darwin_amd64.bat b/windows_linux_darwin_amd64.bat index 04d326b..3f901f0 100644 --- a/windows_linux_darwin_amd64.bat +++ b/windows_linux_darwin_amd64.bat @@ -12,4 +12,10 @@ echo "darwin_amd64" SET CGO_ENABLED=0 SET GOOS=darwin SET GOARCH=amd64 -go build -ldflags="-s -w" -o bin/ApkCheckPack_darwin_amd64 ./src \ No newline at end of file +go build -ldflags="-s -w" -o bin/ApkCheckPack_darwin_amd64 ./src + +rem Linux上跨平台编译程序 +rem CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-s -w" -o your-program.exe your-program.go +rem CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -ldflags="-s -w" -o your-program.exe your-program.go +rem CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build -ldflags="-s -w" -o your-program your-program.go +