天天看點

adroid xpose 修改java方法執行個體_基于xposed 修改硬體資訊(xposed架構使用)

【執行個體簡介】android Hook架構Xposed

【執行個體截圖】

adroid xpose 修改java方法執行個體_基于xposed 修改硬體資訊(xposed架構使用)

【核心代碼】

package com.lixin.hardwarecode;

import android.app.Activity;

import android.os.Bundle;

import android.util.Log;

import android.widget.Toast;

import com.lixin.hardwarecode.Utis.Mnt;

import com.lixin.hardwarecode.Utis.SharedPref;

import java.io.File;

import java.io.RandomAccessFile;

public class MainActivity extends Activity {

protected void onCreate(Bundle savedInstanceState)

{

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

Save();

CPU();

}

private void Save(){

SharedPref mySP = new SharedPref(getApplicationContext());

mySP.setSharedPref("serial","aee5060e"); // 序列槽序列号

mySP.setSharedPref("getBaseband","SCL23KDU1BNG3"); // get 參數

mySP.setSharedPref("BaseBand", "REL" ); // 固件版本

mySP.setSharedPref("board", "msm8916" ); //主機闆

mySP.setSharedPref("brand", "Huawei" ); //裝置品牌

mySP.setSharedPref("ABI", "armeabi-v7a" ); // 裝置指令集名稱 1

mySP.setSharedPref("ABI2", "armeabi" ); // 裝置指令集名稱 2

mySP.setSharedPref("device", "hwG750-T01" ); //裝置驅動名稱

mySP.setSharedPref("display", "R7c_11_151207" ); //裝置顯示的版本包 固件版本

// 指紋 裝置的唯一辨別。由裝置的多個資訊拼接合成。

mySP.setSharedPref("fingerprint", "Huawei/G750-T01/hwG750-T01:4.2.2/HuaweiG750-T01/C00B152:user/ota-rel-keys,release-keys" );

mySP.setSharedPref("NAME", "mt6592" ); //裝置硬體名稱

mySP.setSharedPref("ID", "KTU84P" ); //裝置版本号

mySP.setSharedPref("Manufacture", "HUAWEI" ); //裝置制造商

mySP.setSharedPref("model", "HUAWEI G750-T01" ); //手機的型号 裝置名稱

mySP.setSharedPref("product", "hwG750-T01" ); //裝置驅動名稱

mySP.setSharedPref("booltloader", "unknown" ); //裝置引導程式版本号

mySP.setSharedPref("host", "ubuntu-121-114" ); //裝置主機位址

mySP.setSharedPref("build_tags", "release-keys" ); //裝置标簽

mySP.setSharedPref("shenbei_type", "user" ); //裝置版本類型

mySP.setSharedPref("incrementalincremental", "eng.root.20151207" ); //源碼控制版本号

mySP.setSharedPref("AndroidVer", "5.1" ); //系統版本

mySP.setSharedPref("API", "19" ); //系統的API級别 SDK

mySP.setintSharedPref("time",123456789);// 固件時間

mySP.setSharedPref("AndroidID", "fc4ad25f66d554a8" ); // android id

mySP.setSharedPref("DESCRIPTION", "jfltexx-user 4.3 JSS15J I9505XXUEML1 release-keys" ); //使用者的KEY

mySP.setSharedPref("IMEI","506066104722640"); // 序列号IMEI

mySP.setSharedPref("LYMAC","BC:1A:EA:D9:8D:98");//藍牙 MAC

mySP.setSharedPref("WifiMAC","a8:a6:68:a3:d9:ef"); // WIF mac位址

mySP.setSharedPref("WifiName","免費WIFI"); // 無線路由器名

mySP.setSharedPref("BSSID", "ce:ea:8c:1a:5c:b2"); // 無線路由器位址

mySP.setSharedPref("IMSI","460017932859596");

mySP.setSharedPref("PhoneNumber","13117511178"); // 手機号碼

mySP.setSharedPref("SimSerial", "89860179328595969501"); // 手機卡序列号

mySP.setSharedPref("networktor","46001" ); // 網絡營運商類型

mySP.setSharedPref("Carrier","中國聯通" );// 網絡類型名

mySP.setSharedPref("CarrierCode","46001" ); // 營運商

mySP.setSharedPref("simopename","中國聯通" );// 營運商名字

mySP.setSharedPref("gjISO", "cn");// 國家iso代碼

mySP.setSharedPref("CountryCode","cn" );// 手機卡國家

mySP.setSharedPref("deviceversion", "100"); // 傳回系統版本

mySP.setintSharedPref("getType",1); // 聯網方式 1為WIFI 2為流量

mySP.setintSharedPref("networkType", 6);// 網絡類型

mySP.setintSharedPref("phonetype",5 ); // 手機類型

mySP.setintSharedPref("SimState", 10); // 手機卡狀态

mySP.setintSharedPref("width", 720); // 寬

mySP.setintSharedPref("height", 1280); // 高

mySP.setintSharedPref("getIP", -123456789); // 内網ip(wifl可用)

mySP.setintSharedPref("DPI",320); // dpi

mySP.setfloatharedPref("density", (float) 2.0); // density

mySP.setfloatharedPref("xdpi", (float) 200.123);

mySP.setfloatharedPref("ydpi", (float) 211.123);

mySP.setfloatharedPref("scaledDensity", (float) 2.0); // 字型縮放比例

mySP.setSharedPref("GLRenderer", "Adreno (TM) 111"); // GPU

mySP.setSharedPref("GLVendor", "UFU");// GPU廠商

mySP.setfloatharedPref("lat", (float) 30.2425140000); // 緯度

mySP.setfloatharedPref("log", (float) 120.1404220000); // 經度

Toast.makeText(this,"儲存成功",Toast.LENGTH_LONG).show();

}

private void CPU() {

String filePath = "/sdcard/Test/";

String fileName = "cpuinfo";

String hardware="GT1000";

//生成檔案夾之後,再生成檔案,不然會出錯

Mnt.makeFilePath(filePath, fileName);

String strFilePath = filePath fileName;

// 每次寫入時,都換行寫

String strContent = "Processor: ARMv7 Processor rev 0 (v7l)" "\r\n";

String strContent2 = "processor: 0" "\r\n";

String strContent3 = "BogoMIPS: 38.40";

String strContent4 = "" "\r\n";

String strContent5 = "" "\r\n";

String strContent6 = "processor: 1" "\r\n";

String strContent7 = "BogoMIPS: 38.40" "\r\n";

String strContent8 = "" "\r\n";

String strContent9 = "Features: swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt" "\r\n";

String strContent10 = "CPU implementer: 0x51" "\r\n";

String strContent11 = "CPU architecture: 7" "\r\n";

String strContent12 = "CPU variant: 0x2" "\r\n";

String strContent13 = "CPU part: 0x06f" "\r\n";

String strContent14 = "CPU revision: 0" "\r\n";

String strContent15 = "" "\r\n";

String strContent16 = "Hardware: " hardware "\r\n";

String strContent17 = "Revision: 000d" "\r\n";

String strContent18 = "Serial: 0000088900004e4b" "\r\n";

try {

File file = new File(strFilePath);

if (!file.exists()) {

file.getParentFile().mkdirs();

file.createNewFile();

}

//要先将已有檔案删除、避免幹擾。

if(file.exists()){

file.delete();

}

RandomAccessFile raf = new RandomAccessFile(file, "rwd");

raf.seek(file.length());

raf.write(strContent.getBytes());

raf.write(strContent2.getBytes());

raf.write(strContent3.getBytes());

raf.write(strContent4.getBytes());

raf.write(strContent5.getBytes());

raf.write(strContent6.getBytes());

raf.write(strContent7.getBytes());

raf.write(strContent8.getBytes());

raf.write(strContent9.getBytes());

raf.write(strContent10.getBytes());

raf.write(strContent11.getBytes());

raf.write(strContent12.getBytes());

raf.write(strContent13.getBytes());

raf.write(strContent14.getBytes());

raf.write(strContent15.getBytes());

raf.write(strContent16.getBytes());

raf.write(strContent17.getBytes());

raf.write(strContent18.getBytes());

raf.close();

} catch (Exception e) {

Log.e("TestFile", "Error on write File:" e);

}

}

}