# virtualHookPlugin **Repository Path**: mattermon/virtualHookPlugin ## Basic Information - **Project Name**: virtualHookPlugin - **Description**: No description available - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-09-17 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ChangePhoneInfo ---------------- - forked from [ChangePhoneInfo](https://github.com/rk700/ChangePhoneInfo). # Introduction This is a hook plugin used by [VirtualHook](https://github.com/rk700/VirtualHook). It hooks some Java APIs that are used for getting device info, and all the values are hard-codeded as a demo. Currently the following methods are hooked: - android.bluetooth.BluetoothAdapter.getAddress() - android.telephony.gsm.GsmCellLocation.getCid() - android.telephony.gsm.GsmCellLocation.getLac() - android.location.Location.getLatitude() - android.location.Location.getLongitude() - android.telephony.TelephonyManager.getDeviceId() - android.telephony.TelephonyManager.getLine1Number() - android.telephony.TelephonyManager.getSimOperator() - android.telephony.TelephonyManager.getSimSerialNumber() - android.telephony.TelephonyManager.getSubscriberId() - android.net.wifi.WifiInfo.getBSSID() - android.net.wifi.WifiInfo.getSSID() - android.net.wifi.WifiInfo.getIpAddress() - android.net.wifi.WifiInfo.getMacAddress() And these system property values are changed as well by hooking native function `__system_property_get()`: - ro.serialno - ro.product.brand - ro.product.device - ro.build.tags - ro.product.model - ro.product.manufacturer Finally, `Build.SERIAL` is changed by simple Java reflection. # 增加的hook函数 - StringBuilder.toString() 包括打印toString的结果 # Usage Build and push the output apk to `/sdcard/`. Then add and start applications in VirtualHook.