当前位置:   article > 正文

扫描jar包_漏扫对jar包扫描

漏扫对jar包扫描
  • 扫描任务:扫描出给定路径下的jar包,并找出其中的.dll文件

    • 拿到任务需要做什么?

            浅说一下我的方法。无论想要实现什么,我们首先要做的就是明确目标,梳理实现此功能的步骤,把需要实现的步骤细化,一点点的去实现。一开始慢一点没有关系,实现之后就会得到令人满足的成就感。


分步骤来做

  1. 扫面全部目录下的jar包
  2. 解压jar包
  3. 遍历.dll文件
  4. 结果:输出jar包名和.dll文件名
  1. public class Demo1 {
  2. //输入你想扫描的路径
  3. public static String topPath = "E:\\XXXX\\lib";
  4. /**
  5. * @param args the command line arguments
  6. */​​​​​​​
  7. public static void main(String[] args) throws IOException {​​​​​​​​​​​​​​
  8. testFileDirOrName(topPath);​​​​​​​​​​​​​​
  9. }​​​​​​​​​​​​​​
  10. private static void testFileDirOrName(String path) throws IOException {​​​​​​​
  11. File dirFile = new File(path);
  12. //判断抽象路径名中的文件或目录是否存在,存在返回True
  13. if (dirFile.exists()) {
  14. //返回抽象路径名数组,path抽象路径名表示的目录中的文件
  15. File[] files = dirFile.listFiles();​​​​​​​
  16. if (files != null) {​​​​​​​
  17. for (File fileChildDir : files) {​​​​​​​
  18. //输出文件名或者文件夹名​​​​​​​​​​​​​​
  19. String s1 = fileChildDir.getName();
  20. //判断是否为目录
  21. if (fileChildDir.isDirectory()) {
  22. //目录名称为jcef32就跳过
  23. if (s1.equals("jcef32")) {​​​​​​​
  24. continue;​​​​​​
  25. }​​​​​​​​​​​​​​
  26. System.out.println(s1+" : 此为目录名");​​​​​​​
  27. //通过递归的方式,可以把目录中的所有文件全部遍历出来​​​​​​​
  28. //返回抽象路径名的绝对路径名字符串。 ​​​​​​​
  29. testFileDirOrName(fileChildDir.getAbsolutePath());​​​​​​​
  30. } else if (fileChildDir.isFile()) {​​​​​​​
  31. if (path.equals(topPath)) {
  32. //如果是topPath路径下的文件就跳过
  33. continue;​​​​​​​
  34. }​​​​​​​
  35. //判断是否存在后缀为.jar的文件
  36. if (s1.endsWith(".jar")) {​​​​​​​
  37. System.out.println(s1 + " : 此为文件名");​​​​​​​
  38. FileName(fileChildDir.getAbsolutePath());​​​​​​​​​​​​​​
  39. }​​​​​​​​​​​​​​
  40. }​​​​​​​
  41. }​​​​​​​
  42. }​​​​​​​
  43. }​​​​​​​​​​​​​​
  44. }​​​​​​​
  45. /**
  46. * 读取jar包
  47. * @param path1
  48. * @throws IOException
  49. */
  50. private static void FileName(String path1) throws IOException {​​​​​​​
  51. File file1 = new File(path1);
  52. //打开供读取的jar文件
  53. JarFile jarFile = new JarFile(file1);
  54. //获取元素条目信息
  55. Enumeration jarEntries = jarFile.entries();
  56. //通过jarEntries(enumeration).hasMoreElements()是判断是否还有下一个元素
  57. while (jarEntries.hasMoreElements()) {​​​​​​​
  58. //jarEntries.nextElement()得到下一个元素
  59. process(jarEntries.nextElement());​​​​​​​
  60. }​​​​​​​​​​​​​​
  61. }​​​​​​​​​​​​​​
  62. /**​​​​​​​
  63. * 筛选.dll文件​​​​​​​
  64. * @param jarEntries​​​​​​​
  65. */​​​​​​​
  66. private static void process(Object jarEntries) {​​​​​​​
  67. //jarEntry类用于表示 JAR 文件条目
  68. JarEntry entry = (JarEntry) jarEntries;​​​​​​​
  69. //返回条目名称​​​​​​​
  70. String name = entry.getName();​​​​​​​
  71. if (name.endsWith(".dll")) {​​​​​​​
  72. System.out.println(name);​​​​​​​
  73. }​​​​​​​
  74. }​​​​​​​
  75. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/960007
推荐阅读
相关标签
  

闽ICP备14008679号