Closed hitwhoyxw closed 5 months ago
public ConfigObject getConfigInApp() { ConfigObject configObject = null; xSharedPreferences.reload(); try { configObject = new ConfigObject( xSharedPreferences.getBoolean("isMoudleEnable", false), xSharedPreferences.getBoolean("isDelayEnable", false), xSharedPreferences.getBoolean("isMuteEnable", false), xSharedPreferences.getFloat("delayTimeMin", 0f), xSharedPreferences.getFloat("daleyTimeMax", 0f), xSharedPreferences.getString("muteKeyword", ""), xSharedPreferences.getBoolean("fetchMode", false) ); LogUtil.PrintLog("getConfigInApp" + configObject.toString(), TAG); } catch (Exception e) { Log.i(TAG, "getConfigInApp: " + e.getMessage()); } return configObject; }
`public static int getRandDelayTime(ConfigObject configObject) { int delayTimeMin = Math.round(configObject.delayTimeMin * 1000); int daleyTimeMax = Math.round(configObject.daleyTimeMax * 1000); if (delayTimeMin > daleyTimeMax) { int temp = delayTimeMin; delayTimeMin = daleyTimeMax; daleyTimeMax = temp; } int mSec = new Random().nextInt(daleyTimeMax - delayTimeMin + 1) + delayTimeMin; return mSec; }` 这是举个简单的例子,通过xsharedpreference读写配置,模块app修改配置后不重启的话hook好像是不会变的,生成的值还是在原来的范围,使用wxposed模块发现是支持的,大佬如果能提供个思路不胜感激,respect
重启指的是重启app,用的lsposed
solve
public ConfigObject getConfigInApp() { ConfigObject configObject = null; xSharedPreferences.reload(); try { configObject = new ConfigObject( xSharedPreferences.getBoolean("isMoudleEnable", false), xSharedPreferences.getBoolean("isDelayEnable", false), xSharedPreferences.getBoolean("isMuteEnable", false), xSharedPreferences.getFloat("delayTimeMin", 0f), xSharedPreferences.getFloat("daleyTimeMax", 0f), xSharedPreferences.getString("muteKeyword", ""), xSharedPreferences.getBoolean("fetchMode", false) ); LogUtil.PrintLog("getConfigInApp" + configObject.toString(), TAG); } catch (Exception e) { Log.i(TAG, "getConfigInApp: " + e.getMessage()); } return configObject; }