Skip to content

Commit

Permalink
调整项目结构,更新Hook点位,Bug修复。
Browse files Browse the repository at this point in the history
Signed-off-by: HChenX <[email protected]>
  • Loading branch information
HChenX committed Nov 11, 2023
1 parent 59df9b9 commit 8fcb246
Show file tree
Hide file tree
Showing 30 changed files with 188 additions and 167 deletions.
Original file line number Diff line number Diff line change
@@ -1,31 +1,31 @@
package Com.HChen.Hook.Execute.MiuiService;

import static Com.HChen.Hook.Name.MiuiName.CameraBooster;
import static Com.HChen.Hook.Name.MiuiName.GameMemoryCleaner;
import static Com.HChen.Hook.Name.MiuiName.PeriodicCleanerService;
import static Com.HChen.Hook.Name.MiuiName.PressureStateSettings;
import static Com.HChen.Hook.Name.MiuiName.ProcessKillerIdler;
import static Com.HChen.Hook.Name.MiuiName.ProcessMemoryCleaner;
import static Com.HChen.Hook.Name.MiuiName.ProcessPowerCleaner;
import static Com.HChen.Hook.Name.MiuiName.ScoutDisplayMemoryManager;
import static Com.HChen.Hook.Name.MiuiName.ScoutHelper;
import static Com.HChen.Hook.Name.MiuiName.SmartCpuPolicyManager;
import static Com.HChen.Hook.Name.MiuiName.SystemPressureController;
import static Com.HChen.Hook.Value.MiuiValue.boostCameraIfNeeded;
import static Com.HChen.Hook.Value.MiuiValue.cleanUpMemory;
import static Com.HChen.Hook.Value.MiuiValue.doClean;
import static Com.HChen.Hook.Value.MiuiValue.handleAutoLockOff;
import static Com.HChen.Hook.Value.MiuiValue.handleKillAll;
import static Com.HChen.Hook.Value.MiuiValue.handleLimitCpuException;
import static Com.HChen.Hook.Value.MiuiValue.handleScreenOff;
import static Com.HChen.Hook.Value.MiuiValue.handleThermalKillProc;
import static Com.HChen.Hook.Value.MiuiValue.killPackage;
import static Com.HChen.Hook.Value.MiuiValue.killProcess;
import static Com.HChen.Hook.Value.MiuiValue.killProcessByMinAdj;
import static Com.HChen.Hook.Value.MiuiValue.nStartPressureMonitor;
import static Com.HChen.Hook.Value.MiuiValue.onStartJob;
import static Com.HChen.Hook.Value.MiuiValue.reclaimMemoryForGameIfNeed;
import static Com.HChen.Hook.Value.MiuiValue.updateScreenState;
package Com.HChen.Hook.Hook;

import static Com.HChen.Hook.Param.Name.MiuiName.CameraBooster;
import static Com.HChen.Hook.Param.Name.MiuiName.GameMemoryCleaner;
import static Com.HChen.Hook.Param.Name.MiuiName.PeriodicCleanerService;
import static Com.HChen.Hook.Param.Name.MiuiName.PressureStateSettings;
import static Com.HChen.Hook.Param.Name.MiuiName.ProcessKillerIdler;
import static Com.HChen.Hook.Param.Name.MiuiName.ProcessMemoryCleaner;
import static Com.HChen.Hook.Param.Name.MiuiName.ProcessPowerCleaner;
import static Com.HChen.Hook.Param.Name.MiuiName.ScoutDisplayMemoryManager;
import static Com.HChen.Hook.Param.Name.MiuiName.ScoutHelper;
import static Com.HChen.Hook.Param.Name.MiuiName.SystemPressureController;
import static Com.HChen.Hook.Param.Value.MiuiValue.boostCameraIfNeeded;
import static Com.HChen.Hook.Param.Value.MiuiValue.cleanUpMemory;
import static Com.HChen.Hook.Param.Value.MiuiValue.doClean;
import static Com.HChen.Hook.Param.Value.MiuiValue.handleAutoLockOff;
import static Com.HChen.Hook.Param.Value.MiuiValue.handleKillAll;
import static Com.HChen.Hook.Param.Value.MiuiValue.handleKillApp;
import static Com.HChen.Hook.Param.Value.MiuiValue.handleScreenOff;
import static Com.HChen.Hook.Param.Value.MiuiValue.handleThermalKillProc;
import static Com.HChen.Hook.Param.Value.MiuiValue.isEnableScoutMemory;
import static Com.HChen.Hook.Param.Value.MiuiValue.killPackage;
import static Com.HChen.Hook.Param.Value.MiuiValue.killProcess;
import static Com.HChen.Hook.Param.Value.MiuiValue.killProcessByMinAdj;
import static Com.HChen.Hook.Param.Value.MiuiValue.nStartPressureMonitor;
import static Com.HChen.Hook.Param.Value.MiuiValue.onStartJob;
import static Com.HChen.Hook.Param.Value.MiuiValue.reclaimMemoryForGameIfNeed;
import static Com.HChen.Hook.Param.Value.MiuiValue.updateScreenState;

