Exemplo n.º 1
0
    public void Jar2Smali(string jarPath, string filePath)
    {
        string smaliPath    = filePath + "\\smali";
        string JavaTempPath = PathTool.GetCurrentPath() + "\\JavaTempPath";
        string jarName      = FileTool.GetFileNameByPath(jarPath);
        string tempPath     = JavaTempPath + "\\" + jarName;

        FileTool.CreatePath(JavaTempPath);

        CmdService cmd = new CmdService(OutPut, errorCallBack);

        OutPut("放入Jar :" + jarName);

        //Jar to dex
        cmd.Execute("java -jar " + EditorData.GetDxPath() + " --dex --output=" + tempPath + " " + jarPath, true, true);

        //dex to smali
        //cmd.Execute("java -jar baksmali-2.1.3.jar --o=" + smaliPath + " " + tempPath);

        //dex to smali
        cmd.Execute("java -jar baksmali-2.3.4.jar d " + tempPath + " -o " + smaliPath);

        //删除临时目录
        FileTool.DeleteDirectory(JavaTempPath);
        Directory.Delete(JavaTempPath);
    }
Exemplo n.º 2
0
    public CompileTool(OutPutCallBack callBack, OutPutCallBack errorCallBack)
    {
        this.callBack      = callBack;
        this.errorCallBack = errorCallBack;

        m_cmd = new CmdService(OutPut, errorCallBack);
    }
Exemplo n.º 3
0
 private void button_cancel_Click(object sender, EventArgs e)
 {
     DialogResult = DialogResult.Cancel;
     if (DialogResult == DialogResult.OK)
     {
         //关闭选中程序
         int    index   = dataGridView.CurrentRow.Index; //取得选中行的索引
         string exeName = dataGridView.Rows[index].Cells["Column_Path"].Value.ToString();
         //程序名称
         exeName = exeName.Substring(exeName.LastIndexOf('\\') + 1);
         CmdService cmd = new CmdService();
         cmd.Exec("taskkill /f /im \"" + exeName + "\"");
     }
 }
Exemplo n.º 4
0
    public void Compile(SDKConfig sdkConfig, ChannelInfo channelInfo, string filePath)
    {
        string smaliPath           = filePath + "\\smali";
        string JavaCompileTempPath = PathTool.GetCurrentPath() + "\\JavaCompileTempPath";
        string JavaCompileSrcPath  = PathTool.GetCurrentPath() + "\\JavaCompileTempPath\\Src";
        string JavaCompileLibPath  = PathTool.GetCurrentPath() + "\\JavaCompileTempPath\\Lib";
        string JavaFilePath        = JavaCompileTempPath + "\\smali.java";
        string classFilePath       = JavaCompileTempPath + "\\Class";
        string dexFilePath         = JavaCompileTempPath + "\\smali.dex";

        CmdService cmd = new CmdService(OutPut, errorCallBack);

        //构造编译环境
        //创建Java类(替换关键字)
        for (int i = 0; i < sdkConfig.customJavaClass.Count; i++)
        {
            string javaName = JavaCompileSrcPath + "\\" + sdkConfig.customJavaClass[i].key + ".java";
            string s        = ReplaceKeyWord(sdkConfig.customJavaClass[i].value, channelInfo);
            FileTool.WriteStringByFile(javaName, s);
        }

        //复制Java库
        string libs = "";

        for (int i = 0; i < sdkConfig.customJavaLibrary.Count; i++)
        {
            string p = JavaCompileLibPath + "\\" + FileTool.GetFileNameByPath(sdkConfig.customJavaLibrary[i]);
            libs += p + ";";
            FileTool.CreateFilePath(p);

            string libPath = EditorData.SdkLibPath + sdkConfig.customJavaLibrary[i];
            File.Copy(libPath, p, true);
        }

        //创建导出目录
        FileTool.CreatePath(classFilePath);

        //Java to class
        cmd.Execute("javac  -classpath " + libs + " " + JavaCompileSrcPath + "\\*.java -d " + classFilePath);

        //class to dex
        cmd.Execute("java -jar " + EditorData.GetDxPath() + " --verbose --dex --output=" + dexFilePath + " " + classFilePath);

        //dex to smali
        cmd.Execute("java -jar baksmali-2.1.3.jar --o=" + smaliPath + " " + dexFilePath);

        //删除临时目录
        FileTool.DeleteDirectory(JavaCompileTempPath);
        Directory.Delete(JavaCompileTempPath);
    }
        public static void KillApp(string ldName, string packageName)
        {
            string command = $"killapp --name \"{ldName}\" --packagename \"{packageName}\"";

            CmdService.RunLdConsole(command);
        }
        public static void InstallApp(string ldName, string fileName)
        {
            string command = $"installapp --name \"{ldName}\" --filename \"{fileName}\"";

            CmdService.RunLdConsole(command);
        }
        public static void PropertySetting(string ldName, LDProperty property)
        {
            string command = $"modify --name \"{ldName}\" --resolution \"{property.Resolution}\" --cpu \"{property.Resolution}\" --memory \"{property.Memory}\" --imei \"{property.Imei}\"";

            CmdService.RunLdConsole(command);
        }
        public static void QuitAll()
        {
            string command = $"quitall";

            CmdService.RunLdConsole(command);
        }
        public static void Quit(string ldName)
        {
            string command = $"quit --name \"{ldName}\"";

            CmdService.RunLdConsole(command);
        }
Exemplo n.º 10
0
        /// <summary>
        /// Chạy LD - sử dụng tên LD
        /// </summary>
        /// <param name="ldName"></param>
        public static void Run(string ldName)
        {
            string command = $"launch --name \"{ldName}\"";

            CmdService.RunLdConsole(command);
        }
Exemplo n.º 11
0
        public static void Create(string ldName)
        {
            string command = $"add --name \"{ldName}\"";

            CmdService.RunLdConsole(command);
        }