En basiti, login ekranına şifrenizi yazıyorsunuz, sonra sms geliyor onuda yazıyorsunuz ama yazdığınız sms aslında onuda karşıya iletmiş oluyorsunuz bu şekilde login olunmuş oluyor. Banka güvenlik önlemi olarak birden fazla cihazla eşleşmeye izin veriyorsa kolayca giriş yapıp istediği herşeyi yapabiliyor işte. Burda temel olarak size tavsiye verebileceğim şey, ip block'dur arkadaşlar. ananızın babanızın hesaplarına ip block atın, ev dışında biryerde giriş yapamasınlar. Farklı kişiler zaten giriş yapamazlar. Ama uzaktan telefonunuzu ele geçirip, remote bir şekilde kullanan programlar var bunu çözmek içinse uygulamanızı şifreleyin parmak iziyle açılabilsin bir tek, bunuda geçebiliyorlarsa, çok güvenli vpn çözümleri var bunlarla cihazın trafiğini yalnızca belirli uygulamalar için açabilirsiniz.
fikir olarak özel bir program yükleyin, chatgpt ye yazdırabilirsiniz, telefonun ekranı kilitli ve kapalıyken arka planda işlem yapıyorsa size uyarı versin veya interneti kapatsın vs...
Edit: Burada şöyle birşey de yapmış olabilirler, siz ekranı kilitlediğiniz zaman ön tarafa siyah bir filigran atıyor ve aslında telefonu kitlemiyor, bu sebeple sizin yaptığınız uygulama ekranı kilitlediğinizde kilitlemese bile kilitleme fonksiyonu devreye girmiş gibi görüp izlemeye başlaması önemli
public class MonitoringService extends Service {
private Handler handler = new Handler();
private Runnable idleRunnable;
private long idleTimeout = 30000; // 30 saniye
@Override
public void onCreate() {
super.onCreate();
registerScreenReceiver();
startIdleWatcher();
}
// Ekran kilidi durumunu algıla
private void registerScreenReceiver() {
IntentFilter filter = new IntentFilter();
filter.addAction(Intent.ACTION_SCREEN_OFF);
filter.addAction(Intent.ACTION_SCREEN_ON);
registerReceiver(new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (Intent.ACTION_SCREEN_OFF.equals(action)) {
onScreenLocked();
} else if (Intent.ACTION_SCREEN_ON.equals(action)) {
resetIdleTimer();
}
}
}, filter);
}
// Ekran kilitlendiğinde işlem
private void onScreenLocked() {
monitorBankingActivity();
}
// Kullanıcı etkileşimini izleme
private void startIdleWatcher() {
idleRunnable = () -> {
// 30 saniye işlem yapılmadığında çalışacak işlem
monitorBankingActivity();
};
handler.postDelayed(idleRunnable, idleTimeout);
}
private void resetIdleTimer() {
handler.removeCallbacks(idleRunnable);
handler.postDelayed(idleRunnable, idleTimeout);
}
// Bankacılık aktivitesini izleme
private void monitorBankingActivity() {
UsageStatsManager usageStatsManager = (UsageStatsManager) getSystemService(Context.USAGE_STATS_SERVICE);
long endTime = System.currentTimeMillis();
long startTime = endTime - 1000 * 60; // Son 1 dakikalık aktiviteler
List<UsageStats> stats = usageStatsManager.queryUsageStats(
UsageStatsManager.INTERVAL_DAILY, startTime, endTime);
if (stats != null) {
for (UsageStats usageStat : stats) {
String packageName = usageStat.getPackageName();
if (isBankingApp(packageName)) {
disableInternet();
break;
}
}
}
}
// Bankacılık uygulamalarını tanımlama
private boolean isBankingApp(String packageName) {
// Burada bankacılık uygulaması paket adlarını tanımlayın
List<String> bankingApps = Arrays.asList("com.example.bankapp1", "com.example.bankapp2");
return bankingApps.contains(packageName);
}
// İnterneti kapatma (Root gerekli)
private void disableInternet() {
try {
Process su = Runtime.getRuntime().exec("su");
DataOutputStream os = new DataOutputStream(su.getOutputStream());
os.writeBytes("svc data disable\n");
os.flush();
os.writeBytes("exit\n");
os.flush();
su.waitFor();
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public IBinder onBind(Intent intent) {
return null;
}
}