Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[jimple2cpg] Consistent & Recursive JAR/WAR Unpacking #3078

Commits on Jul 11, 2023

  1. Configuration menu
    Copy the full SHA
    2854777 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    85b757c View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    97ec306 View commit details
    Browse the repository at this point in the history
  4. Add consistent recursive jar unpacking.

    Previously jimple2cpg would have two distinct
    code paths when importing a directory containing a
    jar (which would unpack the jar) compared to importing
    a jar directly (which would load it with soot).
    
    This change does the following
    - Always use the unpacking behaviour for jars
    - Remove jimple from the source files being processed
      (It can be added back if needed downstream)
    - Keep the .apk/.dex behaviour if imported directly (but not if contained
    in a directory). This maintains the existing behaviour.
    
    Some remaining work is to:
    - add docstrings
    - add unit tests for recursive unpacking
    - add unit tests for .apk/.dex (maybe)
    badly-drawn-wizards committed Jul 11, 2023
    Configuration menu
    Copy the full SHA
    a7185b1 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    b7c3ca7 View commit details
    Browse the repository at this point in the history
  6. PR review changes

    badly-drawn-wizards committed Jul 11, 2023
    Configuration menu
    Copy the full SHA
    03075f8 View commit details
    Browse the repository at this point in the history
  7. Add javadocs and use copy instead of move

    Since we recursively search, the class files found
    may include those in the original source directory,
    which we do not want to move. So we just copy instead.
    badly-drawn-wizards committed Jul 11, 2023
    Configuration menu
    Copy the full SHA
    728897e View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    e4a7b29 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    3482436 View commit details
    Browse the repository at this point in the history