解密iOS

时间:2015-06-04 09:19:36

标签: ios objective-c cocoa-touch nsdata pkcs#7

使用测试iOS应用我遇到了以下问题。

从远程网络服务器我收到一个.p7s文件,其中包含以下内容(可在Mac的TextEdit应用中查看):

0Ä  *ÜHܘ
†Ä0Ä10  +�0Ä    *ÜHܘ
†Ä$ÄÇ˚<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>CHALLENGE</key>
    <string>panacya</string>
    <key>IMEI</key>
    <string>01 232700 828513 5</string>
    <key>PRODUCT</key>
    <string>iPad1,1</string>
    <key>SERIAL</key>
    <string>GB0269NJETU</string>
    <key>UDID</key>
    <string>2866681d94ae6c56d189485d39c54eaedecf211c</string>
    <key>VERSION</key>
    <string>9A5288d</string>
</dict>
</plist>
������†Ç
[0ÇÛ0Ç\†
u6ÜΩ~60
    *ÜHܘ
�0Z10   UUS10U

Apple Inc.10UApple iPhone10UApple iPhone Device CA0
110808222517Z
140808222517Z0ÅÉ1-0+U$2890C19C-43F9-47C5-8534-A54F184E37DC10    UUS10   UCA10U  Cupertino10U

以下是原始文件的链接 - https://www.dropbox.com/s/lm05gg866zdrz20/ota-response.p7s?dl=0

然后我将NSData保存为.p7s文件到磁盘。

我需要从文件中获取嵌入的.plist(根据我看到它包含的内容)或者至少将其转换为可读NSString然后我可以在{{1}中显示}}

是否可能,我该如何实现?

1 个答案:

答案 0 :(得分:1)

您可以将其读入NSData个实例并使用

- (NSRange)rangeOfData:(NSData *)dataToFind options:(NSDataSearchOptions)mask range:(NSRange)searchRange

找到plist的开头和结尾。然后使用

- (NSData *)subdataWithRange:(NSRange)range

只获取plist数据。最后使用:

转换为NSString
- (instancetype)initWithData:(NSData *)data encoding:(NSStringEncoding)encoding