android build.prop 修改,改机

1 篇文章 0 订阅
0 篇文章 0 订阅

android build.prop 修改,改机

HTool.XHookMethod(android.telephony.TelephonyManager.class.getName(),mLpp.classLoader, “getDeviceId”, GetCatValue(“imei”));

HTool.XHookMethod(“com.android.internal.telephony.PhoneSubInfo”,mLpp.classLoader, “getDeviceId”, GetCatValue(“imei”));

HTool.XHookMethod(android.telephony.TelephonyManager.class.getName(),mLpp.classLoader, “getSubscriberId”, GetCatValue(“imsi”));

HTool.XHookMethod(android.telephony.TelephonyManager.class.getName(),mLpp.classLoader, “getLine1Number”, GetCatValue(“number”));

HTool.XHookMethod(android.telephony.TelephonyManager.class.getName(),mLpp.classLoader, “getSimSerialNumber”, GetCatValue(“simserial”));

HTool.XHookMethod(android.telephony.TelephonyManager.class.getName(),mLpp.classLoader, “getSimCountryIso”, GetCatValue(“simcountryiso”));

HTool.XHookMethod(android.telephony.TelephonyManager.class.getName(),mLpp.classLoader, “getSimOperator”, GetCatValue(“simoperator”));

HTool.XHookMethod(android.telephony.TelephonyManager.class.getName(),mLpp.classLoader, “getSimOperatorName”, GetCatValue(“simoperatorname”));

HTool.XHookMethod(android.telephony.TelephonyManager.class.getName(),mLpp.classLoader, “getNetworkCountryIso”, GetCatValue(“networkcountryiso”));

HTool.XHookMethod(android.telephony.TelephonyManager.class.getName(),mLpp.classLoader, “getNetworkOperator”, GetCatValue(“networkoperator”));

HTool.XHookMethod(android.telephony.TelephonyManager.class.getName(),mLpp.classLoader, “getNetworkOperatorName”, GetCatValue(“networkoperatorname”));

//WIFI信息

HTool.XHookMethod(android.net.wifi.WifiInfo.class.getName(),mLpp.classLoader, “getMacAddress”, GetCatValue(“wifimac”));

HTool.XHookMethod(android.net.wifi.WifiInfo.class.getName(),mLpp.classLoader, “getBSSID”, GetCatValue(“bssid”));

HTool.XHookMethod(android.net.wifi.WifiInfo.class.getName(),mLpp.classLoader, “getSSID”, “”"+GetCatValue(“ssid”)+""");

XposedHelpers.findAndHookMethod(java.net.NetworkInterface.class.getName(),mLpp.classLoader, “getHardwareAddress”, new Object[] {

new XC_MethodHook()

{

protected void afterHookedMethod(MethodHookParam param) throws Throwable

{

//每个安卓系统中 至少存在5个以上的MAC地址

//但大多数软件只修改了MAC和BSSID

//真正的MAC修改是在此处理函数中监听每次访问.

}

}});

//蓝牙信息

HTool.XHookMethod(BluetoothAdapter.class.getName(),mLpp.classLoader,“getAddress”, GetCatValue(“bluemac”));

HTool.XHookMethod(BluetoothAdapter.class.getName(),mLpp.classLoader, “getName”, GetCatValue(“bluename”));

//设置手机信息 无论手机是否插入了sim卡 都会模拟出SIM卡的信息 APP获得SIM卡消息时返回该手机已有SIM卡

HTool.XHookMethod(android.telephony.TelephonyManager.class.getName(),mLpp.classLoader, “getPhoneType”, TelephonyManager.PHONE_TYPE_GSM);

HTool.XHookMethod(android.telephony.TelephonyManager.class.getName(),mLpp.classLoader, “getNetworkType”, TelephonyManager.NETWORK_TYPE_HSPAP);

HTool.XHookMethod(android.telephony.TelephonyManager.class.getName(),mLpp.classLoader, “getSimState”, TelephonyManager.SIM_STATE_READY);

HTool.XHookMethod(android.telephony.TelephonyManager.class.getName(),mLpp.classLoader, “hasIccCard”, true);

//修改手机系统信息 此处是手机的基本信息 包括厂商 信号 ROM版本 安卓版本 主板 设备名 指纹名称等信息

XposedHelpers.setStaticObjectField(android.os.Build.class, “MODEL”, GetCatValue(“model”));

XposedHelpers.setStaticObjectField(android.os.Build.class, “MANUFACTURER”, GetCatValue(“manufacturer”));

XposedHelpers.setStaticObjectField(android.os.Build.class, “BRAND”, GetCatValue(“brand”));

XposedHelpers.setStaticObjectField(android.os.Build.class, “HARDWARE”, GetCatValue(“hardware”));

XposedHelpers.setStaticObjectField(android.os.Build.class, “BOARD”, GetCatValue(“board”));

XposedHelpers.setStaticObjectField(android.os.Build.class, “SERIAL”, GetCatValue(“serial”));

XposedHelpers.setStaticObjectField(android.os.Build.class, “DEVICE”, GetCatValue(“device”));

XposedHelpers.setStaticObjectField(android.os.Build.class, “ID”, GetCatValue(“id”));

XposedHelpers.setStaticObjectField(android.os.Build.class, “PRODUCT”, GetCatValue(“product”));

XposedHelpers.setStaticObjectField(android.os.Build.class, “DISPLAY”, GetCatValue(“display”));

XposedHelpers.setStaticObjectField(android.os.Build.class, “FINGERPRINT”, GetCatValue(“fingerprint”));

