Android:java反射的使用

干货分享:


从技术上完成一次游戏插件的奇妙之旅

技术要求:

    java 基础;

    android 基础;

    apk分析基础;

工具要求:

    apktool:apk分析工具

    dex2jar:代码分析

    jadx:代码分析

    android studio:插件编写

拿到游戏之后,使用apktool反编译游戏apk,找到清单文件

找到游戏入口,

p2游戏入口MainActivity分析得到,GameManager类的重要,找到并打开GameManager类,

Android:java反射的使用_第1张图片

p3分析看到游戏的一个属性,属性定义为静态,利用java 反射不需要实例就可以拿到:mCurrentTankLifes

Android:java反射的使用_第2张图片

接下来就可以尝试编写代码,核心代码:                    

ClassLoader clLoader = getTargetApplication().getClassLoader();                    

Classgm = clLoader.loadClass("com.ami.BattleCity.Manager.GameManager");                    

Field life = gm.getDeclaredField("mCurrentTankLifes");                    

life.setAccessible(true);                    

int l = life.getInt(gm);                    

l += 100;                    

life.setInt(gm, l);


需要对java 反射有一定了解

https://github.com/daoxiaomian/Plugins222/tree/master/%E5%9D%A6%E5%85%8B1990


Android:java反射的使用_第3张图片
壹杯敬月光

你可能感兴趣的:(Android:java反射的使用)