Advertisement
Guest User

Reflector.java

a guest
Dec 13th, 2016
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.22 KB | None | 0 0
  1. public class Reflector extends URLClassLoader {
  2.  
  3.     private RsResources resources;
  4.     private RsLoader rsLoader;
  5.    
  6.     public Reflector(RsLoader rsLoader, RsResources resources, URL[] url) {
  7.         super(url);
  8.         this.resources = resources;
  9.         this.rsLoader = rsLoader;
  10.     }
  11.  
  12.     public Object getFieldValue(String identifier) {
  13.         FieldInfo f = resources.getHook(identifier);
  14.         return getFieldValueByDetails(rsLoader.getApplet(), f.getClassName(), f.getFieldName());
  15.     }
  16.  
  17.     public Object getFieldValueByDetails(Object obj, String className, String fieldName) {
  18.  
  19.         Object o = null;
  20.    
  21.         Field field;
  22.         try {
  23.  
  24.             field = loadClass(className).getDeclaredField(fieldName);
  25.            
  26.             if (!field.isAccessible())
  27.                 field.setAccessible(true);
  28.            
  29.             try {  
  30.                 if (java.lang.reflect.Modifier.isStatic(field.getModifiers()))
  31.                     return field.get(null);
  32.                 else
  33.                     return field.get(obj);
  34.             } catch (IllegalArgumentException e) {
  35.                 e.printStackTrace();
  36.             } catch (IllegalAccessException e) {
  37.                 e.printStackTrace();
  38.             }
  39.         } catch (NoSuchFieldException e) {
  40.             e.printStackTrace();
  41.         } catch (SecurityException e) {
  42.             e.printStackTrace();
  43.         } catch (ClassNotFoundException e) {
  44.             e.printStackTrace();
  45.         }
  46.  
  47.         return o;
  48.     }
  49.    
  50.  
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement