ios - 如何访问存储在 Google Drive 中的隐藏应用数据?
问题描述
我有一个iOS 应用程序,将 Google Drive 中的数据存储为隐藏的应用程序数据。
如何访问此应用程序的隐藏应用程序数据(除了使用应用程序本身)?
(此处已提出并回答了类似的问题,但参考了Android应用程序。但是,答案使用了Android apk文件,因为我在iOS上使用了应用程序,所以我没有该文件。我猜通过使用 Wireshark 或 Charles Proxy 等分析数据包可以获得相同的信息;我只是不确定我在寻找什么。)
解决方案
“应用程序数据文件夹”是一个特殊文件夹,只能由您的应用程序访问。它的内容对用户和其他应用程序都是隐藏的。
访问和查看应用程序数据文件夹的权限被锁定到您的应用程序,由其客户端凭据表示。查看其中内容的唯一方法是使用与该应用程序关联的客户端以及对您的应用程序进行身份验证的用户授予的同意。
如何访问此应用程序的隐藏应用程序数据(除了使用应用程序本身)?
数据被锁定到您的应用程序。您的应用程序由客户端 ID/客户端密码表示。如果您有权访问此应用程序的客户端凭据,那么您可以创建另一个应用程序并以这种方式访问数据。
如何访问存储在 Google Drive 中的隐藏应用数据?
NSData *fileData = [[NSFileManager defaultManager] contentsAtPath:@"files/config.json"];
GTLRDrive_File *metadata = [GTLRDrive_File object];
metadata.name = @"config.json";
metadata.parents = @[@"appDataFolder"];
GTLRUploadParameters *uploadParameters = [GTLRUploadParameters uploadParametersWithData:fileData
MIMEType:@"application/json"];
uploadParameters.shouldUploadWithSingleRequest = TRUE;
GTLRDriveQuery_FilesCreate *query = [GTLRDriveQuery_FilesCreate queryWithObject:metadata
uploadParameters:uploadParameters];
query.fields = @"id";
[driveService executeQuery:query completionHandler:^(GTLRServiceTicket *ticket,
GTLRDrive_File *file,
NSError *error) {
if (error == nil) {
NSLog(@"File ID %@", file.identifier);
} else {
NSLog(@"An error occurred: %@", error);
}
}];
从存储应用程序数据中窃取的代码示例在此页面上也有使用其他语言的示例。
推荐阅读
- java - 如何使用 JSoup 解析和格式化 HTML 文件元素的内容?
- c# - 同一站点下的多个 IIS 相同应用程序的登录/注销问题
- android - 设置按钮内联和断线以适应不同的设备
- microsoft-graph-api - Microsoft Graph API 可以访问存储在 Exchange 服务器上的电子邮件吗?
- azureservicebus - 将 Azure 服务总线队列迁移到 C# 中的主题和订阅
- c# - 需要使用 MVC 中的表单验证从服务器端验证 DateTime
- javascript - Safari IOS 指针事件的解决方法(不支持)
- javascript - 显示正确 xlabel 的 ReactJS ApexChart 问题
- python - 是否可以让在线聊天机器人从其他地方获取字符串?
- exception - 如何在事件驱动/消息队列微服务上传播异常?