UAObfuscatedString / バイナリ上での文字列難読化ライブラリー
NSLog(@"%@", @"".T.h.i.s._.i.s._.a._.t.e.s.t.dot); > This is a test. NSString *identifier = @"".c.o.m.dot.u.r.b.a.n.a.p.p.s.dot.e.x.a.m.p.l.e;
サンプルを見れば分かるように、NSString
のカテゴリーとして英数字や記号のメソッドが追加されており、メソッド呼び出しによって文字連結で文字列を生成していくというライブラリー。
アプリのバックエンドAPIのURLやAPIキーといった知られたくない情報をそのまま文字列定数としてソースコードに記載してしまうと、アプリのバイナリ解析で見つけられたり書き換えができてしまうので、バイナリ上には単一文字としてしか含まれないようにするというアイデア。