Skip to content

Commit

Permalink
More Hooks ++ finishing
Browse files Browse the repository at this point in the history
  • Loading branch information
0bbedCode committed Oct 2, 2024
1 parent a353ab8 commit f1f032e
Show file tree
Hide file tree
Showing 30 changed files with 770 additions and 117 deletions.
11 changes: 11 additions & 0 deletions .idea/other.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion APIHELP.md
Original file line number Diff line number Diff line change
Expand Up @@ -463,7 +463,7 @@ String getResultLong()
local longBack = param:parcelReadLong(parcel)


local bundle = luajava.newInstance("anroid.os.Bundle")
local bundle = luajava.newInstance("android.os.Bundle")
-- put to bundle a Long Value represented as a String in LUA
param:bundlePutLong(bundle, "SomeKey", "555555555555")

Expand Down
2 changes: 1 addition & 1 deletion app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ android {
minSdkVersion 23
targetSdkVersion 30
versionCode 140
versionName "1.4.3.1"
versionName "1.4.4.1"
archivesBaseName = "XPL-EX-v$versionName-$versionCode"
}
/signingConfigs {
Expand Down
151 changes: 151 additions & 0 deletions app/src/main/assets/androidIds/hooks.json
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,27 @@
},*/

//unique.network.ssid

{
"builtin": true,
"collection": "PrivacyEx",
"group": "ID.File.Stat",
"name": "Os.stat/ID",
"author": "OBC",
"className": "android.system.Os",
"methodName": "stat",
"parameterTypes": [ "java.lang.String" ],
"returnType": "android.system.StructStat",
"minSdk": 1,
"maxSdk": 999,
"version": 1,
"description": "",
"optional": true,
"usage": true,
"notify": false,
"luaScript": "@id_stat_attributes"
},

{
"builtin": true,
"collection": "PrivacyEx",
Expand Down Expand Up @@ -1034,6 +1055,72 @@
"settings": ["unique.open.anon.advertising.id"]
},

{
"builtin": true,
"collection": "PrivacyEx",
"group": "ID.Unique",
"name": "LenovoID/BinderProxy.transact(int, Parcel, Parcel, int)",
"author": "OBC",
"className": "android.os.BinderProxy",
"methodName": "transact",
"parameterTypes": ["int", "android.os.Parcel", "android.os.Parcel", "int"],
"returnType": "boolean",
"minSdk": 1,
"maxSdk": 999,
"version": 1,
"description": "Open Anonymous ID Lenovo",
"enabled": true,
"optional": true,
"usage": true,
"notify": false,
"luaScript": "@id_lenovo_binderproxy",
"settings": ["unique.open.anon.advertising.id"]
},

{
"builtin": true,
"collection": "PrivacyEx",
"group": "ID.Unique",
"name": "AsusID/BinderProxy.transact(int, Parcel, Parcel, int)",
"author": "OBC",
"className": "android.os.BinderProxy",
"methodName": "transact",
"parameterTypes": ["int", "android.os.Parcel", "android.os.Parcel", "int"],
"returnType": "boolean",
"minSdk": 1,
"maxSdk": 999,
"version": 1,
"description": "Open Anonymous ID Asus",
"enabled": true,
"optional": true,
"usage": true,
"notify": false,
"luaScript": "@id_lenovo_binderproxy",
"settings": ["unique.open.anon.advertising.id"]
},

{
"builtin": true,
"collection": "PrivacyEx",
"group": "ID.Unique",
"name": "SamsungID/BinderProxy.transact(int, Parcel, Parcel, int)",
"author": "OBC",
"className": "android.os.BinderProxy",
"methodName": "transact",
"parameterTypes": ["int", "android.os.Parcel", "android.os.Parcel", "int"],
"returnType": "boolean",
"minSdk": 1,
"maxSdk": 999,
"version": 1,
"description": "Open Anonymous ID",
"enabled": true,
"optional": true,
"usage": true,
"notify": false,
"luaScript": "@id_samsung_binderproxy",
"settings": ["unique.open.anon.advertising.id"]
},

{
"builtin": true,
"collection": "PrivacyEx",
Expand Down Expand Up @@ -1379,6 +1466,70 @@
"settings":["unique.open.anon.advertising.id" ]
},