import android.app.job.JobParameters;
import android.content.Context;
Expand All @@ -37,16 +37,25 @@ public class MiuiService extends HookMode {
@Override
public void init() {
/*设置禁止Scout功能*/
findAndHookConstructor(ScoutDisplayMemoryManager,
/*findAndHookConstructor(ScoutDisplayMemoryManager,
new HookAction() {
@Override
protected void after(MethodHookParam param) {
super.after(param);
getDeclaredField(param, "ENABLE_SCOUT_MEMORY_MONITOR", false);
/*报告内存泄露?*/
*//*报告内存泄露?*//*
// getDeclaredField(param, "SCOUT_MEMORY_DISABLE_KGSL", false);
}
}
);*/

/*设置禁止Scout功能*/
findAndHookMethod(ScoutDisplayMemoryManager,
isEnableScoutMemory, new HookAction() {
@Override
protected void before(MethodHookParam param) {
param.setResult(false);
}
}
);

/*测试用*/
Expand Down Expand Up @@ -78,7 +87,6 @@ protected void before(MethodHookParam param) {
isEnableResumeFeature, new HookAction() {
@Override
protected void before(MethodHookParam param) {
super.before(param);
param.setResult(false);
}
}
Expand All @@ -88,7 +96,6 @@ protected void before(MethodHookParam param) {
findAndHookConstructor(ScoutHelper, new HookAction() {
@Override
protected void after(MethodHookParam param) {
super.after(param);
/*系统监察功能 关闭可以节省功耗?*/
setBoolean(param.thisObject, "ENABLED_SCOUT", false);
setBoolean(param.thisObject, "ENABLED_SCOUT_DEBUG", false);
Expand All @@ -109,7 +116,6 @@ protected void after(MethodHookParam param) {
new HookAction() {
@Override
protected void before(MethodHookParam param) {
super.before(param);
param.setResult(null);
logSI(reclaimMemoryForGameIfNeed, "game: " + param.args[0]);
}
Expand All @@ -122,7 +128,6 @@ protected void before(MethodHookParam param) {
Context.class, new HookAction() {
@Override
protected void after(MethodHookParam param) {
super.after(param);
getDeclaredField(param, "IS_MEMORY_CLEAN_ENABLED", false);
}
}
Expand All @@ -134,7 +139,6 @@ protected void after(MethodHookParam param) {
new HookAction() {
@Override
protected void before(MethodHookParam param) {
super.before(param);
param.setResult(null);
logSI(doClean, "thresHold: " + param.args[0] +
" killLevel: " + param.args[1] +
Expand All @@ -149,7 +153,6 @@ protected void before(MethodHookParam param) {
handleScreenOff, new HookAction() {
@Override
protected void before(MethodHookParam param) {
super.before(param);
param.setResult(null);
}
}
Expand All @@ -163,7 +166,6 @@ protected void before(MethodHookParam param) {
new HookAction() {
@Override
protected void before(MethodHookParam param) {
super.before(param);
param.setResult(null);
logSI(handleMessage, "msg: " + param.args[0]);
}
Expand All @@ -177,7 +179,6 @@ protected void before(MethodHookParam param) {
new HookAction() {
@Override
protected void before(MethodHookParam param) {
super.before(param);
param.setResult(null);
}
}
Expand All @@ -189,7 +190,6 @@ protected void before(MethodHookParam param) {
new HookAction() {
@Override
protected void after(MethodHookParam param) {
super.after(param);
getDeclaredField(param, "mEnable", false);
}
}
Expand All @@ -201,7 +201,6 @@ protected void after(MethodHookParam param) {
new HookAction() {
@Override
protected void before(MethodHookParam param) {
super.before(param);
param.setResult(null);
logSI(cleanUpMemory, "targetReleaseMem: " + param.args[0]);
}
Expand All @@ -214,7 +213,6 @@ protected void before(MethodHookParam param) {
new HookAction() {
@Override
protected void before(MethodHookParam param) {
super.before(param);
param.setResult(null);
}
}
Expand All @@ -227,7 +225,6 @@ protected void before(MethodHookParam param) {
new HookAction() {
@Override
protected void before(MethodHookParam param) {
super.before(param);
param.setResult(null);
}
}
Expand All @@ -239,7 +236,6 @@ protected void before(MethodHookParam param) {
new HookAction() {
@Override
protected void before(MethodHookParam param) {
super.before(param);
param.setResult(false);
}
}
Expand All @@ -251,7 +247,6 @@ protected void before(MethodHookParam param) {
new HookAction() {
@Override
protected void before(MethodHookParam param) {
super.before(param);
param.setResult(null);
}
}
Expand All @@ -263,7 +258,6 @@ protected void before(MethodHookParam param) {
new HookAction() {
@Override
protected void before(MethodHookParam param) {
super.before(param);
param.setResult(null);
logSI(handleThermalKillProc, "config: " + param.args[0]);
}
Expand All @@ -276,13 +270,22 @@ protected void before(MethodHookParam param) {
new HookAction() {
@Override
protected void before(MethodHookParam param) {
super.before(param);
param.setResult(null);
logSI(handleKillAll, "config: " + param.args[0] + " isKillSystemProc: " + param.args[1]);
}
}
);

hookAllMethods(ProcessPowerCleaner,
handleKillApp, new HookAction() {
@Override
protected void before(MethodHookParam param) {
param.setResult(null);
logSI(handleKillAll, "config: " + param.args[0]);
}
}
);

/*禁止kill_用处暂不确定*/
/*hookAllMethods("com.android.server.am.ProcessPowerCleaner",
"handleKillAll",
Expand Down Expand Up @@ -310,7 +313,6 @@ protected void before(MethodHookParam param) {
killPackage, new HookAction() {
@Override
protected void before(MethodHookParam param) {
super.before(param);
param.setResult(0L);
}
}
Expand All @@ -322,7 +324,6 @@ protected void before(MethodHookParam param) {
new HookAction() {
@Override
protected void before(MethodHookParam param) {
super.before(param);
param.setResult(0L);
}
}
Expand All @@ -334,7 +335,6 @@ protected void before(MethodHookParam param) {
new HookAction() {
@Override
protected void before(MethodHookParam param) {
super.before(param);
param.setResult(null);
}
}
Expand All @@ -345,7 +345,6 @@ protected void before(MethodHookParam param) {
killProcessByMinAdj, new HookAction() {
@Override
protected void before(MethodHookParam param) {
super.before(param);
param.setResult(null);
logSI(killProcessByMinAdj, "minAdj: " + param.args[0] +
" reason: " + param.args[1] +
Expand All @@ -370,8 +369,8 @@ protected void before(MethodHookParam param) {
new HookAction() {
@Override
protected void before(MethodHookParam param) {
super.before(param);
param.setResult(true);
logSI(cleanUpMemory, "runningProcList: " + param.args[0] + " targetReleaseMem: " + param.args[1]);
}
}
);
Expand All @@ -382,24 +381,23 @@ protected void before(MethodHookParam param) {
new HookAction() {
@Override
protected void before(MethodHookParam param) {
super.before(param);
param.setResult(null);
logSI(boostCameraIfNeeded, "memThreshold: " + param.args[0] + " isMiuiCamera: " + param.args[1]);
}
}
);

/*禁止Cpu使用检查*/
findAndHookMethod(SmartCpuPolicyManager,
/*禁止Cpu使用检查
* 调用killProcess*/
/*findAndHookMethod(SmartCpuPolicyManager,
handleLimitCpuException, int.class, new HookAction() {
@Override
protected void before(MethodHookParam param) {
super.before(param);
param.setResult(null);
logSI(handleLimitCpuException, "type: " + param.args[0]);
}
}
);
);*/

/*多余操作*/
/* *//*禁用MiuiMemoryService*//*
Expand Down Expand Up @@ -433,7 +431,6 @@ protected void before(MethodHookParam param) {
new HookAction() {
@Override
protected void after(MethodHookParam param) {
super.after(param);
getDeclaredField(param, "sCompactionEnable", false);
getDeclaredField(param, "sCompactSingleProcEnable", false);
getDeclaredField(param, "sWriteEnable", false);
Expand All @@ -447,7 +444,6 @@ protected void after(MethodHookParam param) {
new HookAction() {
@Override
protected void after(MethodHookParam param) {
super.after(param);
getDeclaredField(param, "RECLAIM_IF_NEEDED", false);
*//*getDeclaredField(param, "USE_LEGACY_COMPACTION", false);*//*
}
Expand All @@ -472,7 +468,6 @@ protected void before(MethodHookParam param) {
new HookAction() {
@Override
protected void after(MethodHookParam param) {
super.after(param);
setBoolean(param.thisObject, "PROCESS_CLEANER_ENABLED", false);
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package Com.HChen.Hook.Execute.MiuiFramework;
package Com.HChen.Hook.Hook;

import static Com.HChen.Hook.Name.MiuiName.ProcessManager;
import static Com.HChen.Hook.Value.MiuiValue.kill;
import static Com.HChen.Hook.Param.Name.MiuiName.ProcessManager;
import static Com.HChen.Hook.Param.Value.MiuiValue.kill;

import Com.HChen.Hook.Mode.HookMode;

Expand All @@ -13,7 +13,6 @@ public void init() {
new HookAction() {
@Override
protected void before(MethodHookParam param) {
super.before(param);
param.setResult(false);
}
}
Expand Down
Loading

0 comments on commit 8fcb246

Please sign in to comment.