//文件拖拽的监听事件,并且分别分析 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反编译后的文件夹!"); } }
//文件拖拽的监听事件,并且分别分析 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反编译后的文件夹!"); } }