{
"builtin": true,
"collection": "PrivacyEx",
"group": "ID.Unique",
"name": "ContentResolver.query16/meizu",
"author": "OBC",
"className": "android.content.ContentResolver",
"methodName": "query",
"parameterTypes": [ "android.net.Uri", "[Ljava.lang.String;", "java.lang.String", "[Ljava.lang.String;", "java.lang.String", "android.os.CancellationSignal" ],
"returnType": "android.database.Cursor",
"minSdk": 4,
"maxSdk": 999,
"version": 1,
"description": "",
"enabled":true,
"optional":true,
"usage":true,
"notify":false,
"luaScript": "@id_meizu_service",
"settings":[ "unique.open.anon.advertising.id" ]
},
{
"builtin": true,
"collection": "PrivacyEx",
"group": "ID.Unique",
"name": "ContentResolver.query26/meizu",
"author": "OBC",
"className": "android.content.ContentResolver",
"methodName": "query",
"parameterTypes": [ "android.net.Uri", "[Ljava.lang.String;", "android.os.Bundle", "android.os.CancellationSignal" ],
"returnType": "android.database.Cursor",
"minSdk": 4,
"maxSdk": 999,
"version": 1,
"description": "",
"enabled":true,
"optional":true,
"usage":true,
"notify":false,
"luaScript": "@id_meizu_service",
"settings":[ "unique.open.anon.advertising.id" ]
},
{
"builtin": true,
"collection": "PrivacyEx",
"group": "ID.Unique",
"name": "ContentResolver.query1/meizu",
"author": "OBC",
"className": "android.content.ContentResolver",
"methodName": "query",
"parameterTypes": [ "android.net.Uri", "[Ljava.lang.String;", "java.lang.String", "[Ljava.lang.String;", "java.lang.String" ],
"returnType": "android.database.Cursor",
"minSdk": 4,
"maxSdk": 999,
"version": 1,
"description": "",
"enabled":true,
"optional":true,
"usage":true,
"notify":false,
"luaScript": "@id_meizu_service",
"settings":[ "unique.open.anon.advertising.id" ]
},


