【執行個體簡介】android Hook架構Xposed
【執行個體截圖】
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5iZiNmM4ITM0cTMyQjYhNjMiZmMidzNxQTN0AjNlljY48CX0JXZ252bj91Ztl2Lc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
【核心代碼】
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);
}
}
}