CodeBlanks Logo Icon CodeBlanks

Code obfuscation

Code obfuscation ve minification öğrenirsin.

Code obfuscation nedir?

Code obfuscation, derlenen JavaScript kodunu insanların okumasını zorlaştırmaktır. Değişken adları kısaltılır, boşluklar atılır, mantık yeniden düzenlenir. Sonuç: tersine mühendislik yapan kişi anlamsız kod görür.

React Native'de minification bunun temelidir. Hermes motoru JS'i byte koduna çevirir; bu da okunabilirliği düşürür. Üretim derlemesinde minification varsayılan olarak açıktır. Ek koruma için react-native-obfuscating-transformer gibi araçlar kullanılır. Obfuscation uygulamayı yavaşlatmaz; yalnızca kodu gizler. Bu, ticari mantığın çalınmasını zorlaştırır.

Hermes ve üretim derlemesi

Hermes, React Native için optimize edilmiş bir JS motorudur. JS kodunu byte koduna çevirir; bu hem hızı artırır hem de kodu gizler. Üretim derlemesinde Hermes varsayılan olarak açıktır.

app.json'da "jsEngine": "hermes" ayarıyla etkinleştirilir. Hermes çıktısı doğrudan okunamaz; tersine mühendislik araçları gerektirir. Bu, obfuscation'ın temel katmanıdır. Üzerine ek obfuscation araçları eklenebilir; ama Hermes tek başına da ciddi koruma sağlar. Geliştirme derlemesinde Hermes bazen kapalı olur; hata ayıklama kolaylığı için.

Uygulama Hermes ayarını ekle

Bir app.json iskeletine "jsEngine" alanı ekle. Değer "hermes" olsun. Alan "expo" bölümü içinde yer alsın.

Başlangıç kodu

App.js
{
  "expo": {
    "name": "Uygulama"
    // jsEngine ayarını buraya ekle
  }
}

Örnek çözüm

App.js
{
  "expo": {
    "name": "Uygulama",
    "jsEngine": "hermes"
  }
}

Soru ve cevaplar

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

1 Minification ne yapar?

App.js
const longName = getValue();
  • Ekranı kilitler
  • Uygulamayı hızlandırır
  • Değişken adlarını kısaltır Doğru cevap
  • Veritabanını şifreler

Açıklama: Minification değişken adlarını kısaltır ve boşluğu atar.

2 Hermes motor ayarı

Soru
"jsEngine": ____
Cevap
"jsEngine": "hermes"

Açıklama: jsEngine hermes ayarı Hermes'i açar.

3 Parçayı rolüne eşle

Kavram Anlamı
obfuscation Kodu gizler
minification Adları kısaltır
Hermes Byte koduna çevirir
app.json Ayar dosyası

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