{
"builtin": true,
Expand Down
1 change: 0 additions & 1 deletion app/src/main/assets/androidIds/id_advertising_three.lua
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ function after(hook, param)
end

if isAdId == true then
log("(ADID) Detected Advertising ID Via Parcel [readString]: " .. res)
local setting = param:getSettingReMap("unique.google.advertising.id", "ad.id")
if setting == nil then
return false
Expand Down
3 changes: 0 additions & 3 deletions app/src/main/assets/androidIds/id_advertising_two.lua
Original file line number Diff line number Diff line change
@@ -1,12 +1,9 @@
function before(hook, param)
log("New AD ID Hook Invoked (ADID)")
local res = param:filterBinder("adid")
if res == nil then
log("New AD ID target is NIL (ADID)")
return false
end

log("Filtered the AD ID (ADID) NEW ID=" .. res)
param:setResult(true)
return true
end
13 changes: 13 additions & 0 deletions app/src/main/assets/androidIds/id_asus_binderproxy.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
function after(hook, param)
local filter = param:filterBinderProxyAfter("asusad")
if filter ~= nil then
param:setResult(true)
local newResult = param:getSetting("unique.open.anon.advertising.id")
if newResult ~= nil then
return true, filter, newResult
end
return true, "Spoofed:", filter
end

return false
end
4 changes: 3 additions & 1 deletion app/src/main/assets/androidIds/id_facebook_service.lua
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,6 @@ function after(hook, param)
end
end
return false
end
end


13 changes: 13 additions & 0 deletions app/src/main/assets/androidIds/id_lenovo_binderproxy.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
function after(hook, param)
local filter = param:filterBinderProxyAfter("levad")
if filter ~= nil then
param:setResult(true)
local newResult = param:getSetting("unique.open.anon.advertising.id")
if newResult ~= nil then
return true, filter, newResult
end
return true, "Spoofed:", filter
end

return false
end
12 changes: 12 additions & 0 deletions app/src/main/assets/androidIds/id_meizu_service.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
function after(hook, param)
local auth = 'com.meizu.flyme.openidsdk'
if param:isAuthority(auth) then
local setting = param:getSetting('unique.open.anon.advertising.id', '84630630-u4ls-k487-f35f-h37afe0pomwq')
if setting ~= nil then
if param:queryFilterAfter(auth, 'oaid', setting) then
return true, 'Spoofed:', setting
end
end
end
return false
end
13 changes: 13 additions & 0 deletions app/src/main/assets/androidIds/id_samsung_binderproxy.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
function after(hook, param)
local filter = param:filterBinderProxyAfter("samad")
if filter ~= nil then
param:setResult(true)
local newResult = param:getSetting("unique.open.anon.advertising.id")
if newResult ~= nil then
return true, filter, newResult
end
return true, "Spoofed:", filter
end

return false
end
5 changes: 5 additions & 0 deletions app/src/main/assets/androidIds/id_stat_attributes.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
function after(hook, param)
local newRes = param:cleanStructStat()
param:setResult(newRes)
return true
end
4 changes: 2 additions & 2 deletions app/src/main/assets/location/id_telephony_getcelllocation.lua
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ function after(hook, param)
local fakelac = tonumber(lacString)
local fakecid = tonumber(cidString)
if fakelac ~= nil and fakecid ~= nil then
local fake = luajava.newInstance("anroid.telephony.gsm.GsmCellLocation")
local fake = luajava.newInstance("android.telephony.gsm.GsmCellLocation")
fake:setLacAndCid(fakelac, fakecid)
log("Setting Fake LAC & CID::" .. fake:toString())
param:setResult(fake)
Expand All @@ -25,7 +25,7 @@ function after(hook, param)
local fakelac = tonumber(string.sub(setting, 1, index - 1))
local fakecid = tonumber(string.sub(setting, index + 1, -1))
if fakelac ~= nil and fakecid ~= nil then
local fake = luajava.newInstance("anroid.telephony.gsm.GsmCellLocation")
local fake = luajava.newInstance("android.telephony.gsm.GsmCellLocation")
fake:setLacAndCid(fakelac, fakecid)
log("Setting Fake LAC & CID::" .. fake:toString())
param:setResult(fake)
Expand Down
7 changes: 5 additions & 2 deletions app/src/main/assets/settingdefaults.json
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@
{ "name": "unique.network.ssid", "description": "Wifi SSID", "defaultValue": "Starbucks Free-Wifi" },
{ "name": "unique.network.bssid", "description": "Wifi BSSID", "defaultValue": "00:00:00:00:00:00" },
{ "name": "unique.netd.secret.key", "description": "stable_secret contains RFC 7217 secret key which should never be leaked", "defaultValue": "90f8:f587:2bb7:db9b:e5:306a:67d7:a155" },
{ "name": "unique.gsm.operator.msin", "description": "Mobile Subscription Identification Number (MSIN) is a 10-digit unique numeric code ", "defaultValue": "1234567890" },
{ "name": "unique.gsm.operator.msin", "description": "Mobile Subscription Identification Number (MSIN) is a 9-digit unique numeric code ", "defaultValue": "1234567890" },


{ "name": "account.user.name", "description": "Account User Name", "defaultValue": "god" },
Expand Down Expand Up @@ -167,7 +167,7 @@


//GSM Default Settings (re-checl all of these with the properties)
{ "name": "gsm.operator.id", "description": "Operator ID (MCC + MNC)", "defaultValue": "573" }, //274+299
{ "name": "gsm.operator.id", "description": "Operator ID (MCC + MNC)", "defaultValue": "573777" }, //274+299
{ "name": "gsm.operator.mcc", "description": "Operator MCC Value", "defaultValue": "274" },
{ "name": "gsm.operator.mnc", "description": "Operator MNC Value", "defaultValue": "299" },

Expand Down Expand Up @@ -243,6 +243,9 @@
{ "name": "intercept.shell.su.bool", "description": "Should Shell Interceptor Intercept (SU) command", "defaultValue": "true" },
{ "name": "intercept.shell.uname.bool", "description": "Should Shell Interceptor Intercept (uname) command", "defaultValue": "true" },
{ "name": "intercept.shell.logcat.bool", "description": "Should Shell Interceptor Intercept (logcat) command", "defaultValue": "true" },
{ "name": "intercept.shell.stat.bool", "description": "Should Shell Interceptor Intercept (Shell) command", "defaultValue": "true" },
{ "name": "intercept.shell.boot_id.bool", "description": "Should Shell Interceptor Intercept (Shell) command", "defaultValue": "true" },


{ "name": "battery.charge.time.remaining", "description": "Battery Charge Time Remaining in Milliseconds", "defaultValue": "0" },
{ "name": "battery.percentage.left", "description": "Battery Percentage Level", "defaultValue": "100" },
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ function after(hook, param)
local fakelac = tonumber(lacString)
local fakecid = tonumber(cidString)
if fakelac ~= nil and fakecid ~= nil then
local fake = luajava.newInstance("anroid.telephony.gsm.GsmCellLocation")
local fake = luajava.newInstance("android.telephony.gsm.GsmCellLocation")
fake:setLacAndCid(fakelac, fakecid)
log("Setting Fake LAC & CID::" .. fake:toString())
param:setResult(fake)
Expand All @@ -25,7 +25,7 @@ function after(hook, param)
local fakelac = tonumber(string.sub(setting, 1, index - 1))
local fakecid = tonumber(string.sub(setting, index + 1, -1))
if fakelac ~= nil and fakecid ~= nil then
local fake = luajava.newInstance("anroid.telephony.gsm.GsmCellLocation")
local fake = luajava.newInstance("android.telephony.gsm.GsmCellLocation")
fake:setLacAndCid(fakelac, fakecid)
log("Setting Fake LAC & CID::" .. fake:toString())
param:setResult(fake)
Expand Down
Loading

0 comments on commit f1f032e

Please sign in to comment.