コード例 #1
0
        private async Task Decode_Manifest()
        {
            ProcessStartInfo psi = new ProcessStartInfo()
            {
                FileName  = pathProvider.GetBundleToolPath(),
                Arguments = "dump manifest --bundle=\"" + targetFilePath.OriginalString + "\""
            };

            Debug.WriteLine("DefaultAABDecoder.Decode_Manifest(), path=" + targetFilePath.OriginalString);
            string processResult = await ProcessExecuter.ExecuteProcess(psi);

            while (!processResult.StartsWith("<"))
            {
                if (string.IsNullOrEmpty(processResult))
                {
                    break;
                }
                var lines = processResult.Split(new string[] { "\r\n" }, StringSplitOptions.None).Skip(1);
                processResult = string.Join(Environment.NewLine, lines.ToArray());
            }
            processResult = processResult.Trim();
            Debug.WriteLine("DefaultAABDecoder.Decode_Manifest(), result=" + processResult);

            dataModel.RawDumpBadging = processResult;
            Debug.WriteLine("DefaultAABDecoder.Decode_Manifest(), start read manifest");
            DesktopCMDAABUtil.ReadManifest(dataModel, dataModel.RawDumpBadging);
            Debug.WriteLine("DefaultAABDecoder.Decode_Manifest(), end read manifest");
        }
コード例 #2
0
        private async Task Decode_AppIconEntry()
        {
            ProcessStartInfo psi = new ProcessStartInfo()
            {
                FileName  = pathProvider.GetBundleToolPath(),
                Arguments = "dump resources --bundle=\"" + targetFilePath.OriginalString
                            + "\" --resource=\"" + dataModel.AppIconResourceEntry + "\" --values=true"
            };

            Debug.WriteLine("DefaultAABDecoder.Decode_AppIconEntry(), path=" + targetFilePath.OriginalString);
            string processResult = await ProcessExecuter.ExecuteProcess(psi);

            while (!processResult.StartsWith("Package"))
            {
                if (string.IsNullOrEmpty(processResult))
                {
                    break;
                }
                var lines = processResult.Split(new[] { "\r\n" }, StringSplitOptions.None).Skip(1);
                processResult = string.Join(Environment.NewLine, lines.ToArray());
            }
            processResult = processResult.Trim();
            Debug.WriteLine("DefaultAABDecoder.Decode_AppIconEntry(), result=" + processResult);

            DesktopCMDAABUtil.ReadAppIconEntry(dataModel, processResult);
        }
コード例 #3
0
ファイル: DefaultTest.cs プロジェクト: cdytoby/APKViewer
        public void TestAABManifest()
        {
            string result = File.ReadAllText(@"D:\Download\aabplayground\dumpmanifest.xml");

            DesktopCMDAABUtil.ReadManifest(null, result);
        }