公司項目一版本釋出後過了兩天,大面積使用者安裝提示風險應用,界面提示:發現一個病毒危險,請立即解除安裝,或者是支付環境存在風險,而且桌面圖示上有很醒目的紅色感歎号。
報毒内容:高危病毒禁止安裝
報毒内容:病毒危險,立即處理
然後我們向騰訊申訴,回複是讓我們自查代碼。但我們的app真沒毒…看有小夥伴交了企業資質和保證書能申訴過。不過我們沒有這些…
開始懷疑是不是環境問題電腦中毒了,打包時apk被感染,換了台電腦重新打包發版。隻撐幾天…
又懷疑是不是伺服器被攻擊、或者同行惡意舉報導緻中毒,但暫時沒法排查此類原因。
國内防毒軟體清除原理
國内防毒軟體大部分采用了靜态分析方案對APK進行分析,主要會解析APK内部DEX代碼和資源檔案進行靜态分析,通過比對病毒庫内部的特征碼,判斷APK是否有風險。
同時APK的一些元資訊,也會被用作風險分析,包括APK的名稱,APK的包名,APK的簽名證書資訊,APK申請的權限資訊等。
Proguard處理流程,Proguard是android混淆插件,然後,對于報毒的APK來說,僅通過Proguard混淆是不夠的,通常還需要一些更深入檔案系統底層的處理才能達到去毒後,使用者手機安裝不報毒。
apk119.com加強混淆去毒流程
apk119.com 加強混淆去毒中心,深入apk底層檔案系統,持續追蹤手機廠商報毒機制,經過測試和大多數使用者回報,是最可靠最安全的。
參考網上的方法,我們把項目内敏感字、包名、applicationID和簽名都改了,再次發版。撐了兩天又報毒了…大無語,這次病毒名字還不一樣(如下圖)。後面新發一版不到5分鐘就報毒了,這次也太迅速了…猜想防毒軟體是跟庫裡上一個同辨別的apk做對比,改動不大就直接報毒。
這次隻改了包名,經過幾次發版能撐兩天再報毒。
目前解決對策就是一發現報風險就改包名重新打包替換線上的包,多備幾個包給背景。