• python解压分析jar包


    import os
    import shutil
    import zipfile

    count = 1
    def getSumDir():
    sumfilelist = os.listdir(os.getcwd())
    for dir in sumfilelist:
    if ".idea" not in dir:
    classify(dir)


    def getlibDir():
    sumfilelist = os.listdir(os.getcwd())
    for dir in sumfilelist:
    if "libs" in dir:
    jieyajar(dir)


    def jieyajar(dir):
    files = os.listdir(dir)
    for jars in files:
    if "jar" in jars:
    zfile = zipfile.ZipFile('libs/' + jars, 'r')
    if not os.path.exists(os.getcwd() + '/jarlog/' + jars):
    os.makedirs(os.getcwd() + '/jarlog/' + jars)
    zfile.extractall(os.getcwd() + '/jarlog/' + jars)

    if not os.path.exists(os.getcwd() + '/jars/'):
    os.makedirs(os.getcwd() + '/jars/')
    zfile.extractall(os.getcwd() + '/jars/')
    zfile.close

    for file in os.listdir(os.getcwd()):
    if "jars" in file:
    classify(file)


    # def classify(path):
    # if os.path.isfile(path):
    # if ".class" not in path:
    # if "assets" in os.path.dirname(path):
    # if not os.path.exists(os.path.dirname(os.getcwd()) + '/assets/' + os.path.dirname(path)):
    # os.makedirs(os.path.dirname(os.getcwd()) + '/assets/' + os.path.dirname(path))
    # shutil.copy(path, os.path.dirname(os.getcwd()) + '/assets/' + os.path.dirname(path))
    # else:
    # if not os.path.exists(os.path.dirname(os.getcwd())+'/root/'+os.path.dirname(path)):
    # os.makedirs(os.path.dirname(os.getcwd())+'/root/'+os.path.dirname(path))
    # shutil.copy(path,os.path.dirname(os.getcwd())+'/root/'+os.path.dirname(path))
    # else :
    # list = os.listdir(path)
    # for dir in list:
    # classify(path+"/"+dir)

    def classify(path):
    global count
    if os.path.isfile(path):
    if ".class" not in path:
    if not os.path.exists(os.getcwd() + '/root/' + os.path.dirname(path)):
    os.makedirs(os.getcwd() + '/root/' + os.path.dirname(path))
    shutil.copy(path, os.getcwd() + '/root/' + os.path.dirname(path))
    else:
    if 'assets' in path and count == 1:
    count = count + 1
    shutil.copytree(os.getcwd()+'/'+path, os.getcwd() + '/assets')
    elif 'META-INF' not in path:
    list = os.listdir(path)
    for dir in list:
    classify(path + "/" + dir)


    # getSumDir()
    getlibDir()

  • 相关阅读:
    VxWorks固件分析方法总结
    WebGoat系列实验Injection Flaws
    WebGoat系列实验Cross-Site Scripting (XSS)
    WebGoat系列实验Denial of Service & Insecure Communication
    WebGoat系列实验Buffer Overflows & Code Quality & Concurrency
    WebGoat系列实验Authentication Flaws
    WebGoat系列实验Access Control Flaws
    20155224 聂小益 《基于Arm实验箱的接口测试和应用》 课程设计报告
    实验补交的链接
    2017-2018-2 20155224『网络对抗技术』Exp4:恶意代码分析
  • 原文地址:https://www.cnblogs.com/slqt/p/10881383.html
Copyright © 2020-2023  润新知