Detect hidden screen recording/capturing apps

Fusi

Ensign
Registriert
Dez. 2003
Beiträge
183
Hi Leute!

Gar nicht so einfach.


Googelt man nach "detect hidden screen capturing apps" oder "how to prevent from hidden screencapturing" bekommt man als Ergebnis genau das Gegenteil. Seitenweise Apps welche hidden screen capturing anbieten.

Ich will aber genau das Gegenteil, ich will mich schützen!

Kennt ihr eine App welche zuverlässig unter Android die Möglichkeit für hidden Screenshots oder Video unterbindet? Auch zb. den Staatstrojaner :D hahah
 
Am besten: ein Handy nutzen, welches extrem Zeitnah patches bekommt. Passwort zum entsperren des screens. patches installieren sobald verfuegbar. Google account durch 2 Faktor auth absichern. Keine Apps aus unbekannten Quellen erlauben. OTG deaktiviert lassen.

Viel mehr kannst du da nicht machen
 
Vielleicht eine eigene Android-Version erstellen ?

google sagt zB screen recording ist eingebaut über adb shell (hier) - das "screenrecord" scheint Teil des Android Frameworks zu sein : hier - cmd screenrecord
Wenn diese oder ähnliche Schnittstellen deaktiviert werden oder inkompatibel zu screen capture apps werden, dann funktionieren diese nicht mehr (weil zB die Befehle / Schnittstellen / Variablen nur anders benannt sind oder andere "Sicherheitsmechanismen" ähnlich Firewalls & IDS benutzt werden)

Ob durch durch diese Änderung das System dann sicherer wird ? kA !
Antivirensoftware versucht auch durch beobachtung von Schnittstellen informationen zu sammeln bzw. bestimmte Schnittstellen werden deaktviert.
 
Fusi schrieb:
Kennt ihr eine App welche zuverlässig unter Android die Möglichkeit für hidden Screenshots oder Video unterbindet?

gibt es nicht, denn dann musste dauerhaft jede App genau überwacht werden, wie wo was die macht und das müsste auf Systemlevel basieren, damit die nicht ausgekontert wird. Das würde erstens das Smartphone vollkommen auslasten und zweitens die Batterie so schnell leer lutschen, das du das eigentlich durchweg laden musst.
 
  • Gefällt mir
Reaktionen: madmax2010
Ich hab bisher nicht viel im Internet dazu finden können. Ich finde es interessant dass es der Mehrheit scheinbar egal ist wenn spyware deinen Screen recorded oder sogar deine Kamera verwendet.

Ich hab noch das gefunden, aber das klingt mir wenig hilfreich:

Block screenshots​

Screenshot preventing on mobile apps | by Michał Międlarz, Recently, at nomtek, we were asked if we could create an app which would be able to block screenshots. Basically there will be some images Click inside the monitor image that shows the Windows logo. When you click it, you’ll see the app’s logo appear on your screen and the monitor image inside this window will turn black, as shown below (edited since the app prevents screenshots when enabled).

Screenshot preventing on mobile apps - nomtek, This app protects your privacy and your confidential information shown on the screen by preventing intruders and viruses from taking screenshots on your phone There’s only one big block on screenshots on Android and indeed iOS: when DRM-protected video is playing, with Netflix the best example. Right now there’s no way around this restriction, even using

Does WhatsApp Notify When You Take Screenshots of Status, ScreenShield is a patent-pending technology that allows you to view an app's content on your screen but prevents you from taking a screenshot of it. If you try to take a screenshot on Confide, you will now simply capture a blank screen. To test whether it blocks screenshots, use the Print Screen key, or Snipping tool or any other tool and it should block the screen capture. When you try to paste the clipboard content after using trying to capture the screenshot, you will see just see a blank screenshot which is black (no text or picture appears). That's the proof you need.


Ansonsten noch diese Variante, aber das ist halt mal einiges an Vorbereitung:

Source: https://trinitytuts.com/prevent-application-content-from-screenshot-or-screen-recording-android/
Step 1. Create a new project in Android Studio and open your activity in which you want to prevent from screen recording.

if(android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.HONEYCOMB) {
getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE, WindowManager.LayoutParams.FLAG_SECURE);
}

Complete Activity Code

package com.screenshotpermission;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.WindowManager;

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if(android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.HONEYCOMB) {
getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE, WindowManager.LayoutParams.FLAG_SECURE);
}
}
}

That’s all you can check below video in which you can see how it’s working


Hope this code help you.

Was coding angeht eine zweite Quelle welche ich dazu gefunden habe:
Source: https://www.geeksforgeeks.org/how-to-prevent-screenshot-or-screen-recorder-in-android/

Step by Step Implementation

Step 1: Create a New Project

To create a new project in Android Studio please refer to How to Create/Start a New Project in Android Studio. Note that select Java as the programming language.

Step 2: Working with the activity_main.xml file





Navigate to the app > res > layout > activity_main.xml and add the below code to that file. Below is the code for the activity_main.xml file. We will create a simple TextView inside the activity_main.xml file.

  • XML



