yashsingh1/xdaforums huggingface dataset:
[Paid Software Announcement and Discussion] duven87:
Comparation with Xprivacy

Hi,

Since a lot of years I use Xprivacy and I love it. Also I try to install ROM's til 5.1 to have a complete compatibily with it.

I try also Lua non Pro and I cant understand that comes from the same Autor.

There isnt prompts to ask me if I allow or reject a detailed permission while the a X app its running and newly instaled.

Lua dont ask me if I allow /reject an app to acces to internet and in the menu i dont find the valor (read access?)... :/

I have to configure all each time and with new apps all time the same.

The pro version have the interface and prompts like in Xprivacy?

I dont have problems to donate for a great app but Lua at the moment dont like me.

I try to find a video with the pro version to see if all that I miss appear but its nothing there.

Any suggestions or help about it?
[Paid Software Announcement and Discussion] M66B:
Please see here:

https://github.com/M66B/XPrivacyLua/blob/master/FAQ.md#FAQ4
[Paid Software Announcement and Discussion] duven87:
ok thanks

It helped me a little bit.

Id like to know , in how many devices I can use it with a donation for Pro version?
[Paid Software Announcement and Discussion] M66B:
You can request information about the pro version here:

https://contact.faircode.eu/?product=xluastandalone
[Paid Software Announcement and Discussion] mp107:
Can I manage downloaded hook assignments on per app basis using XPrivacyLua Pro?

I ask because I can only see the built-in hooks (those from "hooks.json" file) in the "Manage hook assignments" view.
[Paid Software Announcement and Discussion] M66B:
Yes, you can.

Did you enable the hook collection?
[Paid Software Announcement and Discussion] mp107:
Thank you for the tip.

That was the reason of missing of those hooks in the listing.
[Paid Software Announcement and Discussion] Fif_:
[MENTION=2799345]M66B[/MENTION], do you think it's a good idea to expand the description for all my custom hooks with more detailed instructions, like I've done for my most recent uploads?

Or do you think it's abuse? ;)

I feel already guilty when some of my hooks' description take more than a screenful...
[Paid Software Announcement and Discussion] M66B:
That's fine with me, but do you think that people will read it? ;)
[Paid Software Announcement and Discussion] Oswald Boelcke:
I always do, and not because it's actually mandatory - it's simply very useful. And the latest explanations by @Fif_ are extremely helpful. Thanks very much for that. BTW: Same applies to your great FAQ. You've put so much time, effort and brain power into it; and I simply applaud you for your patience when you just point people towards them (despite knowing they didn't read and didn't read).
[Paid Software Announcement and Discussion] beeshyams:
I think you should. Would help people like me who aren't aware of Android internals / programming
[Paid Software Announcement and Discussion] yomen9:
Since the Pro companion app need android 6+, is there a way to do custom hooks on android 5.1.1?

I think they will, I personally would, there are no such things as ''too much information'' and it would help beginners who want to learn.
[Paid Software Announcement and Discussion] M66B:
XPrivacyLua requires Android 6 or later, so no.
[Paid Software Announcement and Discussion] M66B:
I was forced to replace secureimage by the Google captcha again because lots of spam. There is a long standing open secureimage issue for this, so I don't see this fixed anytime soon. Too bad we depend on Google for this :(

Edit: this is about using the contact form:

https://contact.faircode.eu
[Paid Software Announcement and Discussion] bluegrass55:
Dual Sim Devices

I have spent a couple of hours today re working my setup in Lua and reached the conclusion that it does not work correctly on Dual sim devices.That is why I could never get the apps to read my fake values or if they did only the fake email was working. Also why it works as it should in my Nexus 5 but not my Oneplus 5T.

For example in the Pro log the 1st sim shows the correct

IMEI

ID

Network Operator

Sim Operator

Country ISO

Correct phone number

etc.....

The sim card in the second slot reads only my set fake values.

Also for both my phones it reads the MAC address correctly even though I have the	NetworkInterface.getHardwareAddress hook installed.
[Paid Software Announcement and Discussion] M66B:
This has been discussed before: the existing hooks are independent of the SIM card, unless your manufacturer modified stuff.
[Paid Software Announcement and Discussion] bluegrass55:
Ok i'll have to live with it. What about the MAC address issue?
[Paid Software Announcement and Discussion] M66B:
You'll need to be more specific about which MAC address.
[Paid Software Announcement and Discussion] bluegrass55:
The device MAC address read by apps.
[Paid Software Announcement and Discussion] M66B:
There are several of them, WiFi, Bluetooth, etc.
[Paid Software Announcement and Discussion] bluegrass55:
Sorry. WIFI.
[Paid Software Announcement and Discussion] M66B:
Then you'll have to use another custom hook than you do now. See here for details:

