@@ -0,0 +1,958 @@
+import os%0Aimport angr%0A%0Aself_dir = os.path.dirname(os.path.realpath(__file__))%0A%0Adef test_loading_of_native_libs():%0A%0A    binary_dir = os.path.join(self_dir, %22..%22, %22..%22, %22angr-doc%22, %22examples%22, %22java_mixed_ictf%22)%0A%0A    jar_path = os.path.join(binary_dir, %22service.jar%22)%0A    native_libs_path = os.path.join(binary_dir, %22native_libs%22)%0A%0A    # define which libraries to load (+ the load path)%0A    jni_options = %7B%0A        'native_libs' : %5B'libnotfun.so'%5D,%0A        'native_libs_ld_path' : native_libs_path%0A    %7D%0A    # information about native libraries are passed as additional options%0A    # of the main binary (e.g. the JAR/APK) to the project%0A    proj = angr.Project(jar_path, main_opts=jni_options)%0A%0A    # check if native library libnotfun.so was loaded%0A    loaded_libs_names = %5Blib.provides for lib in proj.loader.all_elf_objects%5D%0A    assert 'libnotfun.so' in loaded_libs_names%0A%0Adef main():%0A    test_loading_of_native_libs()%0A%0Aif __name__ == %22__main__%22:%0A    main()%0A

Add test for loading native libraries of a Java archive.