<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Preventing App from Taking Screeenshot"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
android:textStyle="bold"
android:textSize="18sp"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>

Method 1​

In the MainActivity.java file simply add the following code and it will prevent taking Screenshot in Android App.

getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE,
WindowManager.LayoutParams.FLAG_SECURE);
Below is the complete code for the MainActivity.java file.

  • Java



import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.WindowManager;

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

// Adding this line will prevent taking screenshot in your app
getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE,
WindowManager.LayoutParams.FLAG_SECURE);

}
}

Method 2​

Method 1 is only appropriate for a single activity but what’s the solution for block screenshot for all the activities. We are going to discuss this in method 2. First of all, make a Custom Application class and add a registerActivityLifecycleCallbacks. Then register it in your manifest.

Step 1: Here write the given code in the MyApplicationContext.java file

  • Java



import android.app.Activity;
import android.app.Application;
import android.content.Context;
import android.os.Bundle;
import android.view.WindowManager;

public class MyApplicationContext extends Application {
private Context context;
public void onCreate() {
super.onCreate();
context = getApplicationContext();
setupActivityListener();
}

private void setupActivityListener() {
registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {
@Override
public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
activity.getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE, WindowManager.LayoutParams.FLAG_SECURE); }
@Override
public void onActivityStarted(Activity activity) {
}
@Override
public void onActivityResumed(Activity activity) {

}
@Override
public void onActivityPaused(Activity activity) {

}
@Override
public void onActivityStopped(Activity activity) {
}
@Override
public void onActivitySaveInstanceState(Activity activity, Bundle outState) {
}
@Override
public void onActivityDestroyed(Activity activity) {
}
});
}
}
Step 2: Register it in the manifest file like the following

<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:name=".MyApplicationContext"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>

Und das hab ich auch noch gefunden:
Source: https://stackoverflow.com/questions/28606689/how-to-prevent-screen-capture-in-android
public class InShotApp extends Application {

@Override
public void onCreate() {
super.onCreate();
registerActivityLifecycle();
}

private void registerActivityLifecycle() {

registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {
@Override
public void onActivityCreated(@NonNull Activity activity, @Nullable Bundle savedInstanceState) {
activity.getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE, WindowManager.LayoutParams.FLAG_SECURE); }

@Override
public void onActivityStarted(@NonNull Activity activity) {

}

@Override
public void onActivityResumed(@NonNull Activity activity) {

}

@Override
public void onActivityPaused(@NonNull Activity activity) {

}

@Override
public void onActivityStopped(@NonNull Activity activity) {

}

@Override
public void onActivitySaveInstanceState(@NonNull Activity activity, @NonNull Bundle outState) {

}

@Override
public void onActivityDestroyed(@NonNull Activity activity) {

}
});

}
}
Ergänzung ()

Sebbi schrieb:
gibt es nicht, denn dann musste dauerhaft jede App genau überwacht werden, wie wo was die macht und das müsste auf Systemlevel basieren, damit die nicht ausgekontert wird. Das würde erstens das Smartphone vollkommen auslasten und zweitens die Batterie so schnell leer lutschen, das du das eigentlich durchweg laden musst.
Ich dachte genau das hat Android mit 10 verbessert? Dass eben gefragt wird bei use ob der screen aufgenommen werden darf oder nicht.
 
Zuletzt bearbeitet:
Fusi schrieb:
Ich hab bisher nicht viel im Internet dazu finden können. Ich finde es interessant dass es der Mehrheit scheinbar egal ist wenn spyware deinen Screen recorded oder sogar deine Kamera verwendet.
kein Smartphone benutzen, Kamera ausbauen ...

Fusi schrieb:
Ich dachte genau das hat Android mit 10 verbessert?
Wenn eine unsichtbare Software / spyware die Kamera/Oberfläche jetzt überwacht - wie sollst du als Nutzer erkennen können ob Android 10 keine "unsichtbare Software" / spyware hat bzw. diese nachträglich installiert wurde - also ob dein Android 10 oder vorherige Version unmodifiziert ist ?

Eine Signaturprüfung aller Komponenten hilft nicht, wenn die Schadsoftware eine gültige Signatur besitzt oder legitim aussieht .
 
Zuletzt bearbeitet:
lokon schrieb:
Vielleicht eine eigene Android-Version erstellen ?
Mit Root kein Problem, aber ohne schon.

Wir reden hier von einer Videoaufnahme des Bildschirms, die durch Spyware erstellt wird? Also eine App nimmt fortwährend Videos auf und schickt diese an einen ihrer Server?

Vielleicht könnte uns der TE auch erklären, woher sein Verdacht kommt, er könnte diese Spyware auf seinem Gerät haben?
Ergänzung ()

Fusi schrieb:
Auch zb. den Staatstrojaner :D hahah
Glaub mir, den hast du nicht auf deinem Handy.
 
Zurück
Oben