內存作假常見方案可行性分析

內存作假通常修改所涉及到的幾個文件:

 M sys/frameworks/base/core/java/android/app/ActivityManager.javaM sys/frameworks/base/core/jni/android_os_Debug.cppM sys/frameworks/base/core/jni/android_util_Process.cppM sys/frameworks/base/services/core/java/com/android/server/am/ProcessList.javaM vnd/bsp/kernel5.15/kernel5.15/fs/proc/meminfo.cM vnd/bsp/kernel5.15/kernel5.15/mm/page_alloc.c

我們需要過的檢測app包括如下幾款:

安兔兔、魯大師、白眼、AIDA64、CPU X、CPU-Z、DevCheck、DeviceInfoHW

1、修改ActivityManager.java

--- a/sys/frameworks/base/core/java/android/app/ActivityManager.java
+++ b/sys/frameworks/base/core/java/android/app/ActivityManager.java
@@ -3438,8 +3438,8 @@ public class ActivityManager {public void writeToParcel(Parcel dest, int flags) {dest.writeLong(advertisedMem);
-            dest.writeLong(availMem);
-            dest.writeLong(totalMem);
+            dest.writeLong(availMem * 3);//運行內存作假:4GB-->12GB
+            dest.writeLong(totalMem * 3);

結果:

安兔兔			(可用√,總共√)
魯大師			(可用√,總共×)
白眼				(可用×,總共×)上面不行,下面行
AIDA64			(可用×,總共×)
CPU X			(可用√,總共√)
CPU-Z			(可用,總共)
DevCheck		(可用×,總共×)
DeviceInfoHW	(可用√,總共√)

2、修改android_os_Debug.cpp

--- a/sys/frameworks/base/core/jni/android_os_Debug.cpp
+++ b/sys/frameworks/base/core/jni/android_os_Debug.cpp
@@ -444,6 +444,11 @@ static void android_os_Debug_getMemInfo(JNIEnv *env, jobject clazz, jlongArray ocontinue;}outArray[i] = mem[i];
+            if (i == MEMINFO_TOTAL || i == MEMINFO_FREE || i == MEMINFO_AVAILABLE) {
+                outArray[i] = mem[i] * 3;//內存作假:4GB-->12GB
+            } else {
+                outArray[i] = mem[i];
+            }}

結果:

安兔兔			(可用×,總共×)
魯大師			(可用×,總共×)
白眼				(可用×,總共×)上面不行,下面也不行
AIDA64			(可用×,總共×)
CPU X			(可用×,總共×)
CPU-Z			(可用×,總共×)
DevCheck		(可用×,總共×)
DeviceInfoHW	(可用×,總共×)

3、修改android_util_Process.cpp

--- a/sys/frameworks/base/core/jni/android_util_Process.cpp
+++ b/sys/frameworks/base/core/jni/android_util_Process.cpp
@@ -684,7 +684,7 @@ static jlong android_os_Process_getFreeMemory(JNIEnv* env, jobject clazz)jlong sum = 0;std::for_each(mem.begin(), mem.end(), [&](uint64_t val) { sum += val; });
-    return sum * 1024;
+    return sum * 1024 * 3;}static jlong android_os_Process_getTotalMemory(JNIEnv* env, jobject clazz)
@@ -695,7 +695,7 @@ static jlong android_os_Process_getTotalMemory(JNIEnv* env, jobject clazz)return -1;}-    return static_cast<jlong>(si.totalram) * si.mem_unit;
+    return static_cast<jlong>(si.totalram) * si.mem_unit * 3;//內存作假:4GB-->12GB}

結果:

安兔兔			(可用√,總共√)
魯大師			(可用√,總共×)
白眼				(可用×,總共×)上面不行,下面行
AIDA64			(可用×,總共×)
CPU X			(可用√,總共√)
CPU-Z			(可用√,總共×)
DevCheck		(可用×,總共×)
DeviceInfoHW	(可用√,總共√)

4、修改ProcessList.java