https://github.com/M66B/XPrivacyLua/blob/master/FAQ.md#FAQ4
[Paid Software Announcement and Discussion] bluegrass55:
I did that earlier today but just in case re read it again. I have all relevant hooks enabled. Just checked my single SIM Nexus 5 and contrary to my previous post it too does not use the set fake values.

The strange thing is that some apps use all the fake values ( see in screenshot). I do not use or log into the Playstore app but need it to be available for one app to run.

I've included some screen shots. It's a bit disheartening.
[Paid Software Announcement and Discussion] doodalydoo:
Since pro isn't managed through the Play Store, how are pro purchases handled when it comes to changing devices? What about if I have to wipe out my phone, will I lose access to the pro features?
[Paid Software Announcement and Discussion] gothicVI:
Has been mentioned in this thread couple of times. Search will reveal it...

Gesendet von meinem Moto G (5) Plus mit Tapatalk
[Paid Software Announcement and Discussion] M66B:
The pro features are available from the Play store and if you don't have the Play store there is a working solution too. Just follow the instructions in the pro web page.
[Paid Software Announcement and Discussion] doodalydoo:
Ok, I did download the companion app through the Play Store, but the purchase of the pro features is done through the app, not the Play Store, so it threw me off. So to get access to the pro features again I just need to re-download the companion app and everything should be unlocked?
[Paid Software Announcement and Discussion] M66B:
Everything will be unlocked after the in-app purchase.
[Paid Software Announcement and Discussion] vodka666:
IMEI

Hi i, got the XPrivacyLua Pro companion app, so if I enter a custom IMEI what will my carrier see?
[Paid Software Announcement and Discussion] M66B:
The original IMEI because XPrivacyLua is meant to change what apps see only.
[Paid Software Announcement and Discussion] vodka666:
Any way to change this? And what does Google see?
[Paid Software Announcement and Discussion] M66B:
The external IMEI cannot be changed by Xposed and even if this would be possible I would not support it because charging the IMEI is in most countries not allowed. And as said: this is not what XPrivacyLua is for.
[Paid Software Announcement and Discussion] vodka666:
ok and google services, what do they see?
[Paid Software Announcement and Discussion] M66B:
For the rest you can restrict any user and system app as you like. 'Google' is a rather vague term in this regard. Do you mean Google's YouTube, Maps, etc? Anyway, if you are concerned about Google tracking you, install a ROM without Google stuff (this is outside the scope of this thread).
[Paid Software Announcement and Discussion] doodalydoo:
Yes I know. What I meant was what happens to the in-app purchases if you wipe your phone? Does re-downloading the companion app from the Play Store give you the pro features again or do you lose them?
[Paid Software Announcement and Discussion] M66B:
Google purchases are linked to your Google account and will be restored when you login to the same account.
[Paid Software Announcement and Discussion] vodka666:
I mean Google background Services stuff like Firebase, Google Play Services, can they get the real IMEI?
[Paid Software Announcement and Discussion] M66B:
Not if you restrict them.
[Paid Software Announcement and Discussion] vodka666:
I understand, thanks!
[Paid Software Announcement and Discussion] beeshyams:
[MENTION=2799345]M66B[/MENTION]

Is there a way to export Pro logs? Reason for asking is for some apps added a lot of custom analytics hooks and not surprisingly some crash

Now I rolled back to last known stable version but if I can export logs someway, I can probably decide which hook is causing this

Just asking... No issue if there isn't a way
[Paid Software Announcement and Discussion] M66B:
There isn't, sorry.
[Paid Software Announcement and Discussion] Fif_:
You can take a look as root to /data/system/xlua/xlua.db, everything is there...

Edit: if one of my hooks cause a crash, or logs an error, I'd like to hear about it.
[Paid Software Announcement and Discussion] beeshyams:
I did look there before asking but then it requires a PC I suppose to read the database file and I am not familiar with it. I was looking for a log kind of thing to easily read through

