package fuzion24.device.vulnerability.vulnerabilities.system; import android.content.Context; import android.util.Log; import java.util.ArrayList; import java.util.List; import fuzion24.device.vulnerability.util.CPUArch; import fuzion24.device.vulnerability.vulnerabilities.VulnerabilityTest; /** * Created by fuzion24 on 11/23/15. */ public class CVE20151528 implements VulnerabilityTest { private final static String TAG = "CVE-2015-1528"; static { System.loadLibrary("cve20151528"); } @Override public String getCVEorID() { return "CVE-2015-1528"; } private native int doCheck(); @Override public boolean isVulnerable(Context context) throws Exception { int checkVal = doCheck(); if(checkVal == 0) { return false; }else if(checkVal == 1) { return true; }else { Log.d(TAG, "Got a return value of " + checkVal); //TODO: grab more information about failure, errno and error string throw new Exception("Error running test"); } } @Override public List<CPUArch> getSupportedArchitectures() { List<CPUArch> supportedArchs = new ArrayList<>(); supportedArchs.add(CPUArch.ARM); supportedArchs.add(CPUArch.ARM7); supportedArchs.add(CPUArch.X86); return supportedArchs; } }