Coder Social home page Coder Social logo

Comments (16)

kaputnikGo avatar kaputnikGo commented on September 2, 2024 1

Its quite possible that PilferShush hasnt been working properly as per your previous posts - this is hopefully fixed now with the latest update.

However, whether or not a VoIP app gets blocked can be down to several things: whether the VoIP app is making a phone call or a data call.

The expected behaviour is the phone call (android.permission.CALL_PHONE) should automatically bump PilferShush off from blocking the microphone as it is basically invoking the android phone app with " Intent callIntent = new Intent(Intent.ACTION_CALL);". I assume this type of call would only occur if you are calling a landline or mobile phone number of someone that doesnt have the VoIP app.

The data call ( VoIP to VoIP ) should get blocked by PilferShush as it is not a phone call as such but is simply requesting microphone access as per any other user app that records audio (android.permission.RECORD_AUDIO).

How any VoIP app behaves if it doesnt get microphone access is unknown by me. But I do have the telegram app so i can test how it works.

from pilfershushjammer.

kaputnikGo avatar kaputnikGo commented on September 2, 2024 1

i think i know what that is. The app originally used the audio focus request as a means to engage/disengage the jammers but that was removed for the passive when the it started using a service. the dialog remains as part of the resume function that needs fixing but it depends on VoIP behaviours etc. I think i have enough info now to make some assumptions. i think i will end up giving all control over to the user and hope they dont hide notifications and know to stop a jammer for wanted calls etc..

The next update is to focus on the active jammer as it is both noisy, inefficient and presently not a useful jamming technique for the user. One of the major problems with android is the java method of AudioTrack for making sounds is really quite a bit crap, most apps will use a native library of some sort to bypass the java. So now im thinking about whether or not i want to import a whole library just to make some simple sine waves...

thanks for the help!

from pilfershushjammer.

kaputnikGo avatar kaputnikGo commented on September 2, 2024

Thanks for posting.
Is your phone the ZTE Axon 7 as found on gsmarena and XDA?

This is, I believe, one of the side effects of the way the app has been made. It was designed (and used) as a foreground app.
The notification is literal in that it is only notifying the user that the jammer process is running. There are no actions from within the notification other than a "return to app" as a default to do something when there is a touch event.
The main app activity is and should remain in control at all times and its state is (should) be the true state. If it says it is running then it should be running, if it says its not, then it should not be running, etc.

One problem is the increasingly aggressive way the android OS manages apps that run for long time periods or dont run in the foreground. Overall this is a good thing and this app tries to behave appropriately to comply with expected behaviour and following dev guidelines. So it was never intended that this app run for long periods of time. This is something that is being re-examined for a future update.

This app is tested and used on an AOSP version android and there are no "app managers", only the Settings:Apps:App Info view that is built into the OS. If the PilferShush passive jammer is running and I force stop the app from this view then the notification is killed as well. This means I'm not sure what "app manager" you are referring to but i would assume its installed as part of the ROM variant or even as part of the launcher app. It may appear under the User App Scanner found in the main nav bar menu.

Ultimately i think this issue falls within the potential jammer as a background service issue. And this is something that is still being looked into. The main concern is that it is possible to dismiss/hide a background service notifications while the jammer is running thereby causing confusion if for instance at a later date a VoIP app call is received and the caller can't hear you. This is something I cant allow to happen with this app, even as an accident.

The android OS doesnt (to my knowledge) provide an API that allows an app to determine which other app is requesting microphone access, So even with a whitelist it would require some more invasive functions in the app so that it could "guess" which running process is trying to gain access. And then hope that the delay before access is granted is handled gracefully by the requesting app. In my testing with other mic using apps, they check once at start and then a fail is either a crash, hang, disabled or even appear to record audio when it actually doesnt.

from pilfershushjammer.

puppykickr avatar puppykickr commented on September 2, 2024

from pilfershushjammer.

puppykickr avatar puppykickr commented on September 2, 2024

from pilfershushjammer.

kaputnikGo avatar kaputnikGo commented on September 2, 2024

