Anti-tamper
- React Native kursu
- Uzman
- Ders 40/47
- 5 dk
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
import { Platform } from 'react-native';
// isJailbroken fonksiyonunu buraya ekleÖrnek çözüm
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?
isRooted()- Web
- Windows
- Android Doğru cevap
- iOS
Açıklama: Root Android cihazların değiştirilmiş halidir.
2 Platform kontrolü
if (____.OS === 'ios')
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 |