سؤال

أحاول وضع رمز مكافحة القرصنة في تطبيقي. يمكن بسهولة مواجهة الإجابة السابقة لهذا (والتي لا يمكنني الارتباط بها بسبب حالة عضويتي - تمتص) بسهولة، حيث يمكن البحث عن سلسلة "التوقيت" واستبدالها في الثنائي باستخدام محرر HEX.

بدلا من ذلك، التحقق من ملفات filesize for the info.plist file ومقارنتها بقيمة مرجعية أصدرت أكثر صلابة (نظرا لأن المعلومات. يتم تعديلها هنا وهناك عند تكسير التطبيق). كيف لي أن افعل ذلك؟ حاولت ما يلي ولكنها تسجل 0.

NSBundle *bundle = [NSBundle mainBundle];
NSDictionary *mainDictionary = [bundle infoDictionary];
NSLog(@"%d", [mainDictionary fileSize]);
هل كانت مفيدة؟

المحلول

قد تمنع المفرقعات النجاة من العثور على مراجع إلى "تسجيل الدخول" في التعليمات البرمجية الخاصة بك من خلال تطبيق ROT13 أو خوارزمية غامضة بسيطة مماثلةhttp://en.wikipedia.org/wiki/rot13.

بعد تطبيق ROT13، سيصبح "SignerIentity" "fvtarevqragvgl".

على أي حال، الإجابة على سؤالك (كيف تحصل على حجم المعلومات.

NSBundle *bundle = [NSBundle mainBundle];
NSString* bundlePath = [bundle bundlePath];

NSFileManager *fileManager = [NSFileManager defaultManager];

NSString* path = [NSString stringWithFormat:@"%@/Info.plist", bundlePath ];

NSDictionary *fileAttributes = [fileManager attributesOfItemAtPath:path 
                                                             error:NULL];

if (fileAttributes != nil) {
    NSNumber *fileSize;

    if (fileSize = [fileAttributes objectForKey:NSFileSize]) {
        NSLog(@"File size: %qi\n", [fileSize unsignedLongLongValue]);
    }           
}

ضع في اعتبارك أن حجم (بايت) من Info.plist في دليل مشروع Xcode الخاص بك و Info.plist داخل الحزمة قد تختلف. ربما تريد بناء اللعبة مرة واحدة، ثم انظر إلى حجم <your app bundle.app>/Info.plist ثم قم بتحديث رمز مكافحة المسار الخاص بك.

نصائح أخرى

لم أكن مبرمجة مطلقا لجهاز iPhone، لكنك لم أستطع فقط التقاط تجزئة من هذا الملف ومقارنتها بالرجوع إليها، وربما تولي قيمة التجزئة لمنع شخص ما تغيير التجزئة المرجعية فقط؟

هذا الرمز لا يزال العديد من الهبات:

معلومات السلسلة. من السهل العثور عليها. nsfilesize هو أيضا مشبوهة جدا ....

كما قال هنا تحديد ما إذا كان iPhone مكسور برمجيا يبدو أن بعض التطبيقات المتشققة الأخيرة المثبتة عبر Install0US لا تملك معلوماتهم. (على الأقل المعلومات. لا يحتوي على أي مفتاح تسجيل الدخول). كيف يمكننا اكتشاف الكراك في مثل هذه القضية؟

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