Moatgator Shield
ریلیز سے پہلے ہر بلڈ کو مضبوط کریں۔
کوڈ اور اسٹرنگ اوبفسکیشن، چھیڑ چھاڑ سے تحفظ اور انٹیگریٹی چیکس، جو pull request کے ذریعے آپ کی بلڈ پائپ لائن میں شامل ہوتے ہیں۔
ریورس انجینئرنگ کو مہنگا بنائیں۔
حملہ آور آپ کی ایپ کو پڑھنے سے آغاز کرتے ہیں۔ Shield کمپائل شدہ ایپ کو اس طرح دوبارہ لکھتا ہے کہ لاجک، اینڈ پوائنٹس اور سیکرٹس کو پڑھنا، بدلنا اور ری پیکیج کرنا کہیں زیادہ مشکل ہو جائے، آپ کے سورس کوڈ کو چھوئے بغیر۔
- کوڈ اور اسٹرنگ اوبفسکیشن
- چھیڑ چھاڑ سے تحفظ اور انٹیگریٹی چیکس
- پڑھنے کے قابل کریش رپورٹس کے لیے میپنگ فائلیں محفوظ رکھی جاتی ہیں
Shield کیا کرتا ہے
01
ناموں اور کوڈ کا اوبفسکیشن
کلاسز، میتھڈز اور فیلڈز کے نام بدلتا ہے اور کنٹرول فلو کو نئے سرے سے ترتیب دیتا ہے، تاکہ ڈی کمپائل شدہ آؤٹ پٹ حملہ آور کو ایپ کے کام کرنے کے طریقے کے بارے میں بہت کم بتائے۔
02
اسٹرنگ انکرپشن
Android پر اینڈ پوائنٹس، کیز اور دیگر حساس اسٹرنگز بلڈ میں انکرپٹ ہو جاتی ہیں اور صرف ضرورت پڑنے پر ڈی کرپٹ ہوتی ہیں۔
03
انٹیگریٹی اور چھیڑ چھاڑ سے تحفظ
ایپ رن ٹائم پر اپنا کوڈ اور دستخط خود جانچتی ہے اور بدلی ہوئی یا دوبارہ سائن کی گئی کاپی چلنے پر ردعمل دیتی ہے۔
04
ہر بلڈ کے لحاظ سے تنوع
تحفظ ایک بلڈ سے دوسری بلڈ میں بدلتا ہے، اس لیے ایک ریلیز کے لیے لکھا گیا بائی پاس اگلی ریلیز پر کام نہیں کرتا۔
05
اثاثوں اور وسائل کا تحفظ
بنڈل کیے گئے اثاثے اور وسائل محفوظ رہتے ہیں، اس لیے انہیں سیدھا کھول کر کہیں اور دوبارہ استعمال نہیں کیا جا سکتا۔
06
پڑھنے کے قابل کریش رپورٹس
ہر بلڈ کے لیے ایک میپنگ فائل بنتی ہے جو Crashlytics، Sentry اور Play Console کے ساتھ اسٹیک ٹریسز کو ڈی اوبفسکیٹ کرنے میں کام آتی ہے۔
Shield آپ کی ریلیز میں کیسے فٹ بیٹھتا ہے
- 1
اپنی پائپ لائن میں تحفظ دیں
ایک pull request آپ کی Android یا iOS (بیٹا) بلڈ میں Moatgator شامل کر دیتی ہے۔ تحفظ کمپائل شدہ ایپ پر چلتا ہے، آپ کے سورس کوڈ پر کبھی نہیں۔
- 2
سائن آپ ہی کرتے ہیں، ہمیشہ کی طرح
Moatgator بغیر سائن کیا ہوا آرٹیفیکٹ لوٹاتا ہے۔ آپ کی پائپ لائن اسے الائن کر کے سائن کرتی ہے، اس لیے سائننگ کیز اور سرٹیفکیٹ آپ کے پاس ہی رہتے ہیں۔
- 3
لاگت جانیں
ہر بلڈ ایپ کے سائز اور اسٹارٹ اپ ٹائم پر اپنا اثر بتاتی ہے، تاکہ آپ طے کر سکیں کہ کیا فعال رکھنا ہے۔
shield: android: obfuscation: names + control-flow string_encryption: true asset_protection: true integrity: signature + code diversify_per_build: true report: [size, startup] # impact per buildShield کیا کور کرتا ہے
Android
- کلاسز، میتھڈز اور فیلڈز کے نام بدلنا
- کنٹرول فلو اوبفسکیشن
- اسٹرنگ انکرپشن
- وسائل اور اثاثوں کا تحفظ
- انٹیگریٹی اور دستخط کی جانچ
iOS (بیٹا)
- ناموں، اسٹرنگز اور سمبلز کی مضبوطی
- آپ کی اپنی پائپ لائن میں دوبارہ سائننگ
- سرٹیفکیٹ اور پروفائلز آپ کے پاس رہتے ہیں
فریم ورکس
- Hermes بنڈل کے تحفظ کے ساتھ React Native
- EAS Build کے کسٹم فنکشن کے ذریعے Expo
- Flutter رن ٹائم شناخت کے ساتھ؛ Dart کوڈ کے لیے Flutter کی اپنی اوبفسکیشن
اکثر پوچھے جانے والے سوالات
کیا Shield میرا سورس کوڈ بدلتا ہے؟
نہیں۔ یہ آپ کی بلڈ پائپ لائن کے اندر کمپائل شدہ ایپ پر کام کرتا ہے، ایسے pull request کے ذریعے جس کا جائزہ آپ لیتے ہیں۔
کیا تحفظ میری ایپ کو سست یا بڑا کر دے گا؟
تحفظ کچھ اضافی بوجھ ڈالتا ہے۔ ہر بلڈ ایپ کے سائز اور اسٹارٹ اپ ٹائم پر اپنا اثر بتاتی ہے، تاکہ آپ لاگت دیکھ کر طے کر سکیں کہ کون سے تحفظ فعال رکھنے ہیں۔
کیا آپ میری سائننگ کیز رکھتے ہیں؟
نہیں۔ Moatgator بغیر سائن کیا ہوا آرٹیفیکٹ لوٹاتا ہے اور آپ کی اپنی پائپ لائن اسے سائن کرتی ہے۔ کیز، سرٹیفکیٹ اور پروویژننگ پروفائلز آپ کے پاس رہتے ہیں۔
کیا یہ React Native، Expo اور Flutter کے ساتھ کام کرتا ہے؟
جی ہاں۔ Hermes سے بنے React Native bundle محفوظ ہوتے ہیں اور Expo، EAS Build کے کسٹم فنکشن کے ذریعے کام کرتا ہے۔ Flutter ایپس کو ہمارے پلگ اِن کے ذریعے رن ٹائم شناخت ملتی ہے؛ Moatgator، Dart کوڈ کو اوبفسکیٹ نہیں کرتا، اس لیے Flutter کا اپنا --obfuscate آپشن آن رکھیں۔
کیا میری کریش رپورٹس پڑھنے کے قابل رہیں گی؟
جی ہاں۔ ہر بلڈ کے لیے ایک میپنگ فائل بنتی ہے جو Crashlytics، Sentry اور Play Console کے ساتھ اسٹیک ٹریسز کو ڈی اوبفسکیٹ کرنے میں کام آتی ہے۔
کیا اکیلا اوبفسکیشن کافی ہے؟
نہیں۔ اوبفسکیشن تجزیے کی لاگت بڑھاتا ہے، مگر پُرعزم حملہ آور کو نہیں روکتا۔ Shield کو Runtime کے ساتھ ملائیں، جو ایپ چلتے وقت چھیڑ چھاڑ اور انسٹرومنٹیشن کو پہچانتا ہے۔
اپنی ایپ کے تحفظ کے لیے تیار ہیں؟
مفت شروع کریں، یا ہمیں بتائیں کہ آپ کو کیا چاہیے۔