--- a/sys/frameworks/base/services/core/java/com/android/server/am/ProcessList.java
+++ b/sys/frameworks/base/services/core/java/com/android/server/am/ProcessList.java
@@ -1795,8 +1795,8 @@ public final class ProcessList {final long homeAppMem = getMemLevel(HOME_APP_ADJ);final long cachedAppMem = getMemLevel(CACHED_APP_MIN_ADJ);outInfo.advertisedMem = getAdvertisedMem();
-        outInfo.availMem = getFreeMemory();
-        outInfo.totalMem = getTotalMemory();
+        outInfo.availMem = getFreeMemory() * 3;
+        outInfo.totalMem = getTotalMemory() * 3;//內存作假:4GB-->12GBoutInfo.threshold = homeAppMem;

結果:

安兔兔			(可用√,總共√)
魯大師			(可用√,總共×)
白眼				(可用×,總共×)上面不行,下面行
AIDA64			(可用×,總共×)
CPU X			(可用√,總共√)
CPU-Z			(可用√,總共×)
DevCheck		(可用×,總共×)
DeviceInfoHW	(可用√,總共√)

5、修改meminfo.c

--- a/vnd/bsp/kernel5.15/kernel5.15/fs/proc/meminfo.c
+++ b/vnd/bsp/kernel5.15/kernel5.15/fs/proc/meminfo.c
@@ -55,9 +55,9 @@ static int meminfo_proc_show(struct seq_file *m, void *v)sreclaimable = global_node_page_state_pages(NR_SLAB_RECLAIMABLE_B);sunreclaim = global_node_page_state_pages(NR_SLAB_UNRECLAIMABLE_B);-       show_val_kb(m, "MemTotal:       ", i.totalram);
-       show_val_kb(m, "MemFree:        ", i.freeram);
-       show_val_kb(m, "MemAvailable:   ", available);
+       show_val_kb(m, "MemTotal:       ", i.totalram * 3);//運行內存作假:4GB-->12GB
+       show_val_kb(m, "MemFree:        ", i.freeram * 3);
+       show_val_kb(m, "MemAvailable:   ", available * 3);

結果:

安兔兔			(可用×,總共×)
魯大師			(可用√,總共√)
白眼				(可用×,總共×)上面行,下面不行
AIDA64			(可用×,總共×)
CPU X			(可用×,總共×)
CPU-Z			(可用√,總共√)
DevCheck		(可用×,總共×)
DeviceInfoHW	(可用×,總共×)

6、修改page_alloc.c

--- a/vnd/bsp/kernel5.15/kernel5.15/mm/page_alloc.c
+++ b/vnd/bsp/kernel5.15/kernel5.15/mm/page_alloc.c
@@ -6177,13 +6177,13 @@ long si_mem_available(void)if (available < 0)available = 0;
-       return available;
+       return available * 3;}EXPORT_SYMBOL_GPL(si_mem_available);void si_meminfo(struct sysinfo *val){
-       val->totalram = totalram_pages();
+       val->totalram = totalram_pages() * 3;//運行內存作假:4GB-->12GB

結果:

安兔兔			(可用√,總共√)
魯大師			(可用√,總共√)
白眼				(可用√,總共√)
AIDA64			(可用√,總共√)
CPU X			(可用√,總共√)
CPU-Z			(可用√,總共√)
DevCheck		(可用√,總共√)
DeviceInfoHW	(可用√,總共√)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/92799.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/92799.shtml
英文地址,請注明出處:http://en.pswp.cn/web/92799.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C#(vs2015)利用unity實現彎管機仿真

以下是基于 Visual Studio 2015 和 Unity 實現彎管機仿真的完整技術流程&#xff0c;結合工業仿真開發的最佳實踐整理而成&#xff0c;涵蓋建模、通信、運動控制和交互邏輯等核心模塊&#xff1a;---一、環境配置與基礎框架搭建 1. Unity 與 VS2015 聯動 - 安裝 [Visual Studio…

華為USG防火墻雙機,但ISP只給了1個IP, 怎么辦?

華為USG防火墻雙機&#xff0c;但ISP只給了1個IP&#xff0c; 怎么辦&#xff1f; 華為USG雙機使用VRRP&#xff0c;需要3個Ip 本次聯通只給了 100.1.1.0/30 這一個互聯段 聯通側用了100.1.1.1&#xff0c; 我們這一側只有100.1.1.2 怎么辦&#xff1f; 找聯通多要幾個Ip&…

Go 工具鏈環境變量實戰:從“command not found”到工具全局可用的全流程復盤

在 Go 生態里&#xff0c;豐富的命令行工具極大提升了開發效率。但很多小伙伴第一次用 go install 安裝第三方工具后&#xff0c;卻遇到終端里找不到命令的尷尬——明明裝好了&#xff0c;終端卻報 “command not found”。這是為什么呢&#xff1f;本文結合我親身踩過的坑&…

MCU 軟件斷點注意事項!!!

——為什么調試器會在運行中改我的Flash程序&#xff1f;調試單片機時&#xff0c;很多人都有這樣的疑問&#xff1a;明明我在調試前刷進去的固件是好的&#xff0c;為什么加了一個斷點之后&#xff0c;調試器居然去改了 Flash&#xff1f; 如果我拔掉調試器&#xff0c;這個固…

騰訊iOA:數據安全的港灣

聲明&#xff1a;文章為本人真實測評&#xff0c;非廣告&#xff0c;無推廣&#xff0c;為用戶體驗文章 前言 當前網絡安全威脅日益復雜化&#xff0c;惡意軟件攻擊手段不斷升級。例如&#xff1a;釣魚郵件攜帶的偽裝安裝包可能引發勒索病毒在內網擴散&#xff0c;導致業務中斷…

相冊管理系統介紹

之前在github和gitee上了找了好久也沒找到符合自己需求的相冊管理系統&#xff0c;最近就靜下心來自己寫了一套。系統分為前臺相冊系統與后臺管理系統。 技術框架采用的是前端vueelementui&#xff0c;后端springbootmybatisplus。 下面是項目截圖&#xff1a;項目功能介紹&…

企業級高性能WEB服務器Nginx

nginx安裝 1.nginx編譯安裝 #在nginx官網獲取安裝包 [rootwebserver mnt]# wget https://nginx.org/download/nginx-1.24.0.tar.gz#解壓安裝包 [rootwebserver mnt]# tar zxf nginx-1.24.0.tar.gz [rootwebserver mnt]# cd nginx-1.24.0/#安裝編譯nginx需要的環境軟件 [rootw…

【Node.js從 0 到 1:入門實戰與項目驅動】1.3 Node.js 的應用場景(附案例與代碼實現)

文章目錄1.3 Node.js 的應用場景&#xff08;附案例與代碼實現&#xff09;1.3 Node.js 的應用場景&#xff08;附案例與代碼實現&#xff09;一、Web 服務器開發二、API 開發三、命令行工具&#xff08;CLI&#xff09;開發四、實時應用開發小結1.3 Node.js 的應用場景&#x…

No time to train! Training-Free Reference-Based Instance Segmentation之論文閱讀

摘要 圖像分割模型的性能歷來受到大規模標注數據收集成本高昂的制約。Segment Anything Model&#xff08;SAM&#xff09;通過一種可提示、與語義無關的分割范式緩解了這一根本問題&#xff0c;但在處理新圖像時&#xff0c;仍然需要手動提供視覺提示或依賴復雜的領域相關提示…

本地文件夾與 GitHub 遠程倉庫綁定并進行日常操作的完整命令流程

以下是將本地文件夾與 GitHub 遠程倉庫綁定并進行日常操作的完整命令流程&#xff0c;特別針對你的需求&#xff08;忽略數據集、偏好使用 rebase 保持主分支整潔&#xff09;進行了優化&#xff1a; 一、初始設置&#xff08;首次綁定&#xff09;在本地項目文件夾初始化 Git …

windows10 ubuntu 24.04 雙系統 安裝教程

準備windows安裝包解壓到u盤中作為啟動盤準備ubuntu安裝包https://ubuntu.com/download/desktop/thank-you?version24.04.3&architectureamd64<strue解壓到u盤中作為啟動盤準備磁盤分區安裝windows操作系統安裝disk geniusWindows 三個NTFS的分區System: windows操作系…

騰訊前端面試模擬詳解

以下是騰訊及騰訊音樂娛樂&#xff08;TME&#xff09;前端崗位高頻手撕題目詳解&#xff0c;結合真題及考察要點整理&#xff0c;覆蓋面試核心考點&#xff1a;?? 一、核心手撕題&#xff08;騰訊/TME 必考&#xff09; 1. Promise 并發控制&#xff08;90%場次出現&#xf…

微軟將于 10 月停止混合 Exchange 中的共享 EWS 訪問

使用 Exchange 混合部署的組織應為未來幾個月即將生效的新變化做好準備。微軟已宣布&#xff0c;自 2025 年 8 月起&#xff0c;將在某些混合環境中暫時阻止使用 Exchange Online 共享服務主體的 Exchange Web 服務 (EWS) 流量。 此項變更主要影響使用“豐富共存”功能的組織&a…

STM32CubeMX + HAL 庫:用硬件IIC接口實現AT24C02 EEPROM芯片的讀寫操作

1 概述1.1 實驗目的本實驗旨在通過 STM32 微控制器的硬件 IC 接口&#xff0c;對 AT24C02 外部 EEPROM 存儲芯片 進行讀寫操作。實驗演示了芯片地址配置、單字節/多字節讀寫、跨頁寫入&#xff08;Page Write&#xff09;功能。并提供完整的驅動代碼&#xff0c;幫助讀者深入理…

基于Android的音樂播放器/基于android studio的音樂系統/音樂管理系統

原生APP安卓開發設計之基于Android的音樂播放器/音樂系統/音樂管理系統[springboot]android studio

OmniHuman:字節推出的AI項目,支持單張照片生成逼真全身動態視頻

本文轉載自&#xff1a;OmniHuman&#xff1a;字節推出的AI項目&#xff0c;支持單張照片生成逼真全身動態視頻 - Hello123。 ** 一、核心產品定位 OmniHuman 是字節跳動研發的 AI 視頻生成技術&#xff0c;通過單張圖像&#xff08;真人 / 動漫 / 3D 角色&#xff09;和音頻…

5種無需USB線將照片從手機傳輸到筆記本電腦的方法

Android手機和平板電腦非常適合查看照片&#xff0c;因為這些移動設備可以隨身攜帶&#xff0c;隨時隨地查看文件。然而&#xff0c;移動設備的存儲空間非常有限&#xff0c;而且很容易丟失或損壞。因此&#xff0c;將重要的照片從Android設備傳輸到電腦進行備份是非常明智的決…

2025年滲透測試面試題總結-14(題目+回答)

安全領域各種資源&#xff0c;學習文檔&#xff0c;以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各種好玩的項目及好用的工具&#xff0c;歡迎關注。 目錄 九十一、Android APP 逆向分析步驟 九十二、SQL注入分類 九十三、SQL注入防御 九十四、序列化與反序列化…

PG靶機 - Flu

一、初步偵察與服務識別 1.1 端口掃描 首先對目標主機 192.168.122.41 進行全端口掃描&#xff0c;以發現其上開放的網絡服務。 sudo nmap 192.168.122.41 -p- --min-rate5000 -A圖1: Nmap掃描結果&#xff0c;顯示開放22, 8090, 和 8091端口 掃描結果顯示&#xff0c;目標開放…

【Leetcode】隨筆

文章目錄題目一&#xff1a;路徑總和 II&#xff08;LeetCode 113&#xff09;題目分析&#xff1a;解題思路&#xff1a;示例代碼&#xff1a;代碼解析&#xff1a;題目二&#xff1a;顏色分類&#xff08;LeetCode 75&#xff09;題目分析&#xff1a;解題思路&#xff1a;示…