예제 #1
0
        //执行反编译
        public void ExecuteDecodeCMD()
        {
            string fileName = mainEntity.ApkPath;

            ThreadPool.QueueUserWorkItem(h =>
            {
                Process process = InitProcess();

                //输入dos命令
                process.StandardInput.WriteLine(Path.GetPathRoot(fileName).Substring(0, 2));
                process.StandardInput.WriteLine("cd {0}", Path.GetDirectoryName(fileName));
                process.StandardInput.WriteLine("{0} d {1}", mainEntity.ApktoolPath, fileName.IndexOf(" ") > 0 ? "\"" + fileName + "\"" : fileName);
                process.StandardInput.WriteLine("exit");

                string strRst = process.StandardOutput.ReadToEnd(); //获取结果

                process.WaitForExit();                              //等待命令结束
                process.Close();                                    //进程结束

                iProcess.DecodeEnd();
            });
        }