| 1 19 20 26 27 package soot.jimple.toolkits.pointer.nativemethods; 28 29 import soot.*; 30 import soot.jimple.toolkits.pointer.representations.*; 31 import soot.jimple.toolkits.pointer.util.*; 32 33 public class JavaLangSecurityManagerNative extends NativeMethodClass { 34 public JavaLangSecurityManagerNative( NativeHelper helper ) { super(helper); } 35 36 41 public void simulateMethod(SootMethod method, 42 ReferenceVariable thisVar, 43 ReferenceVariable returnVar, 44 ReferenceVariable params[]){ 45 46 String subSignature = method.getSubSignature(); 47 48 if (subSignature.equals("java.lang.Class[] getClassContext()")) { 49 java_lang_SecurityManager_getClassContext(method, thisVar, 50 returnVar, params); 51 return; 52 53 } else if (subSignature.equals("java.lang.ClassLoader currentClassLoader0()")){ 54 java_lang_SecurityManager_currentClassLoader0(method, 55 thisVar, 56 returnVar, 57 params); 58 return; 59 60 } else if (subSignature.equals("java.lang.Class currentLoadedClass0()")){ 61 java_lang_SecurityManager_currentLoadedClass0(method, 62 thisVar, 63 returnVar, 64 params); 65 return; 66 67 } else { 68 defaultMethod(method, thisVar, returnVar, params); 69 return; 70 71 } 72 } 73 74 81 public 82 void java_lang_SecurityManager_getClassContext(SootMethod method, 83 ReferenceVariable thisVar, 84 ReferenceVariable returnVar, 85 ReferenceVariable params[]){ 86 helper.assignObjectTo(returnVar, Environment.v().getLeastArrayObject()); 87 } 88 89 100 public 101 void java_lang_SecurityManager_currentClassLoader0( 102 SootMethod method, 103 ReferenceVariable thisVar, 104 ReferenceVariable returnVar, 105 ReferenceVariable params[]) { 106 helper.assignObjectTo(returnVar, Environment.v().getClassLoaderObject()); 107 } 108 109 114 public 115 void java_lang_SecurityManager_currentLoadedClass0( 116 SootMethod method, 117 ReferenceVariable thisVar, 118 ReferenceVariable returnVar, 119 ReferenceVariable params[]) { 120 helper.assignObjectTo(returnVar, Environment.v().getClassObject()); 121 } 122 123 129 130 } 131 | Popular Tags |