hang on, if the passive jammer is running you are still able to make VoIP calls? if this is so can you tell me which VoIP app you use so i can test against it, thanks.

also, these issues are hopefully going to be no longer a problem with the re-write of the jammer as a foreground service.

from pilfershushjammer.

kaputnikGo avatar kaputnikGo commented on September 2, 2024

Aight, the app (version 3.0.1) is now updated to run services which now means the state should be reliable, the notifications accurate and behaviours proper. Its pushed to google play but if you are getting on fdroid that may take a little longer.
Hopefully this version works for you,
and thanks for the issue reports :)

from pilfershushjammer.

puppykickr avatar puppykickr commented on September 2, 2024

There are two VOIP apps that I have used without needing to turn PilferShush off.

Telegram

Dingtone

Maybe they override any other app that has access to the microphone when they are active?

The idea that they seem to be not affected makes me wonder if PilferShush was functioning on my device after all, considering that I only recently noticed the discrepancy between the app dialog and the notification statement.

My girlfriend has an identical device, and has these same apps as well.

The other week, she called the home phone from her cell, and she could hear me but I could not hear her.

She was not using VOIP, however. She was on cellular.

from pilfershushjammer.

puppykickr avatar puppykickr commented on September 2, 2024

I have not yet tested the VOIP apps with the new version, but will soon and leave a note.

The new version has cleared up the other issues that I had.

If I need to turn the app off manually to make a VOIP call, that is just fine with me, as it shows that PilferShush is indeed working.

from pilfershushjammer.

kaputnikGo avatar kaputnikGo commented on September 2, 2024

Excellent, thank you again for the help with this!

from pilfershushjammer.

puppykickr avatar puppykickr commented on September 2, 2024

from pilfershushjammer.

puppykickr avatar puppykickr commented on September 2, 2024

Any time. I enjoy testing apps.

I might not be the brightest bulb in the box, but I can give feedback on real life issues from a consumer point of view.

I also am interested in simple to use security apps, such as this one.

Is there any point in time where a camera jammer is possible or could be implemented?

from pilfershushjammer.

kaputnikGo avatar kaputnikGo commented on September 2, 2024

Well its very appreciated thank you. The only way for a dev to understand how their app is behaving in use is through direct feedback and the occasional crash reports that google play issue. There are so many versions of android and so many variants that there really isnt a guarantee of any function working as intended.

As for a camera jammer, i dont really know much about the camera api. The only tracker references to cameras that i have seen while researching hidden microphone use is that they can use the front facing camera to take photos of the user. The other use i have seen is with scanning the photos folder for filenames, dates and numbers etc.

There maybe something on f-droid.org that is suitable. otherwise put a sticker over the front facing camera(s) :)

from pilfershushjammer.

kaputnikGo avatar kaputnikGo commented on September 2, 2024

Actually, this: https://developer.android.com/guide/topics/admin/device-admin
leads to this: https://developer.android.com/reference/android/app/admin/DevicePolicyManager

which has a
public void setCameraDisabled (ComponentName admin, boolean disabled)

from pilfershushjammer.

puppykickr avatar puppykickr commented on September 2, 2024

from pilfershushjammer.

kaputnikGo avatar kaputnikGo commented on September 2, 2024

Correct, when you use the Microphone app first and then try PilferShush it will not be able to work as the Android system currently only allows one user installed app access to the mic at a time. The system voice call app (not VoIP) will kick all apps off the mic. This design feature is the entire reason that Pilfershush can exist.

Adding a camera block switch to the PilferShush app is relatively simple, maybe having it engage when the passive jammer is engaged as well. But having device admin rights im not sure about yet. the addition of extra permissions is one thing i am trying to avoid. An example is to give the app internet permissions and access so that updates to the SDK list could take place independent of app updates via the stores. this would also require storage read/write access. But i think it safer and easier to continue this way as new SDKs seem to only be uncovered at the rate that updates occur anyway.

More research. next update i will include a menu switch for camera blocking to see how it goes.

from pilfershushjammer.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.