Yes, I went on an overdrive and tried too many custom things (not just analytics only as wrongly mentioned earlier) on too many apps. So it's not fair to say that your hooks caused the problem. That's why I wanted to see if the log is available to see which app / hook combo

Thanks for your hooks. Will surely let you know if I can pin point on the next time I get down to it

Please continue contributing. I like those descriptions and your detailed steps:good: making it easier for an average user like me to experiment
[Paid Software Announcement and Discussion] Fif_:
Next time there's a problem, you can use the following script to extract the logs.

Run it as root, in a terminal app or through adb.

You'll need busybox and sqlite3 available.

Rename it to drop the .txt extension needed to attach on XDA, then:

sh xlua-log-extract
sh xlua-log-extract --errors
[Paid Software Announcement and Discussion] beeshyams:
Thanks. That's helpful of you
[Paid Software Announcement and Discussion] mark_at:
I have a question about contacts.

I let whatsapp only see my starred contacts. Works fine.

But as soon as I cross the boarder to another country and I am in a different network all my starred contacts are gone.

Is not fault of XpLua, I know, but I have no idea why changing to foreign network has such effect.

Somebody with an idea maybe?
[Paid Software Announcement and Discussion] Gerdje_:
[MENTION=5297163]Fif_[/MENTION]

I can see in the XPrivacyLuaPro log that an app got an restriction from the WifiInfo.getSSID hook. Values mentioned in the log are:

My real router name and "private"

I have also downloaded and/or enabled the following hooks

NetworkInfo.toString (repo) -

NetworkInfo.getExtraInfo (stock) -

WifiInfo.getIpAddress (repo) -

WifiInfo.getBSSID (stock or repo version) -

WifiInfo.getMacAddress (repo, may not be necessary in Android 6 Marshmallow or later) -

WifiInfo.getSSID

WifiInfo.toString

I would like to understand how it works and ask myself why the app got the real router name from the hook. Something I overlooked?
[Paid Software Announcement and Discussion] M66B:
The log lists the original and fake value.
[Paid Software Announcement and Discussion] Fif_:
You should get covered as far as leaking out the SSID and BSSID.

When you write the real router name, are you taking about the SSID or the hostname for the router?

SSID should be hidden, but there's no easy way to block the reverse DNS lookup short of cutting off network access entirely for the app at the moment, and I'm not even sure that DNS lookups would be blocked even with AFWall. Maybe NetGuard would help.

Care to share which app, and how you find out that your router name had leaked?
[Paid Software Announcement and Discussion] Gerdje_:
I mean the SSID. The app is Forecastie. https://play.google.com/store/apps/details?id=com.casticalabs.forecastie&hl=en_US I use this app just to test my Lineage phone. I can see the SSID in the XPrivacyLuaPro log with my SSID and "private" mentioned there. That's why I think the SSID leaked.
[Paid Software Announcement and Discussion] M66B:
The log shows both the original value (first line) and fake value (second line), so likely nothing is leaking.
[Paid Software Announcement and Discussion] Gerdje_:
Thanks! Good to know.
[Paid Software Announcement and Discussion] Fif_:
And you thought wrong. ;) The first value is the original, the second is the fake. The app sees the second value.
[Paid Software Announcement and Discussion] mark_at:
I always thought that was self explaining. But it seems that some people do not understand that.
[Paid Software Announcement and Discussion] amakuramio:
Hey dear Marcel, great piece of software you have written, thanks. I have a question: there is a bug with xposed in sony devices and if I try to open the google play store and enter any app name I get a force close, so I cannot buy the app. Any other way I can get a license?
[Paid Software Announcement and Discussion] M66B:
You can request information about the pro features without the Play store via here:

https://contact.faircode.eu/?product=xluastandalone
[Paid Software Announcement and Discussion] amakuramio:
I reset the data and it worked haha, sorry for wasting your time!
[Paid Software Announcement and Discussion] amakuramio:
Strange

So I enabled fingerprint, then in the lua script function after(hook, param)

local result = param:getResult()

if result == nil then

return false

end

local fake = param:getSetting('fing')

return true, result, fake

end

In the settings I wrote fing, and in the pro app I see the setting there. So I edited it, but the device id app still sees the original, is it a bug?
[Paid Software Announcement and Discussion] M66B:
It is unclear which hook definition you mean and if you mean bug in the hook definition or in XPrivacyLua.

It is not very likely that there is a bug in XPrivacyLua.