XposedHelpers.findAndHookMethod(“android.os.SystemProperties”,mLpp.classLoader, “native_get”, new Object[] {String.class,String.class,

new XC_MethodHook()

{

//为了防止某些APP跳过Build类 而直接使用SystemProperties.native_get获得参数

}});

//修改系统版本 我看到世面上的软件基本上都是不能修改系统版本的 从而造成了刷量后 很多渠道最终会显示你的APP用户全部使用的某一系统版本

//这样的话数据就太假了.

XposedHelpers.setStaticObjectField(android.os.Build.VERSION.class, “RELEASE”, GetCatValue(“version”));

XposedHelpers.setStaticObjectField(android.os.Build.VERSION.class, “SDK”, GetCatValue(“apilevel”));

HTool.XHookMethod(android.os.Build.class.getName(),mLpp.classLoader, “getRadioVersion”, GetCatValue(“radioversion”));

//修改为指定的运营商mnc mcc信息

XposedHelpers.findAndHookMethod(android.content.res.Resources.class.getName(),mLpp.classLoader, “getConfiguration”, new Object[] {

new XC_MethodHook()

{

//此处的mnc和mcc必须和系统中其他关于运营商的数据对应!

}});

//修改ANDROID_ID

XposedHelpers.findAndHookMethod(android.provider.Settings.Secure.class.getName(),mLpp.classLoader, “getString”,

new Object[] {ContentResolver.class,String.class,

new XC_MethodHook()

{

//此处会根据传入的String参数 判断返回值 其中包括比较关键的数据就是android_id

}});

//防止APP使用Runtime.exec方式获取一些特定的系统属性

XposedHelpers.findAndHookMethod(Runtime.class.getName(),mLpp.classLoader, “exec”,new Object[] {String.class,String[].class, File.class,

new XC_MethodHook()

{

//一些APP从JAVA层获得到了数据 还会从shell(native)层获得一些更底层的数据 来判断用户的合法性

//经常用到的有 cat、getprop、ifconfig等等命令,当exec执行这些命令后 往往会返回一些手机的真实信息

//因为框架和处理方式不同,…部分此处根据自己需求,编写重定向返回值的过程…

}});

//修改位置信息

XposedHelpers.findAndHookMethod(LocationManager.class.getName(),mLpp.classLoader, “getLastKnownLocation”,

new Object[] {String.class,

new XC_MethodHook()

{

//返回预先设置好的经纬度信息以伪装地理位置

}});

HTool.XHookMethod(Location.class.getName(),mLpp.classLoader, “getLatitude”, latitude);

HTool.XHookMethod(Location.class.getName(),mLpp.classLoader, “getLongitude”, longitude);

//修改GSM制式手机的基站信息

HTool.XHookMethod(android.telephony.gsm.GsmCellLocation.class.getName(),mLpp.classLoader, “getLac”, GsmLac);

HTool.XHookMethod(android.telephony.gsm.GsmCellLocation.class.getName(),mLpp.classLoader, “getCid”, GsmCid);

//修改CDMA制式手机的基站信息

HTool.XHookMethod(android.telephony.cdma.CdmaCellLocation.class.getName(),mLpp.classLoader, “getBaseStationLatitude”, CdmaLatitude);

HTool.XHookMethod(android.telephony.cdma.CdmaCellLocation.class.getName(),mLpp.classLoader, “getBaseStationLongitude”, CdmaLongitude);

HTool.XHookMethod(android.telephony.cdma.CdmaCellLocation.class.getName(),mLpp.classLoader, “getBaseStationId”, CdmaBid);

HTool.XHookMethod(android.telephony.cdma.CdmaCellLocation.class.getName(),mLpp.classLoader, “getSystemId”, CdmaSid);

HTool.XHookMethod(android.telephony.cdma.CdmaCellLocation.class.getName(),mLpp.classLoader, “getNetworkId”, CdmaNid);

//模拟手机的APP列表

XposedHelpers.findAndHookMethod(“android.app.ApplicationPackageManager”,mLpp.classLoader, “getInstalledPackages”,new Object[] {int.class,

new XC_MethodHook()

{

//此处模拟正常用户的APP列表 其中随机的增加和删除一些常用APP 以达到每个手机的APP有很大的随意性和合理性

}});

XposedHelpers.findAndHookMethod(“android.app.ApplicationPackageManager”,mLpp.classLoader, “getInstalledApplications”,new Object[] {int.class,

new XC_MethodHook()

{

//此处模拟正常用户的APP列表 其中随机的增加和删除一些常用APP 以达到每个手机的APP有很大的随意性和合理性

}});

//防止APP的VPN SOCK5 HTTP代理检测

XposedHelpers.findAndHookMethod(java.net.NetworkInterface.class.getName(),mLpp.classLoader, “getNetworkInterfacesList”,new Object[] {

new XC_MethodHook()

{

//此处对于一些连接信息 对JAVA做了隐藏处理 但对于系统和Native层依然是可见的 所以APP不会检测到代理 但代理却可以正常的运行…

}});

以上这些做下来 从信息采集上基本可以过市面上70%的系统了 对于某些系统的高级检测,则需要我们采用更高级的处理方式才能攻破对方的防线,这些处理方式我们随后会讲到。

但目前推广市场上 不光是采用技术手段 还采取大数据分析等方式判断你的数据是否合格 所以想把这个作为一个项目来做 从技术方面解决工具问题只是刚刚开始。

感兴趣的,加qq 731548057 ,共同讨论。

作者:731548057
来源:CSDN

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值