XML Parser 触发 AV 警报

Posted

技术标签:

【中文标题】XML Parser 触发 AV 警报【英文标题】:XML Parser triggers AV Alert 【发布时间】:2013-06-03 05:30:52 【问题描述】:

我正在开发一个 android 应用程序,它从在线 XML 文件中读取当前货币汇率并通过 w3c DOM 对其进行解析。该文件位于我的 AWS S3 存储中。

解析器工作正常,我可以根据需要获得所有费率,但我的防病毒应用程序 (avast!) 一直将我的应用程序标记为恶意软件 (Android:Agent-YI[Trj ])。当我注释掉代码并且我使用的方法只返回 true 时,AV 保持安静,因此我将其缩小到下面的代码。

有人知道为什么 AV 不接受我的代码吗?应用程序的唯一权限是:

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>

解析器代码:

public static boolean fetchCurrencyRates(String in)

    boolean success = true;

    HashMap<String, Double> onlineRates = new HashMap<String, Double>();

    try
    
        Document xmlRates = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(in);
        xmlRates.getDocumentElement().normalize();

        NodeList xmlItems = xmlRates.getElementsByTagName("item");

        for(int i = 0; i < xmlItems.getLength(); i++)
        
            Node n = xmlItems.item(i);

            if(n != null && n.getNodeType() == Node.ELEMENT_NODE)
            
                Element currency = (Element) n;

                String code = currency.getElementsByTagName("title").item(0)
                                                                    .getTextContent()
                                                                    .substring(0, 3);

                String rate = currency.getElementsByTagName("description").item(0)
                                                                          .getTextContent()
                                                                          .split(" ")[3];

                Log.i("DEV", code + ": " + rate);
                onlineRates.put(code, Double.parseDouble(rate.replaceAll(",", "")));
            
        
    
    catch(Exception e)
    
        Log.e("DEV", e.getMessage();
        success = false;
    

    return success && !onlineRates.isEmpty();

我也尝试按照 Android 文档的建议使用 XmlPullParser,但遇到了同样的问题。

【问题讨论】:

【参考方案1】:

我知道为什么 AV 不喜欢我的代码。显然XML解析毕竟没有导致问题......

为了加载数据,我使用了AsyncTask,但尚未实现任何视觉反馈 (ProgessDialog)。仅此一项就足以发出 AV 警报。

【讨论】:

以上是关于XML Parser 触发 AV 警报的主要内容,如果未能解决你的问题,请参考以下文章

在Android警报管理器中设置时间-立即触发警报[重复]

安卓。报警管理器。重复警报不会触发,并且在一段时间后会立即触发所有警报

是否可以根据另一个警报是否触发有条件地向普罗米修斯发出警报?

Grafana 自我指标和跟踪警报触发器

为啥Android警报会同时触发?

如何获取警报计数,在普罗米修斯上一周警报触发了多少次