I only support XPrivacyLua and the built-in and by default enabled hook definitions.
[Paid Software Announcement and Discussion] amakuramio:
Yes fingerprint is a standard one, I enabled it but I wanted to make it read the setting name fing, so I did it as you wrote in define.md page fake = param:getSetting('fing')
[Paid Software Announcement and Discussion] M66B:
It is still unclear to me which hook definition you mean, maybe Build.FINGERPRINT?

Anyway, if you want to use a custom value (setting), you'll need to define the setting name too.
[Paid Software Announcement and Discussion] amakuramio:
Yes that one. I did in settings 'fing' then in main page I entered a random fingerprint but the device id still shows the original

fake = param:getSetting('fing')

return true, result, fake

end
[Paid Software Announcement and Discussion] M66B:
Fingerprint or device ID ? They are not the same. Did it work before the modification?
[Paid Software Announcement and Discussion] amakuramio:
If I put a static value then yes it will work, but I would like to use settings method... without constantly editing lua file
[Paid Software Announcement and Discussion] M66B:
Then there is obviously a bug in your custom hook definition. Double check the documentation.

Edit: maybe it helps if you show the complete hook definition here. Please use the XDA code tags for readability.
[Paid Software Announcement and Discussion] amakuramio:
Can't you give me an example?

-- This file is part of XPrivacyLua.

-- XPrivacyLua is free software: you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
-- the Free Software Foundation, either version 3 of the License, or
-- (at your option) any later version.

-- XPrivacyLua is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- GNU General Public License for more details.

-- You should have received a copy of the GNU General Public License
-- along with XPrivacyLua. If not, see <http://www.gnu.org/licenses/>.

-- Copyright 2017-2018 Marcel Bokhorst (M66B)

function after(hook, param)
local result = param:getResult()
if result == nil then
return false
end

local fake = param:getSetting('track.fingerprint')
return true, result, fake
end
[Paid Software Announcement and Discussion] M66B:
There are examples in the hook definition repository.

You are showing the code only, not the complete hook definition. Hint: export it.
[Paid Software Announcement and Discussion] amakuramio:
https://files.fm/u/ht36h3mf ?
[Paid Software Announcement and Discussion] M66B:
Please show the code here. I am not going to download this.
[Paid Software Announcement and Discussion] amakuramio:
{
"script": [
{
"name": "Privacy.Build.BRAND",
"code": "-- This file is part of XPrivacyLua.\n\n-- XPrivacyLua is free software: you can redistribute it and\/or modify\n-- it under the terms of the GNU General Public License as published by\n-- the Free Software Foundation, either version 3 of the License, or\n-- (at your option) any later version.\n\n-- XPrivacyLua is distributed in the hope that it will be useful,\n-- but WITHOUT ANY WARRANTY; without even the implied warranty of\n-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n-- GNU General Public License for more details.\n\n-- You should have received a copy of the GNU General Public License\n-- along with XPrivacyLua. If not, see <http:\/\/www.gnu.org\/licenses\/>.\n\n-- Copyright 2017-2018 Marcel Bokhorst (M66B)\n\nfunction after(hook, param)\n local result = param:getResult()\n if result == nil then\n return false\n end\n\n local fake = 'unknown'\n param:setResult(fake)\n return true, result, fake\nend\n"
}
],
"definition": [
{
"builtin": false,
"collection": "Privacy",
"group": "Use.Tracking",
"name": "Build.BRAND",
"author": "M66B",
"version": 0,
"description": "",
"className": "android.os.Build",
"methodName": "#BRAND",
"parameterTypes": [],
"returnType": "java.lang.String",
"minSdk": 1,
"maxSdk": 999,
"minApk": 0,
"maxApk": 2147483647,
"enabled": true,
"optional": false,
"usage": false,
"notify": false,
"luaScript": "@Privacy.Build.BRAND",
"settings": [
"brand"
]
}
]
}
[Paid Software Announcement and Discussion] M66B:
You are defining the setting 'brand', but not using it.

See the documentation about how to get settings values.
[Paid Software Announcement and Discussion] amakuramio:
Screen
[Paid Software Announcement and Discussion] amakuramio:
Oops the wrong one!

Wait

