解密IPA数据,如应用程序名称,版本,图标等[MVC C#]

时间:2017-08-30 05:41:10

标签: c# asp.net-mvc ipa info.plist diawi

更新问题

我设法阅读了info.plist文件,得到了以下回复。我不知道如何解密为XML。

screenshot

我不确定,我怎么读这个?

实际问题

我想创建一个类似Diawi的应用程序。

为此,我已经完成了Android应用程序上传部分,现在我想在C#中阅读IPA信息,如应用程序名称,应用程序版本,包名等。

我搜索了很多,但找不到任何相关的文档。

有人可以指导我做正确的方法吗?

1 个答案:

答案 0 :(得分:2)

IPA文件是ZIP文件,因此您需要做的第一件事就是提取此文件。

解压缩IPA文件后,我们将获得一个名为Payload的文件夹,扩展名为app的文件将存储在文件夹Payload中, 也许这个名为 xxxx.app 的应用程序,以及info.plist我们可以在此应用程序xxxx.app中找到,与文件夹Payload相关的路径应为 Payload / xxxx.app / info的.plist

    // parse info.plist
    File plistFile = new File(plistFilePath);
    NSDictionary rootDict = null;
    try {
        rootDict = (NSDictionary) PropertyListParser.parse(plistFile);

        // get bundle id
        NSString parameter = (NSString) rootDict.objectForKey("CFBundleIdentifier");
        ipaInfo.put("CFBundleIdentifier", parameter.toString());

        // get application name
        parameter = (NSString) rootDict.objectForKey("CFBundleName");
        ipaInfo.put("CFBundleName", parameter.toString());

        // get version
        parameter = (NSString) rootDict.objectForKey("CFBundleVersion");
        ipaInfo.put("CFBundleVersion", parameter.toString());

        // get bundle display name
        parameter = (NSString) rootDict.objectForKey("CFBundleDisplayName");
        ipaInfo.put("CFBundleDisplayName", parameter.toString());

        // get ios mini. version
        parameter = (NSString) rootDict.objectForKey("MinimumOSVersion");
        ipaInfo.put("MinimumOSVersion", parameter.toString());
    } catch (Exception e) {
        e.printStackTrace();
    }