Esempio n. 1
0
        //文件拖拽的监听事件,并且分别分析
        private void drag_enter(object sender, DragEventArgs e)
        {
            destPath = ((System.Array)e.Data.GetData(DataFormats.FileDrop)).GetValue(0).ToString();
            if (destPath == "")
            {
                MessageBox.Show("发生了一些错误!");
                return;
            }
            listView1.Items.Clear();
            listViewContent.Clear();
            int extendindex     = destPath.LastIndexOf(".", destPath.Length - 1);
            int FolderNameINdex = destPath.LastIndexOf("\\", destPath.Length - 1) + 1;

            //判断是否是文件夹
            if (Directory.Exists(destPath))
            {
                outFileName = destPath.Substring(FolderNameINdex, destPath.Length - FolderNameINdex);
                if (!Directory.Exists(outputPath + outFileName))//如果不存在文件夹,则分析整个文件夹
                {
                    anaSmaliFolder();
                }
                walkEveryXml(outputPath + outFileName);
                btn_instrument.IsEnabled = true;
            }
            else if (extendindex != -1 && destPath.Substring(extendindex, destPath.Length - extendindex) == ".smali")
            {
                outFileName = destPath.Substring(FolderNameINdex, extendindex - FolderNameINdex);
                if (!Directory.Exists(outputPath + outFileName))//如果不存在单个的smali分析文件,则分析
                {
                    new smaliFile(destPath, outputPath);
                }
                listView1.Items.Clear();
                listViewContent.Clear();
                walkEveryXml(outputPath + outFileName);
            }
            else if (extendindex != -1 && destPath.Substring(extendindex, destPath.Length - extendindex) == ".xml")
            {
                listView1.Items.Clear();
                listViewContent.Clear();
                outFileName = destPath.Substring(FolderNameINdex, extendindex - FolderNameINdex);
                readSinglexml(outFileName, destPath);//直接分析xml文件
            }
            //对log文件的处理
            else if (extendindex != -1 && destPath.Substring(extendindex, destPath.Length - extendindex) == ".txt")
            {
                parseLog log = new parseLog(destPath, outputPath + outFileName);
                walkEveryXml(log.outLogPath);
            }
            else
            {
                MessageBox.Show("请选择.smali格式文件、.xml格式文件或者apk反编译后的文件夹!");
            }
        }
Esempio n. 2
0
        //文件拖拽的监听事件,并且分别分析
        private void drag_enter(object sender, DragEventArgs e)
        {
            destPath = ((System.Array)e.Data.GetData(DataFormats.FileDrop)).GetValue(0).ToString();
            if (destPath == "")
            {
                MessageBox.Show("发生了一些错误!");
                return;
            }
            listView1.Items.Clear();
            listViewContent.Clear();
            int extendindex = destPath.LastIndexOf(".", destPath.Length - 1);
            int FolderNameINdex = destPath.LastIndexOf("\\", destPath.Length - 1) + 1;
            //判断是否是文件夹
            if (Directory.Exists(destPath))
            {
                outFileName = destPath.Substring(FolderNameINdex, destPath.Length - FolderNameINdex);
                if (!Directory.Exists(outputPath + outFileName))//如果不存在文件夹,则分析整个文件夹
                    anaSmaliFolder();
                walkEveryXml(outputPath + outFileName);
                btn_instrument.IsEnabled = true;
            }
            else if (extendindex != -1 && destPath.Substring(extendindex, destPath.Length - extendindex) == ".smali")
            {
                outFileName = destPath.Substring(FolderNameINdex, extendindex - FolderNameINdex);
                if (!Directory.Exists(outputPath + outFileName))//如果不存在单个的smali分析文件,则分析
                    new smaliFile(destPath, outputPath);
                listView1.Items.Clear();
                listViewContent.Clear();
                walkEveryXml(outputPath + outFileName);
            }
            else if (extendindex != -1 && destPath.Substring(extendindex, destPath.Length - extendindex) == ".xml")
            {
                listView1.Items.Clear();
                listViewContent.Clear();
                outFileName = destPath.Substring(FolderNameINdex, extendindex - FolderNameINdex);
                readSinglexml(outFileName, destPath);//直接分析xml文件
            }
            //对log文件的处理
            else if (extendindex != -1 && destPath.Substring(extendindex, destPath.Length - extendindex) == ".txt")
            {
                parseLog log = new parseLog(destPath, outputPath + outFileName);
                walkEveryXml(log.outLogPath);

            }
            else
            {
                MessageBox.Show("请选择.smali格式文件、.xml格式文件或者apk反编译后的文件夹!");
            }
        }