سؤال

اعتدت Dotfuscator لحماية طلبي من الهندسة العكسية أنا تشفير ملفات dll في ويندوز التطبيق ، ولكن كيف يمكن أن أفعل ذلك في OSX/MonoTouch?

استخراج dll من ipa, ثم تخلط dll في ويندوز ، أعد حزم المشفرة dlls في IPA, ثم نشره إلى أبستور?

هل هناك أي بسيطة الحل ؟

هل كانت مفيدة؟

المحلول

قبل كل شيء عليك أن تتذكر أن دائرة الرقابة الداخلية لا تسمح JIT (في الوقت المناسب) تجميع.وهذا يعني أن كل شيء يجب أن تذهب من خلال AOT (قبل الوقت) المترجم.

هذه النتائج أن جميع IL رمز من الجمعيات يتم تحويلها إلى الأم الذراع (v6, v7 و/أو الإبهام) تعليمات و أن IL غير مطلوب بعد الآن.

هذا يعني أنه عندما كنت بناء Release|iPhone, IL رمز سيتم إزالتها من الجمعيات.وبما أنه قطاع رائد بعيدا لن تكون موجودة (أن decompiled) في التطبيق الذي نشر.

ملاحظات

  • الجمعيات سوف يكون لا يزال داخل التطبيق لأن البيانات الوصفية لا يزال المطلوبة (على سبيل المثال System.Reflection يحتاج إليها).حتى رموز الأسماء والموارد الملفات لن تكون مشوهة/مشفرة مثل obfuscators عموما ؛

  • يمكنك تفكيك الذراع الجمعية (أن يكون صحيحا حتى لو كنت غموض الجمعيات قبل عثمان تجميع) لكنه كثيرا من الصعب أن نفهم (ونعود إلى C#) من IL.

  • استخراج الجمعيات من IPA و معالجة عملية لهم كسر على الأقل تطبيق التوقيع (يمكنك إعادة التوقيع عليها).فإنه سيتم أيضا على الأرجح كسر الكثير من الأشياء الأخرى (منذ رمز يشير إلى أسماء/هياكل يمكن أن يكون قد تغير).أنا لا أعتقد أن هذا العمل (ولكن ذلك يعتمد على الخيارات التي قد تستخدم من obfuscator).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top