Base64
형태로 되어있는 문자열을 변조하려면 디코딩 및 인코딩이 필요하다.
AOS 및 iOS 환경에서 각각 사용 가능한 프리다 스크립트를 작성했다.
함수 사용 시 data
에는 문자열이 들어가면 된다.
function b64decode_aos(data) {
var Base64 = Java.use('com.google.android.gms.common.util.Base64Utils');
var String = Java.use('java.lang.String');
return String.$new(Base64.decode(data));
}
function b64encode_aos(data) {
var Base64 = Java.use('com.google.android.gms.common.util.Base64Utils');
var String = Java.use('java.lang.String');
return Base64.encode(String.$new(data).getBytes());
}
function b64decode_ios(data) {
var NSData = ObjC.classes.NSData.alloc();
var NSString = ObjC.classes.NSString.alloc();
var str = ObjC.classes.NSString.stringWithString_(data);
var decodedData = NSData.initWithBase64Encoding_(str);
var decodedString = NSString.initWithData_encoding_(decodedData, 0);
return decodedString.toString();
}
function b64encode_ios(data) {
var str = ObjC.classes.NSString.stringWithString_(data);
var encodedData = str.dataUsingEncoding_(0);
var encodedString = encodedData.base64EncodedStringWithOptions_(0)
return encodedString.toString();
}