CodeBlanks Logo Icon CodeBlanks

Anti-tamper

Anti-tamper ve jailbreak detect öğrenirsin.

Anti-tamper nedir?

Anti-tamper, uygulamanın değiştirilmiş bir cihazda çalışmasını engellemek ya da sınırlamaktır. Jailbreak (iOS) ve root (Android) tespiti yapılır. Bu cihazlarda uygulama verisi çalınabilir; bu yüzden hassas işlevler kapatılır.

React Native'de react-native-jailbreak-detect ya da expo-secure-store ile tespit yapılır. Jailbreak tespit edilirse uygulama hassas ekranları gizler ya da tamamen kapanır. Bu, ödeme ve bankacılık uygulamalarında standarttır. Tam koruma mümkün değildir; ama tespit, saldırganın işini zorlaştırır. Anti-tamper, obfuscation ile birlikte kullanıldığında en etkilidir.

Uygulama Jailbreak tespit fonksiyonu yaz

Bir isJailbroken fonksiyonu yaz. Platform 'ios' ise true döndürsün (basit iskelet). Platform.OS kullanılsın.

Başlangıç kodu

App.js
import { Platform } from 'react-native';

// isJailbroken fonksiyonunu buraya ekle

Örnek çözüm

App.js
import { Platform } from 'react-native';

function isJailbroken() {
  if (Platform.OS === 'ios') {
    return true;
  }
  return false;
}

Tespite tepki verme

Jailbreak tespit edilirse uygulama iki tepki verebilir: hassas işlevleri gizlemek ya da tamamen kapanmak. Bankacılık uygulamaları genelde kapanır; e-ticaret uygulamaları yalnızca ödeme adımını gizler.

Örnek: if (isJailbroken()) { return <View><Text>Bu cihaz desteklenmiyor</Text></View>; }. Bu, kullanıcıyı bilgilendirir ama veriyi çalmaya çalışanı da durdurur. Tespit her zaman %100 doğru değildir; bu yüzden expo-secure-store gibi şifreli depo ile birlikte kullanılır. Şifreli depo, veriyi cihazda bile okunamaz hale getirir.

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Root hangi platformda olur?

App.js
isRooted()
  • Web
  • Windows
  • Android Doğru cevap
  • iOS

Açıklama: Root Android cihazların değiştirilmiş halidir.

2 Platform kontrolü

Soru
if (____.OS === 'ios')
Cevap
if (Platform.OS === 'ios')

Açıklama: Platform.OS react-native'den gelir.

3 Parçayı rolüne eşle

Kavram Anlamı
jailbreak iOS değişikliği
root Android değişikliği
isJailbroken Tespit fonksiyonu
expo-secure-store Şifreli depo

Uzman bölümündeki tüm dersler