Подтвердить что ты не робот

Что такое com.walkfreestub? (вызывая сбои на Android)

Совсем недавно наше Android-приложение начало сбой из-за NullPointerException в пакете под названием com.walkfreestub. В настоящее время в Интернете есть абсолютно нет ссылки (мы пробовали всевозможные другие поиски, связанные с сбоем). Любая информация об этом пакете или возможных причинах была бы замечательной. Наше лучшее предположение заключается в том, что кто-то декомпилировал наш APK и изменил исходный код, чтобы переиздать его в неофициальном магазине приложений.

Примечательно, что это происходит чаще всего в Индии и Нигерии, и часто на устройстве Xiaomi 2014818 (но это может быть просто обычным устройством в этих странах). Версии - это в основном Android 4.2 и 4.4, но также несколько сбоев на 5.1 и других.

Update:

В настоящее время существует несколько форумов, в которых пользователи жалуются на вредоносное ПО, связанное с com.walkfree и com.walkfreestub. См. Ссылки здесь, здесь и здесь. Это, к сожалению, подтверждает нашу гипотезу о том, что APK действительно был модифицирован вредоносным ПО в неофициальном магазине приложений.

Полная трассировка стека:

java.lang.NullPointerException: replacement == null
    at java.lang.String.replace(String.java:1348)
    at com.walkfreestub.trace.ReferrerTrack.checkTrackUrl(ReferrerTrack.java:158)
    at com.walkfreestub.internal.PushServiceProxy.startDownloadApp(PushServiceProxy.java:454)
    at com.walkfreestub.internal.PushServiceProxy.notifyToDownload(PushServiceProxy.java:239)
    at com.walkfreestub.internal.PushServiceProxy.notifyMessage(PushServiceProxy.java:274)
    at com.walkfreestub.internal.PushServiceProxy.onMessageLoaded(PushServiceProxy.java:342)
    at com.walkfreestub.internal.push.WalkPushRequest$6.onResponse(WalkPushRequest.java:375)
    at com.walkfreestub.internal.push.WalkPushRequest$6.onResponse(WalkPushRequest.java:1)
    at com.walkfreestub.volley.toolbox.StringRequest.deliverResponse(StringRequest.java:60)
    at com.walkfreestub.volley.toolbox.StringRequest.deliverResponse(StringRequest.java:1)
    at com.walkfreestub.volley.ExecutorDelivery$ResponseDeliveryRunnable.run(ExecutorDelivery.java:99)
    at android.os.Handler.handleCallback(Handler.java:730)
    at android.os.Handler.dispatchMessage(Handler.java:92)
    at android.os.Looper.loop(Looper.java:137)
    at android.app.ActivityThread.main(ActivityThread.java:5136)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:525)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:740)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:556)
    at dalvik.system.NativeStart.main(Native Method)
4b9b3361

Ответ 1

Пакеты, такие как com.walkfree и com.walkfreestub, по-видимому, поступают из троянца, вставляемого в декомпилированные APK, распространяемые через неофициальные магазины приложений. Троян, похоже, загружает больше нежелательных приложений в фоновом режиме и, вероятно, выполняет другие сомнительные действия. Если вы столкнулись с одним из этих вредоносных APK, отправьте его на антивирусные сайты, такие как Malwarebytes!

См. подобные сообщения здесь, здесь, и здесь для получения дополнительной информации.

Ответ 2

Я бы предложил обнаружить классы com.walkfreestub. *, используя отражение и уведомив пользователя. Скорее всего, эти инъекции реализованы с помощью автоматизированного script, чтобы они не искали вручную для вашего кода обнаружения.

Я имею в виду что-то вроде описанного здесь проверка наличия или отсутствия пакета

Вы проверяете, что com.walkfreestub. * присутствует в пути к классам и уведомляет пользователя о том, что это приложение было взломанным вредоносным ПО, и пользователи должны знать об этом.

В качестве альтернативы вы можете попробовать проверить подпись APK.

Ответ 3

Для меня это произошло на устройстве Nokia. Я не пользуюсь Volley. Все HTTP-вызовы выполняются с использованием OkHttp

Устройство, очевидно, внедрено и работает под управлением Android 4.1.2. Вот stacktrace:

java.lang.NullPointerException
   at com.xckevin.download.DownloadManager.addDownloadTask(DownloadManager.java:111)
   at com.walkfreestub.internal.download.DownloadControllerForService.download(DownloadControllerForService.java:230)
   at com.walkfreestub.internal.download.DownloadControllerForService.download(DownloadControllerForService.java:201)
   at com.walkfreestub.internal.PushServiceProxy.startDownloadApp(PushServiceProxy.java:435)
   at com.walkfreestub.internal.PushServiceProxy.onActionLoaded(PushServiceProxy.java:525)
   at com.walkfreestub.internal.action.WalkActionRequest$2.onResponse(WalkActionRequest.java:188)
   at com.walkfreestub.internal.action.WalkActionRequest$2.onResponse(WalkActionRequest.java:1)
   at com.walkfreestub.volley.toolbox.StringRequest.deliverResponse(StringRequest.java:60)
   at com.walkfreestub.volley.toolbox.StringRequest.deliverResponse(StringRequest.java:1)
   at com.walkfreestub.volley.ExecutorDelivery$ResponseDeliveryRunnable.run(ExecutorDelivery.java:99)
   at android.os.Handler.handleCallback(Handler.java:615)
   at android.os.Handler.dispatchMessage(Handler.java:92)
   at android.os.Looper.loop(Looper.java:137)
   at android.app.ActivityThread.main(ActivityThread.java:4807)
   at java.lang.reflect.Method.invokeNative(Method.java)
   at java.lang.reflect.Method.invoke(Method.java:511)
   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:792)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:559)
   at dalvik.system.NativeStart.main(NativeStart.java)

Это похоже на сбой из сторонней библиотеки, которая расширяет Volley. https://github.com/Houny/Downloader