Sto provando a inserire il codice antipirateria nella mia app. La precedente risposta a questo (che non posso collegare a causa del mio stato membro - fa schifo) può essere facilmente neutralizzata, poiché la stringa "SignerIdentity" può essere cercata e sostituita nel binario usando un editor esadecimale.Ottieni dimensione file di info.plist per prevenire la pirateria
Invece, controllare il file Size del file info.plist e confrontarlo con un valore di riferimento sembra più solido (dal momento che info.plist viene modificato qua e là quando si rompe l'app). Come potrei farlo? Ho provato quanto segue ma i registri 0.
NSBundle *bundle = [NSBundle mainBundle];
NSDictionary *mainDictionary = [bundle infoDictionary];
NSLog(@"%d", [mainDictionary fileSize]);
Il problema è che il pirata potrebbe modificare quella stringa "FvtareVqragvgl" in qualcos'altro e che controllerebbe un'altra chiave nel file info.plist .. che probabilmente sarà null. L'attributo filesize è paragonato a un int quindi non c'è davvero un modo semplice per cercarlo nel binario. – samvermette
Grazie per la risposta! Aggiornamento – samvermette
: now // \t NSDictionary * fileAttributes = [fileManager fileAttributesAtPath: pathP traverseLink: YES]; è deprecato ... utilizzare: -> ... \t NSDictionary * fileAttributes = [fileManager attributesOfItemAtPath: pathP errore: NULL]; ... invece – meronix