能否通过Androguard获取Cordova应用生成的config.xml文件?
用Androguard获取Cordova APK的config.xml当然可以!
你没找到是因为Cordova把config.xml放在**assets/www/**目录下,而不是/res里——这也是为什么你用get_files()没看到它的原因:Androguard的get_files()方法默认返回的是APK中常规的资源文件、dex文件等,但assets目录下的内容需要用专门的方法来访问。
具体操作步骤
直接用Androguard的get_asset()方法就能精准获取这个文件,示例代码如下:
from androguard.core.bytecodes.apk import APK # 加载目标APK apk = APK("your_cordova_app.apk") # 获取assets/www/config.xml的内容 config_xml_data = apk.get_asset("www/config.xml") if config_xml_data: # 解码为UTF-8字符串输出 print(config_xml_data.decode("utf-8")) else: print("未找到config.xml文件,请确认APK是否为Cordova生成")
为什么Apktool能拿到?
Apktool在反编译时会完整提取APK内的所有目录和文件,包括assets下的内容,所以它能直接把config.xml给你提取出来;而Androguard的get_files()没有把assets目录下的文件列入默认返回列表,得主动用资产相关的方法去获取。
下次找Cordova相关的配置文件,记得优先看assets/www/路径哦!
内容的提问来源于stack exchange,提问作者Cip
相关产品推荐
相关产品推荐