{
"script": [
{
"name": "Privacy.Build.FINGERPRINT",
"code": "-- This file is part of XPrivacyLua.\n\n-- XPrivacyLua is free software: you can redistribute it and\/or modify\n-- it under the terms of the GNU General Public License as published by\n-- the Free Software Foundation, either version 3 of the License, or\n-- (at your option) any later version.\n\n-- XPrivacyLua is distributed in the hope that it will be useful,\n-- but WITHOUT ANY WARRANTY; without even the implied warranty of\n-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n-- GNU General Public License for more details.\n\n-- You should have received a copy of the GNU General Public License\n-- along with XPrivacyLua. If not, see <http:\/\/www.gnu.org\/licenses\/>.\n\n-- Copyright 2017-2018 Marcel Bokhorst (M66B)\n\nfunction after(hook, param)\n local result = param:getResult()\n if result == nil then\n return false\n end\n\n local fake = param:getSetting('track.fingerprint')\nreturn true, result, fake\nend\n"
}
],
"definition": [
{
"builtin": false,
"collection": "Privacy",
"group": "Use.Tracking",
"name": "Build.FINGERPRINT",
"author": "M66B",
"version": 0,
"description": "",
"className": "android.os.Build",
"methodName": "#FINGERPRINT",
"parameterTypes": [],
"returnType": "java.lang.String",
"minSdk": 1,
"maxSdk": 999,
"minApk": 0,
"maxApk": 2147483647,
"enabled": true,
"optional": false,
"usage": true,
"notify": false,
"luaScript": "@Privacy.Build.FINGERPRINT",
"settings": [
"track.fingerprint"
]
}
]
}

-- This file is part of XPrivacyLua.

-- XPrivacyLua is free software: you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
-- the Free Software Foundation, either version 3 of the License, or
-- (at your option) any later version.

-- XPrivacyLua is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- GNU General Public License for more details.

-- You should have received a copy of the GNU General Public License
-- along with XPrivacyLua. If not, see <http://www.gnu.org/licenses/>.

-- Copyright 2017-2018 Marcel Bokhorst (M66B)

function after(hook, param)
local result = param:getResult()
if result == nil then
return false
end

local fake = param:getSetting('track.fingerprint')
return true, result, fake
end

---------- Post added at 02:22 PM ---------- Previous post was at 02:21 PM ----------

Still not working...
[Paid Software Announcement and Discussion] M66B:
It looks good to me, so I don't know why it isn't working. Details do matter though, so maybe there is a space somewhere where it shouldn't be or a dot instead of a colon, etc. You'll need to figure this out yourself. Developing something is not for the faint of heart.

Maybe you should start with a working hook definition from the repository and change things one by one.
[Paid Software Announcement and Discussion] amakuramio:
This is very odd. In the app it is spoofed. I can see its reading fingerprint data and spoofed in xprivacylua but in device app itself it isnt..... hmmmm
[Paid Software Announcement and Discussion] amakuramio:
So odd...
[Paid Software Announcement and Discussion] M66B:
Then you might need to hook more functions/values. Android often provides several ways to fetch the same value. The build fingerprint is likely a system property too.

I didn't notice until now, but this is the wrong thread to discuss about hook development. So, next time, please go here:

https://xdaforums.com/xposed/modules/xposed-developing-module-t3741692
[Paid Software Announcement and Discussion] amakuramio:
alright but because we are still on the same topic, my last reply here:

if I use changer (another spoofing app) and only select the device ID app, it is spoofed correctly...
[Paid Software Announcement and Discussion] M66B:
Which device ID exactly?
[Paid Software Announcement and Discussion] amakuramio:
I mean the device id app can read the fingerprint

If I use another spoofing app then it is spoofed correctly

But if I use xprivacylua it isn't, thats all :) but I prefer xprivacylua because it can also block system services, and most apps nowadays use ipc to gather data from google play or system services. Oh how I miss kitkat....
[Paid Software Announcement and Discussion] M66B:
Restricting the build fingerprint isn't supported by XPrivacyLua.
[Paid Software Announcement and Discussion] Jakob1379:
I am pretty sure the question haven't been asked here so here goes:

In xPrivacy there is an option called system which prevents "Root" commands to be called. I haven't found anything like that in your Lua version. Am I missing something or is it simply not present?

Cheers for the best security app!
[Paid Software Announcement and Discussion] Namnodorel:
Not present. But if you're using Magisk or similar, the Root solution will most likely prompt you to grant or deny Root permissions by itself, and handle the implementation more elegantly than an Xposed module like XPL could.

If you want to, sou could achieve this with custom hooks, though.