Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Reflector extends URLClassLoader {
- private RsResources resources;
- private RsLoader rsLoader;
- public Reflector(RsLoader rsLoader, RsResources resources, URL[] url) {
- super(url);
- this.resources = resources;
- this.rsLoader = rsLoader;
- }
- public Object getFieldValue(String identifier) {
- FieldInfo f = resources.getHook(identifier);
- return getFieldValueByDetails(rsLoader.getApplet(), f.getClassName(), f.getFieldName());
- }
- public Object getFieldValueByDetails(Object obj, String className, String fieldName) {
- Object o = null;
- Field field;
- try {
- field = loadClass(className).getDeclaredField(fieldName);
- if (!field.isAccessible())
- field.setAccessible(true);
- try {
- if (java.lang.reflect.Modifier.isStatic(field.getModifiers()))
- return field.get(null);
- else
- return field.get(obj);
- } catch (IllegalArgumentException e) {
- e.printStackTrace();
- } catch (IllegalAccessException e) {
- e.printStackTrace();
- }
- } catch (NoSuchFieldException e) {
- e.printStackTrace();
- } catch (SecurityException e) {
- e.printStackTrace();
- } catch (ClassNotFoundException e) {
- e.printStackTrace();
- }
- return o;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement