code, which is usually written in C or C++.

-   **Crypto Code:** Crypto code, if true, reveals that the app has somehow leveraged crypto code. Researchers such as the authors of [@egele2013empirical] could benefit from this artefact to only collect (e.g., download from [[**AndroZoo**]{}]{}) crypto-relevant Android apps, avoiding the download of irrelevant apps and also the analysis of those potential irrelevant apps.

-   **Dynamic Code:** Dynamic code, if true, indicates that the app has loaded additional code at runtime.

-   **Reflection:** Reflection, if true, demonstrates that the app has accessed reflective code. Usually, if the dynamic code item is true, reflection item should be also true, as the additionally loaded code should normally be accessed through reflection.

-   **Class List:** Class list enumerates all the class names of an app (cf. Listing \[code:class\_list\]). We expect this information to be used by researchers for selecting apps with accessing specific classes. For example, researchers could leverage this information to select a set of apps with which all of them have integrated with ad library *com.wandoujia.ads*.

<!-- -->

    com.amazon.device.ads.Ad
    com.amazon.device.ads.AdActivity
    com.applovin.impl.sdk.cg
    com.applovin.impl.sdk.ch
    com.appodeal.ads.interstitial.v
    com.appodeal.ads.interstitial.w
    com.chartboost.sdk.CBLocation
    com.chartboost.sdk.Chartboost
    com.facebook.ssp.internal.g$7
    com.facebook.ssp.internal.g$a
    com.gera.ArtScienceMuseumJigsawPuzzles.BuildConfig
    com.gera.ArtScienceMuseumJigsawPuzzles.R
    com.google.ads.AdRequest$Gender
    com.google.ads.AdSize
    com.google.android.gms.internal.zzcy
    com.google.android.gms.internal.zzcz
    com.inmobi.rendering.InMobiAdActivity$4
    com.inmobi.rendering.InMobiAdActivity$5
    com.mopub.common.AdFormat
    com.mopub.common.AdReport
    com.revmob.android.d
    com.revmob.android.e
    com.startapp.android.publish.Ad
    com.startapp.android.publish.Ad$1
    com.yandex.metrica.a
    