Skip to main content

C/C++ and Objective-C analysis module installation for macOS projects

Installation is required only if you need to analyze projects written in C/C++ for masOS. A download link for the distributive is provided with the DerScanner installation instruction.

System requirements:

  • Apple macOS Mojave or later
  • 4-cores CPU
  • 16 GB RAM
  • 100 GB HDD
  • root user privileges
  • no Java machines or $JAVA_HOME environment variables installed
  • network connection to main installation server
  • installed Xcode, clang, CMake, cocoapods
  • Internet access
  • installed Git and/or Subversion if downloading libraries from external sources is necessary
  • prepared environment for successful building of an analyzed project

Please notice that the module needs to be installed on the machine allowing for a full automated build of an analyzed project. Analysis with building is supported for Xcode and GNU CMake projects.

Installation instruction

  1. Download the archive.

  2. Extract the files to the desired directory, e.g. /Users/user/derscanner/.

  3. Install JDK from archive with default settings.

  4. In terminal, go to the directory with unpacked archive, execute

    iccheck: bash iccheck.sh

    script and follow the instructions.

  5. Change daemon.properties settings to correct values. Check if all key values are available.

  6. Check the paths correctness (change if necessary):

    • queueURI main server installation address. E.g.: tcp://88.88.88.88:61616
    • workDir path to temporary analyzer files directory. E.g.: /Users/user/derscanner/files/d/
    • CFamilyNix.module path to analyzer executable file. E.g.: /Users/user/derscanner/iccheck/iccheck-make
    • CFamily.iccheckxx path to analyzer executable file. E.g.: /Users/user/derscanner/iccheck/iccheck++
    • CFamily.iccheck path to analyzer executable file. E.g.: /Users/user/derscanner/iccheck/iccheck
    • CFamily.rules path to analyzer rules. E.g.: /Users/user/derscanner/iccheck/share/iccheck/assets/queries/
  7. Run from terminal: java -jar daemon.jar.

Inside the archive you can find a plist example for service installation with launchd process hypervisor.

Update instruction

  1. Check that the analyzer has no active tasks and stop its process.

  2. Save a copy of the configuration file daemon.properties.

  3. Rename the directory with the current version of analyzer to create a reserve copy.

  4. Download the archive.

  5. Extract the contents to the desired directory. Make sure the name stays the same as in previous version, e.g.: /Users/user/derscanner/.

  6. In terminal, go to the directory with extracted archive, execute

    iccheck: bash iccheck.sh

    script, follow the instructions and install to same path.

  7. If all the keys in old and new configurations match, copy the saved copy to the daemon.jar directory, to replace daemon.properties.

  8. If the configurations are different, change daemon.properties settings to correct values and check the correctness of all keys.

  9. Run from terminal: java -jar daemon.jar.

Inside the archive you can find a plist example for service installation with launchd process hypervisor.