172 lines
9.0 KiB
JavaScript
172 lines
9.0 KiB
JavaScript
/**
|
|
* Created by maomao on 2020/3/6.
|
|
*/
|
|
Java.perform(function() {
|
|
var cn = "android.location.LocationManager";
|
|
var locationManager = Java.use(cn);
|
|
if (locationManager) {
|
|
//hook getProvider
|
|
locationManager.getProvider.implementation = function() {
|
|
var myArray=new Array()
|
|
myArray[0] = "SENSITIVE" //INTERESTED & SENSITIVE
|
|
myArray[1] = cn + "." + "getProvider";
|
|
myArray[2] = Java.use("android.util.Log").getStackTraceString(Java.use("java.lang.Exception").$new()).split('\n\tat');
|
|
send(myArray);
|
|
return this.getProvider.apply(this, arguments);
|
|
};
|
|
// //hook getCurrentLocation
|
|
// locationManager.getCurrentLocation.implementation = function() {
|
|
// send("call " + cn + "->getCurrentLocation");
|
|
// return this.getCurrentLocation.apply(this, arguments);
|
|
// };
|
|
//hook getLastLocation
|
|
locationManager.getBestProvider.implementation = function() {
|
|
var myArray=new Array()
|
|
myArray[0] = "SENSITIVE" //INTERESTED & SENSITIVE
|
|
myArray[1] = cn + "." + "getBestProvider";
|
|
myArray[2] = Java.use("android.util.Log").getStackTraceString(Java.use("java.lang.Exception").$new()).split('\n\tat');
|
|
send(myArray);
|
|
return this.getBestProvider.apply(this, arguments);
|
|
};
|
|
|
|
locationManager.getLastKnownLocation.implementation = function() {
|
|
var myArray=new Array()
|
|
myArray[0] = "SENSITIVE" //INTERESTED & SENSITIVE
|
|
myArray[1] = cn + "." + "getLastKnownLocation";
|
|
myArray[2] = Java.use("android.util.Log").getStackTraceString(Java.use("java.lang.Exception").$new()).split('\n\tat');
|
|
send(myArray);
|
|
return this.getLastKnownLocation.apply(this, arguments);
|
|
};
|
|
|
|
locationManager.requestLocationUpdates.overloads[0].implementation = function(dest) {
|
|
var myArray=new Array()
|
|
myArray[0] = "SENSITIVE" //INTERESTED & SENSITIVE
|
|
myArray[1] = cn + "." + "requestLocationUpdates";
|
|
myArray[2] = Java.use("android.util.Log").getStackTraceString(Java.use("java.lang.Exception").$new()).split('\n\tat');
|
|
send(myArray);
|
|
return this.requestLocationUpdates.overloads[0].apply(this, arguments);
|
|
};
|
|
|
|
locationManager.requestLocationUpdates.overloads[1].implementation = function(dest) {
|
|
var myArray=new Array()
|
|
myArray[0] = "SENSITIVE" //INTERESTED & SENSITIVE
|
|
myArray[1] = cn + "." + "requestLocationUpdates";
|
|
myArray[2] = Java.use("android.util.Log").getStackTraceString(Java.use("java.lang.Exception").$new()).split('\n\tat');
|
|
send(myArray);
|
|
return this.requestLocationUpdates.overloads[1].apply(this, arguments);
|
|
};
|
|
|
|
locationManager.requestLocationUpdates.overloads[2].implementation = function(dest) {
|
|
var myArray=new Array()
|
|
myArray[0] = "SENSITIVE" //INTERESTED & SENSITIVE
|
|
myArray[1] = cn + "." + "requestLocationUpdates";
|
|
myArray[2] = Java.use("android.util.Log").getStackTraceString(Java.use("java.lang.Exception").$new()).split('\n\tat');
|
|
send(myArray);
|
|
return this.requestLocationUpdates.overloads[2].apply(this, arguments);
|
|
};
|
|
|
|
locationManager.requestLocationUpdates.overloads[3].implementation = function(dest) {
|
|
var myArray=new Array()
|
|
myArray[0] = "SENSITIVE" //INTERESTED & SENSITIVE
|
|
myArray[1] = cn + "." + "requestLocationUpdates";
|
|
myArray[2] = Java.use("android.util.Log").getStackTraceString(Java.use("java.lang.Exception").$new()).split('\n\tat');
|
|
send(myArray);
|
|
return this.requestLocationUpdates.overloads[3].apply(this, arguments);
|
|
};
|
|
|
|
locationManager.addGpsStatusListener.implementation = function(dest) {
|
|
var myArray=new Array()
|
|
myArray[0] = "SENSITIVE" //INTERESTED & SENSITIVE
|
|
myArray[1] = cn + "." + "addGpsStatusListener";
|
|
myArray[2] = Java.use("android.util.Log").getStackTraceString(Java.use("java.lang.Exception").$new()).split('\n\tat');
|
|
send(myArray);
|
|
return this.addGpsStatusListener.apply(this, arguments);
|
|
};
|
|
|
|
locationManager.addNmeaListener.overloads[0].implementation = function(dest) {
|
|
var myArray=new Array()
|
|
myArray[0] = "SENSITIVE" //INTERESTED & SENSITIVE
|
|
myArray[1] = cn + "." + "addNmeaListener";
|
|
myArray[2] = Java.use("android.util.Log").getStackTraceString(Java.use("java.lang.Exception").$new()).split('\n\tat');
|
|
send(myArray);
|
|
return this.addNmeaListener.overloads[0].apply(this, arguments);
|
|
};
|
|
|
|
locationManager.addProximityAlert.implementation = function(dest) {
|
|
var myArray=new Array()
|
|
myArray[0] = "SENSITIVE" //INTERESTED & SENSITIVE
|
|
myArray[1] = cn + "." + "addProximityAlert";
|
|
myArray[2] = Java.use("android.util.Log").getStackTraceString(Java.use("java.lang.Exception").$new()).split('\n\tat');
|
|
send(myArray);
|
|
return this.addProximityAlert.apply(this, arguments);
|
|
};
|
|
|
|
locationManager.getProviders.overloads[0].implementation = function(dest) {
|
|
var myArray=new Array()
|
|
myArray[0] = "SENSITIVE" //INTERESTED & SENSITIVE
|
|
myArray[1] = cn + "." + "getProviders";
|
|
myArray[2] = Java.use("android.util.Log").getStackTraceString(Java.use("java.lang.Exception").$new()).split('\n\tat');
|
|
send(myArray);
|
|
return this.getProviders.overloads[0].apply(this, arguments);
|
|
};
|
|
locationManager.getProviders.overloads[1].implementation = function(dest) {
|
|
var myArray=new Array()
|
|
myArray[0] = "SENSITIVE" //INTERESTED & SENSITIVE
|
|
myArray[1] = cn + "." + "getProviders";
|
|
myArray[2] = Java.use("android.util.Log").getStackTraceString(Java.use("java.lang.Exception").$new()).split('\n\tat');
|
|
send(myArray);
|
|
return this.getProviders.overloads[1].apply(this, arguments);
|
|
};
|
|
|
|
locationManager.isProviderEnabled.implementation = function(dest) {
|
|
var myArray=new Array()
|
|
myArray[0] = "SENSITIVE" //INTERESTED & SENSITIVE
|
|
myArray[1] = cn + "." + "isProviderEnabled";
|
|
myArray[2] = Java.use("android.util.Log").getStackTraceString(Java.use("java.lang.Exception").$new()).split('\n\tat');
|
|
send(myArray);
|
|
return this.isProviderEnabled.apply(this, arguments);
|
|
};
|
|
|
|
locationManager.requestSingleUpdate.overloads[0].implementation = function(dest) {
|
|
var myArray=new Array()
|
|
myArray[0] = "SENSITIVE" //INTERESTED & SENSITIVE
|
|
myArray[1] = cn + "." + "requestSingleUpdate";
|
|
myArray[2] = Java.use("android.util.Log").getStackTraceString(Java.use("java.lang.Exception").$new()).split('\n\tat');
|
|
send(myArray);
|
|
return this.requestSingleUpdate.overloads[0].apply(this, arguments);
|
|
};
|
|
locationManager.requestSingleUpdate.overloads[1].implementation = function(dest) {
|
|
var myArray=new Array()
|
|
myArray[0] = "SENSITIVE" //INTERESTED & SENSITIVE
|
|
myArray[1] = cn + "." + "requestSingleUpdate";
|
|
myArray[2] = Java.use("android.util.Log").getStackTraceString(Java.use("java.lang.Exception").$new()).split('\n\tat');
|
|
send(myArray);
|
|
return this.requestSingleUpdate.overloads[1].apply(this, arguments);
|
|
};
|
|
locationManager.requestSingleUpdate.overloads[2].implementation = function(dest) {
|
|
var myArray=new Array()
|
|
myArray[0] = "SENSITIVE" //INTERESTED & SENSITIVE
|
|
myArray[1] = cn + "." + "requestSingleUpdate";
|
|
myArray[2] = Java.use("android.util.Log").getStackTraceString(Java.use("java.lang.Exception").$new()).split('\n\tat');
|
|
send(myArray);
|
|
return this.requestSingleUpdate.overloads[2].apply(this, arguments);
|
|
};
|
|
locationManager.requestSingleUpdate.overloads[3].implementation = function(dest) {
|
|
var myArray=new Array()
|
|
myArray[0] = "SENSITIVE" //INTERESTED & SENSITIVE
|
|
myArray[1] = cn + "." + "requestSingleUpdate";
|
|
myArray[2] = Java.use("android.util.Log").getStackTraceString(Java.use("java.lang.Exception").$new()).split('\n\tat');
|
|
send(myArray);
|
|
return this.requestSingleUpdate.overloads[3].apply(this, arguments);
|
|
};
|
|
|
|
locationManager.setTestProviderEnabled.implementation = function(dest) {
|
|
var myArray=new Array()
|
|
myArray[0] = "INTERESTED" //INTERESTED & SENSITIVE
|
|
myArray[1] = cn + "." + "setTestProviderEnabled";
|
|
myArray[2] = Java.use("android.util.Log").getStackTraceString(Java.use("java.lang.Exception").$new()).split('\n\tat');
|
|
send(myArray);
|
|
return this.setTestProviderEnabled.apply(this, arguments);
|
|
};
|
|
}
|
|
}); |