Exemplo n.º 1
0
  public static void loadSession(String filename) throws Exception {
    File file = new File(mStoragePath + '/' + filename);

    if (file.exists() && file.length() > 0) {
      BufferedReader reader =
          new BufferedReader(new InputStreamReader(new GZIPInputStream(new FileInputStream(file))));
      String line;

      // begin decoding procedure
      try {
        line = reader.readLine();
        if (line == null || !line.equals(SESSION_MAGIC))
          throw new Exception("Not a cSploit session file.");

        reset();

        // read targets
        int targets = Integer.parseInt(reader.readLine());
        for (int i = 0; i < targets; i++) {
          Target target = new Target(reader);

          if (!hasTarget(target)) {
            System.addOrderedTarget(target);
          } else {
            for (int j = 0; j < mTargets.size(); j++) {
              if (mTargets.get(j) != null && mTargets.get(j).equals(target)) {
                mTargets.set(j, target);
                break;
              }
            }
          }
        }

        mCurrentTarget = Integer.parseInt(reader.readLine());
        reader.close();

      } catch (Exception e) {
        reset();
        reader.close();
        throw e;
      }
    } else throw new Exception(filename + " does not exists or is empty.");
  }