Вопрос по objective-c, obfuscation, encryption – Objective-C, как запутать или зашифровать NSString?
У меня есть NSString (который является путем к файлу) в моем коде, который я хотел бы как-то запутать или зашифровать,
но все равно сможете легко вызывать путь к файлу при необходимости. Я искал ответ на этот вопрос, но все, что я видел, связано либо с iOS, либо кажется слишком сложным.
Я просто хотел бы использовать его с чем-то вроде этого:
- (void)method {
NSString *obfuscate = @"/path/to/something/secret"; // encrypt or obfuscate
[self manageFiles:obfuscate]
- (void)manageFiles(NSString *)obfuscate {
NSFileManager *files = [[NSFileManager alloc] init];
if ([files fileExistsAtPath:obfuscate])
... .
& # X2014; любая помощь приветствуется, спасибо.
В Obj-C такого способа нет. Obj-C достаточно динамичен, чтобы любой из этих методов можно было перехватить и перехватить. Не отправляйте ничего в приложении, которое обязательно должно быть секретным. Если ваше приложение запускается на взломанном телефоне или если оно доступно на пиратских сайтах, то оно уже было открыто и содержимое памяти удалено. Все вышеперечисленные методы копируют декодированные данные в основную память, где они отображаются.
Увидеть: https://www.youtube.com/watch?v=Ii-02vhsdVk
Ни один из перечисленных методов на самом деле не является безопасным. Опять же, не встраивайте подобные вещи в свои приложения с гарантией того, что они действительно безопасны.
RSA
в конце концов, для этой конкретной задачи было немного удивительно, что никто не упомянул об этом в то время ... Методы, использованные здесь в этой теме, не остановили бы меня еще в 80-х, когда мне было 12 лет.
Joe Habadas
что я сделал в прошлом, чтобы запутать строку, было чем-то вроде этого:
-(NSString*)myString {
NSString *string = nil;
string = [@"ozzzzzzzzzzzzhazzzzzzzizzzzzz" stringByReplacingOccurrencesOfString:@"z" withString:@""];
return string;
}
Что бы это сделать, это удалить все вхождения письмаz
, оставляя тебя сohai
как строка Не уверен, что этого будет достаточно для вашего случая, но это сработало для меня.
Надеюсь это поможет!
string = [@"llqzllqallqpllqhllq hllqallqxllqollqrllqellqd llqmllqe" stringByReplacingOccurrencesOfString:@"llq" withString:@""];
& # X2014; есть только один или два человека, которые могли бы взломать это.
Joe Habadas