лоадер что это такое

ziginsider

Краткое описание. Создание. Использование.

Глобальная концепция: разработаны для работы с данными: загрузки (сохранения) данных (создание отдельного потока загрузки, загрузка, обработка ошибок, оповещение о состоянии загрузки). Нас интересует (в данный момент) одно частное применение лоадеров, а именно использование при пересоздании Activity (при изменении конфигурации) для сохранения состояния Activity

Лоадер – это компонент Android, который через класс LoaderManager связан с жизненным циклом Activity и Fragment. Это позволяет использовать их без опасения, что данные будут утрачены при закрытии приложения или результат вернется не в тот коллбэк. Разберем простейший пример (который хоть и простейший, но требует немало кода, это один из недостатков лоадеров). Создаем класс лоадера (для простоты он не будет грузить данные с сервера, а лишь имитировать загрузку):

В отличие от AsyncTask-а лоадер не нужно запускать вручную, это делается неявным образом через класс LoaderManager. У этого класса есть два метода с одинаковой сигнатурой:

Создадим экземпляр LoaderCallback для нашего StubLoader’a:

И теперь запускаем лоадер:

Результат: через две секунды после запуска Activity покажется Toast. Теперь, если мы изменим конфигурацию Activity, например, перевернём устройство, то работа лоадера должна начаться заново и Toast должен показаться через 2 секунды. Но он показывается мнгновенно! В чём магия?

Лоадер запускается в методе initLoader класса LoaderManager. Лоадер создается при первом запуске Activity, но при последующих запусках он не пересоздаётся. Вместо этого LoaderManager заменяет экземпляр LoaderCallbacks на новый переданный, и если данные загрузились, они передаются в onLoadFinished.

Таким образом нам не нужно беспокоиться об обновлении данных и создании нового лоадера, но если данные необходимо перезагрузить, можно выполнить restartLoader.

Жизненный цикл лоадера

Порядок работы менеджера загрузчиков (LoaderManager) во время создания активности:

При изменении конфигурации (поворот и т.п.):

Источник

Руководство по фоновой работе в Android. Часть 2: Loaders

Это вторая из серии статей об инструментах и методах фоновой работы в Android. Ранее уже были рассмотрены AsyncTask, в следующих выпусках — ThreadPools с EventBus, RxJava 2 и корутины в Kotlin.

лоадер что это такое. Смотреть фото лоадер что это такое. Смотреть картинку лоадер что это такое. Картинка про лоадер что это такое. Фото лоадер что это такое

В предыдущем тексте мы упомянули, что у AsyncTasks есть несколько проблем. Давайте вспомним две из них:

Проблема в том, что как только пользователь поворачивает устройство, Activity уничтожается, и ссылка устаревает. Это приводит к утечке памяти. Почему? Вспомним, что наш метод doInBackground вызывается внутри Future, исполняемого на executor — статическом члене класса AsyncTask. Это делает наш объект AsyncTask, а также Activity, строго достижимыми(потому что статика является одним из корней GC), а следовательно, неподходящими для сборки мусора. Это в свою очередь означает, что несколько поворотов экрана могут вызвать OutOfMemoryError, потому что Activity занимает приличный объем памяти.

Исправить эту ошибку можно с помощью WeakReference:

Хорошо, от OOM мы избавились, но результат выполнения AsyncTask в любом случае потерян, и мы обречены вновь его запускать, разряжая телефон и расходуя трафик.

Для того, чтобы исправить это, команда Android несколько лет назад предложила Loaders API («Загрузчики»). Посмотрим, как использовать это API. Нам нужно реализовать интерфейс Loader.Callbacks:

Как можно заметить, метод onLoadFinished очень похож на onPostExecute, который мы реализовывали в AsyncTask.

Нам нужно создать сам Loader:

И вызвать initLoader() с id нашего Loader:

Пожалуйста, обратите внимание: WeatherForecastLoaderCallbacks — вложенный класс нашей Activity; LoaderManager хранит ссылку на этот объект Callbacks — а значит, и на саму Activity тоже

Немало кода, да? Но мы тут получаем важное преимущество. Во-первых, Loader оказывается переиспользован при повороте экрана (или других изменениях конфигурации). Если экран повернули, onLoadFinished будет вызван с передачей результата, загруженного нами ранее.

Другое преимущество в том, что у нас не происходит утечка памяти, хотя доступ к Activity у нас остается, позволяя обновлять интерфейс.

Круто, у AsyncTask обоих этих преимуществ не было! Давайте теперь разберёмся, как всё это работает.

Тут-то и начинается главное веселье. Я думал, что LoaderManager хранится где-то внутри Application, но настоящая реализация оказалась куда более интересной.

LoaderManager создается при создании экземпляра Activity:

FragmentController.createController — это просто именованный конструктор для класса FragmentController. FragmentController делегирует создание LoaderManager в HostCallbacks (вложенному классу нашей Activity), реализация выглядит так:

Как видите, LoaderManager для самой Activity инициализируется лениво; экземпляр LoaderManager не создается до тех пор, пока впервые не понадобится. Доступ к LoaderManager нашей Activity происходит по ключу ‘(root)’ в Map LoadersManagers. Доступ к этой Map реализован так:

Однако это не последняя запись поля LoaderManager. Посмотрим на метод Activity#onCreate:

Метод restoreLoaderNonConfig в итоге просто обновляет host controller, который теперь является членом класса нового экземпляра Activity, созданной после изменения конфигурации.

При вызове метода initLoader() у LoaderManager уже есть вся информация о Loaders, которые были созданы в уничтоженной Activity. Так что он может опубликовать загруженный результат немедленно:

Здорово, что мы разобрались с двумя вещами сразу: как мы избегаем утечек памяти (заменяя экземпляр LoaderCallback) и как доставляем результат в новую Activity!

Возможно, вас интересует, что ещё за зверь такой — mLastNonConfigurationInstances. Это экземпляр класса NonConfigurationInstances, определённый внутри класса Activity:

Объект создаётся с помощью метода retainNonConfigurationInstance(), а затем к нему напрямую обращается Android OS. И он становится доступен для Activity в методе Activity#attach() (а это внутреннее API Activity):

Так что, к сожалению, главная магия остаётся внутри Android OS. Но поучиться на её примере нам никто не запретит!

Давайте подытожим, что мы обнаружили:

Как вы заметили, это перевод моей англоязычной статьи. Если статья вам показалось ценной, обратите внимание — в апреле пройдёт конференция Mobius, в программный комитет которой я вхожу, и могу обещать, что в этом году программа будет особенно насыщенна. На сайте конференции пока что опубликована только часть программы, потому что нам крайне тяжело выбрать лучшие — конкуренция остра как никогда. Уже можете изучить имеющиеся описания докладов, а скоро к ним добавятся новые!

Источник

Теория лоадеров

За последние 5 лет я написал множество лоадеров. Это так называемые программки, которые парсят инфу на сайтах-источниках и сохраняют ее себе в базу. Зачастую они представляют из себя последовательность регулярных выражений, с помощью которых находятся значения в нужных клеточках. Лоадеры могут авторизоваться, могут коннектиться через прокси, а иногда даже распознавать защитные картинки. Суть не в этом.

Теоретическая проблема в том, что невозможно написать абсолютно автоматический лоадер. Мы можем затырить любую инфу, но база превращается в свалку, если лоадер теряет классификацию сайта-источника. А когда начинаем сохранять классификацию, возникает проблема.

Рассмотрим пример. Пусть есть автосайт, на который грузятся объявления о продаже авто с сотни других ресурсов. Лоадер парсит объяву, выдает массив:

Автоматический лоадер часто работает так: смотрит в таблице марок по названию, если есть ford — берет id марки, если нет — добавляет «ford» в марки, и берет его id. То же делает с моделью и модификацией. Потом добавляет объявление с полученными id-шниками. Такая система плоха тем, что обязательно найдется объява, в которой на месте марки будет «ФОРД» или не «ВАЗ», а «VAZ», или «автоВаз», или не «Санкт-Петербург», а «С-Петербург»,«СПб»,«Cп-б». Умный гугл поймет, что это синонимы, а наш глупенький лоадер, сверяющий названия посимвольно, нет. В результате получается бардак в таблицах с классификациями.

Пытаясь минимизировать ручной труд монгола/модератора, я придумал такой алгоритм.

Прежде всего, лоадер состоит из двух частей.

Первая — loader_pages.
Скрипт просматривает страницы со списками объявлений типа вот таких http://cars.auto.ru/cars/used/ford/focus/ и тупо собирает ссылки на отдельные объявы. + находит ссылки на переходы по страницам и идет по ним рекурсией. Нашел ссылку на объяву — добавил ее в базу или, если она уже добавлена, обновил «дату последнего нахождения» на текущую. Это нужно для того, чтобы (лоадер работает ежечасно) удалять объекты, у которых дата нахождения ссылки достаточно старая (это значит, что ссылка уже не найдена, а значит объект с источника был удален).

Вторая — loader_offer.
Берет из базы еще не обработанные ссылки, грузит html, парсит. Получает массив типа

Грузит табличку compares. В ней находятся сопоставления, которые будут вручную обрабатываться модератором. Табличка состоит из полей:

Если соответствующее сравнение уже проставлено, ура победа, берем id-шник. Если нет — добавляем в compares новое сравнение, а объект не добавляем.

Модератор просматривает не проставленные сравнения и сопоставляет им значения из соответствующих «хороших» наших таблиц с марками автомобилей, моделями, городами итд.

Паренты.
Все хорошо работает пока таблицы маленькие. К примеру, марки авто — их всего 100. Сопоставить раз плюнуть. Моделей в моей базе 7000, а модификаций — 20.000. Представляете, из 20 тысяч выбрать сопоставление модификации «1.6 Ti-VCT 5d», которая у меня называется «1.6 Ti-VCT»? Модератор умирает. Или нужен хороший поиск.

Но можно сделать проще. При загрузке объявы мы будем обрабатывать сравнения по-порядку, сначала марка, затем модель, после модификация. Берем сравнение для марки,

находим его или добавляем — не суть. Берем id-шник этого сравнения и записываем его в дополнительное поле parent для сравнения модели:

То же самое делаем в модификации, в парент которой пишем id сравнения модели.

Модератор работает по-порядку. Сначала берет сравнения марок и все их проставляет. Потом берет сравнение модели. При этом мы видим, что у сравнения есть parent-сравнение марки, которое уже проставлено, поэтому в качестве вариантов для сопоставления нужно выводить не все возможные модели, а только те, у которых марка соответствует значению этого parent-сравнения. Ну то есть «Ford» проставили, а затем «Focus» выбираем не из 7000 моделей, а только из сотни моделей фордов.

Суть этого поста вовсе не в том, что я придумал что-то абсолютно новое. Просто нигде не встречал описания этих программ. А у меня мне нравится именно излишняя практичность, потому что в принципе ясно, что каждый объект — подмножество вершин некоторых деревьев, а парсер — это сопоставление элементов html-кода страницы этим вершинам. Можно бы было навести теорию, что-то вроде языка для описания парсеров итд… С другой стороны, средний код лоадера на php у меня занимает 2 страницы. И не ясно, стоит ли париться с теорией, потому как мне не придумать, как еще уменьшить и упростить этот код, даже применив какой-то абстрактный язык.

Источник

Содержание статьи

Вступление

В этой статье мы рассмотрим как имея один билд лоадера сделать для него конфигуратор. Тренироваться мы будем на очень известном лоадере robots. Для тех, кто не знает что это такое приведу небольшую цитату от разработчика:

Мы покупаем загрузки, тратим деньги, порою вообще большие суммы, а ведь легко можем получать от этих же загрузок большую отдачу, только если сразу передать на загрузку лоадер Robots. Тут мы получаем и удобную, а главное свою, а не чужую статистику и возможность грузить еще не ограниченное число файлов друзьям, знакомым за один подход, так и сами файлы будут грузиться качественнее. Вы наверняка ощутите отдачу как только начнете, да и добрую часть денег сэкономить можно, зачем лишнее тратить на «недогруженные» загрузки 😉 …

Приводить все характеристики данного продукта нет смысла, все легко находиться в интернете при должном желании. Почему я выбрал именно этот лоадер для опытов? Да потому, что он очень популярен и судя по заявлениям автора в него встроена мощная защита от реверсеров, т.е. от таких людей как мы.

Что такое лоадер. Это небольшой файлик, который в обход фаерволов загружает нужный нам файл на машину юзера и незаметно его запускает. Так что грузить файлы с помощью лоадера намного лучше, чем грузить файлы сразу. Так что вещь в хозяйстве незаменимая.

Анализ

Ну что же, приступим. На руках имеем 1 билд лоадера который безвозмездно пожертвовали нам добрые люди. Имя файла «loader.exe», размер

6kb. Натравим на файл любой анализатор (PEiD, DiE, Protection ID) и узнаем, что файл запакован MEW 11 SE 1.2. Это не слишком большая проблема, берём любимый отладчик OllyDbg и вперед. Загружаем в Olly наш файл и оказываемся на точке входа, где видим примерно следующее:

0090B55F >- E9 F04BAFFF JMP loader.00400154

Перейдём по адресу 00400154 и увидим следующий код:

00400154 BE 1CA09000 MOV ESI,loader.0090A01C

00400159 8BDE MOV EBX,ESI

0040015B AD LODS DWORD PTR DS:[ESI]

Теперь листаем код не много вниз, пока не наткнемся на следующие команды:

004001F0 FF53 F4 CALL DWORD PTR DS:[EBX-C]

004001F3 AB STOS DWORD PTR ES:[EDI]

004001F4 85C0 TEST EAX,EAX

004001F6 ^ 75 E5 JNZ SHORT loader.004001DD

Значит ставим breakpoint по адресу 004001F8 и запускаем программу на исполнение. Когда Olly прервётся, в стеке будет примерно следующие:

0012FFC0 00909000 loader.00909000

Вот это нам и надо, теперь будем распаковывать «мега приватный» криптор 🙂 Делаем в Olly F8 (Step over) и перемещаемся на адрес 00909000:

009080E5 0F31 RDTSC // получаем количество тактов

009080E7 2BC3 SUB EAX,EBX // разность между двумя замерами

009080E9 EB 01 JMP SHORT loader.009080EC

009080EB 90 NOP // занопили мусорный байт

009080EC 3D 00000001 CMP EAX,1000000 // если больше 1000000h

009080F1 EB 01 JMP SHORT loader.009080F4

009080F3 90 NOP // занопили мусорный байт

Старая отладка нас не интересует, идём дальше, в крипторе вовсю используется приём с прыжком через мусорный байт, чтобы сбить с толку реверсера бредовым листингом, как это выглядит:

0090811F /EB 01 JMP SHORT loader.00908122

00908121 |EA E305EB01 EBEB JMP FAR EBEB:01EB05E3

00908128 DF59 85 FISTP WORD PTR DS:[ECX-7B]

0090812B C058 EB 01 RCR BYTE PTR DS:[EAX-15],1

0090812F EA BA000000 00EB JMP FAR EB00:000000BA

Кроме первой команды JMP SHORT loader.00908122 ничего из этого участка кода не понять, но если занопись мусорные байты, то листинг становиться более читабельным:

0090811F /EB 01 JMP SHORT loader.00908122

00908122 \E3 05 JECXZ SHORT loader.00908129

00908124 EB 01 JMP SHORT loader.00908127

00908127 ^ EB DF JMP SHORT loader.00908108

00908129 59 POP ECX

0090812A 85C0 TEST EAX,EAX

0090812C 58 POP EAX

0090812D EB 01 JMP SHORT loader.00908130

Ну вот, совсем другое дело. Едем дальше. Чуть позже произойдёт исключение с ошибкой записи в память:

00404996 BB 0000F7BF MOV EBX,BFF70000 // адрес недоступный для записи

0040499B 85C9 TEST ECX,ECX

0040499D 59 POP ECX

0040499E 64:8937 MOV DWORD PTR FS:[EDI],ESI

004049A1 B8 002C2B1F MOV EAX,1F2B2C00 // байты для записи

004049A6 8703 XCHG DWORD PTR DS:[EBX],EAX // ошибка

Лоадер искусственно генерирует исключение и сам же его обрабатывает, такая техника помогает остановить эмулятор отдельный антивирусов, но она, как и все остальное, безвозвратно устарела. Дальше будет ещё исключение, проходим его и наконец перед нами место, которое можно принять за начало лоадера:

00401E78 803D F8464000 00 CMP BYTE PTR DS:[4046F8],0

00401E7F 75 0E JNZ SHORT loader.00401E8F

00401E81 C605 F8464000 01 MOV BYTE PTR DS:[4046F8],1

00401E88 BA 991E4000 MOV EDX,loader.00401E99

00401E8D EB 05 JMP SHORT loader.00401E94

Теперь нужно сдампить файл и привести его в человеческий вид. Полученный дамп будет весить 5
Мб, что ну никак не годиться, берём в руки любой PE-editor и отрезаем всё лишнее. Было:

секция 1: 00001000 00509000 00001000 00509000 C00000E0

секция 2: ТuЫЉ лФ 0050A000 00002000 0050A000 00002000 C00000E0

секция 1: code 00001000 00509000 00001000 00003A00 E00000E0

2540h: 65 73 73 00 00 00 00 00 00 00 00 00 00 00 00 00 ess.

И, соответственно, ImportTable address = 2500h и size = 14h.

Теперь можно анализировать лоадер и искать нужное нам место для подменяя url на наш.

Принцип работы нас не интересует, нам важно сделать конфигуратор.

Основная часть

Немного посмотрев лоадер в Olly я выяснил, что все строки шифруются одной процедурой:

0040141E 55 PUSH EBP // начало

00401486 AC LODS BYTE PTR DS:[ESI] // esi = строка

00401487 84C0 TEST AL,AL // пока символ <> 0

00401489 74 13 JE SHORT dump_.0040149E

0040148B FEC2 INC DL // увеличиваем счётчик

0040148D 8ACA MOV CL,DL

0040148F 80E1 1F AND CL,1F // счётчик AND 1Fh

00401492 80C1 61 ADD CL,61 // счётчик ADD 61h

00401495 FECE DEC DH // уменьшаем счётчик

00401497 32CE XOR CL,DH // ксорим 2 счетчика

00401499 32C1 XOR AL,CL // ксорим символ строки

0040149B AA STOS BYTE PTR ES:[EDI] // записываем в результат

0040149C ^ EB E8 JMP SHORT dump_.00401486

Алгоритм очень простой и обратимый. Т.е. если на вход подать зашифрованную строку, то она расшифруется, а если уже расшифрованную, то соответственно зашифруется. Осталось только найти нужную нам строку. Для обхода фаерволов применяется старый метод с запуском доверенного приложения «svchost.exe» и инъектом в него кода, который скачивает нужный файл. Как я это узнал?
Да для этого надо всего лишь пройтись по лоадеру разбирая каждую инструкцию, ничего сложного в этом нет. В данном случае инъектиться весь образ лоадера. Значит, чтобы вплотную подобраться к нужной нам строке ставим breakpoint на CreateProcessA и запускаем лоадер. Через пару секунд прервёмся на этом месте:

7C802367 >/$ 8BFF MOV EDI,EDI

7C802369 |. 55 PUSH EBP

И в стеке будет следующее:

0012FF30 0040226E /CALL to CreateProcessA

0012FF34 00000000 |ModuleFileName = NULL

0012FF38 004048C2 |CommandLine = «svchost.exe» // доверенное приложение

Перемещаемся дальше, имеем в Olly по адресу ZwCreateThread, и что же мы видим:

7C90D7D2 > 68 19184000 PUSH 401819 // адрес перехватчика

А эта функция, оказывается, перехвачена и всё самое интересное будет происходить по адресу 401819. По-этому идём
туда и ставим breakpoint, жмём F9 (run) в Olly.

Когда прервёмся увидим примерно такой код:

00401819 55 PUSH EBP

0040181A 8BEC MOV EBP,ESP

0040181C 83C4 DC ADD ESP,-24

Листаем вниз, пока не увидим следующие инструкции:

00401959 C786 B8000000 8E1B400>MOV DWORD PTR DS:[ESI+B8], 00401B8E

00401963 FF75 EC PUSH DWORD PTR SS:[EBP-14]

00401966 8F86 AC000000 POP DWORD PTR DS:[ESI+AC]

0040196C 8B35 D4494000 MOV ESI,DWORD PTR DS:[4049D4]

00401972 8B3D CC494000 MOV EDI,DWORD PTR DS:[4049CC] // ZwCreateThread

00401978 A5 MOVS DWORD PTR ES:[EDI],DWORD PTR DS:[ESI]

00401979 66:A5 MOVS WORD PTR ES:[EDI],WORD PTR DS:[ESI]

0040197B FF75 F0 PUSH DWORD PTR SS:[EBP-10]

0040197E FF75 20 PUSH DWORD PTR SS:[EBP+20]

00401981 FF75 F4 PUSH DWORD PTR SS:[EBP-C]

00401984 FF75 18 PUSH DWORD PTR SS:[EBP+18]

00401987 FF75 F8 PUSH DWORD PTR SS:[EBP-8]

0040198A FF75 10 PUSH DWORD PTR SS:[EBP+10]

0040198D FF75 0C PUSH DWORD PTR SS:[EBP+C]

00401990 FF75 08 PUSH DWORD PTR SS:[EBP+8]

00401993 FF15 D0494000 CALL DWORD PTR DS:[4049D0] // ZwCreateThread

На этом участке происходит примерно следующее: снимаем перехватчик с функции ZwCreateThread и вызываем оригинальную функцию, перед этим меняем адрес начала нового потока на 00401B8E. Команды по этому адресу будут выполнены в контексте доверенного процесса. Вот то, что нам нужно. Для того, чтобы оказаться по адресу 00401B8E нам потребуется сделать следующее. Ставим breakpoint на адрес 0040197B, прерываемся на нём. Дальше переходим в olly на 00401B8E и нажимаем правую кнопку мыши, в выпавшем меню выбираем «New origin here», т.е. мы передали управление на этот адрес. Помните в начале мелькал адрес 0040141E, это процедура, которая расшифровывает строки, вот теперь ставим breakpoint на её

начало. Прервёмся когда, в стеке будет следующее:

0012F32C 00401619 dump_.00401619

0012F330 00404088 dump_.00404088

0012F334 00404877 dump_.00404877 // вот адрес который нам нужен

Если дойди до конца процедуры

004014A6 C2 0400 RETN 4

то по адресу 00404877 будет наша искомая строка:

00404877 68 74 74 70 3A 2F 2F http://

Ну вот, наше исследование подошло к концу, осталось заменить эту строку на любую другую, которую мы захотим, для этого нужно зашифровать ее и записать в файл.

Алгоритм на дельфи с асм вставками будет выглядеть примерно так:

res:array [1..45] of byte;

mov esi,s // помещаем в esi адрес строки

lea edi,res // помещаем в edi адрес выходного буфера

LODS BYTE PTR DS:[ESI] // помещаем в AL символ из нашей строки

JE @@exit // конец строки?

INC DL // эти действия мы разбирали ранее

STOS BYTE PTR ES:[EDI] // помещаем полученный байт в выходной массив

Бонус

К статье прилагается распакованный лоадер, готовый конфигуратор, его исходники и скрипты. Всё это доступно для ознакомления, чтобы каждый мог посмотреть, что же за софт продаётся за такие деньги. Распакованный лоадер прекрасно пакуется и криптуется, благодаря этому каждый может попробовать данный софт. Никаких вирусов и т.д. в софте нету.

Скачать архив с файлами можно тут:

Использование

Для начала надо сделать билд с нужным нам url (url до админки http://hots.com/bbb/robo.php). Затем запаковать любым пакером, я использовал PeCompact. Дальше можно криптануть каким-нибудь приватным криптором,
коих куча на бескрайних просторах. После этого заливаем админку на хост, настраиваем её, ничего сложного в этом нету.

Вот вроде бы и всё, использовать можно как угодно, продавать чистые билды, самому грузить файлы, продавать загрузки и т.д.

Источник

filecheck .ru

Вот так, вы сможете исправить ошибки, связанные с Loader.exe

Информация о файле Loader.exe

Если Loader.exe находится в подпапках «C:\Program Files», тогда рейтинг надежности 20% опасности. Размер файла 57,344 байт (50% всех случаев) или 580,096 байт. Нет описания файла. Это не системный процесс Windows. Loader.exe способен манипулировать другими программами.
Это позволяет удалить соответствующую программу (Пуск > Панель управления > Установка и удаление программ > Been).

Важно: Некоторые вредоносные программы маскируют себя как Loader.exe. Таким образом, вы должны проверить файл Loader.exe на вашем ПК, чтобы убедиться, что это угроза. Мы рекомендуем Security Task Manager для проверки безопасности вашего компьютера.

Комментарий пользователя

ставил игру на комп,после установки игры приложение выдало ошибку и упоминуло про этот файл.
саша
Устанавливаю утилиту MouseAim v2.0 для Resident Evil 4 / Biohazard 4, чтоб подружить последнего с мышкой. Требует loader.exe
Олег
Малвер увидел троян в этом файле. Лежал в c/windows. Удалил и на душе стало легче.
Михаил
Аваст распознает его как троян снес всю винду напрочь. Управлял он папками с фле шек папки глючат весят 609кб просто беда надоело это в последнее время останавливал это процесс в ручную писал что валяется в папке svhost но там были 3 файла dll он по этому адресу не был дома-жесть.мучаюсь с восстановлением винды.п
дмитрий
Зачастую на файлообменниках предлагают скачать эту утилиту как активатор Windows. В большинстве случаев в разделах этого активатора прописаны трояны (в лучшем случае) и шифровальщики типа Vault (он прописывается как системный файл реестра),часто предлагаемый файл находится на сайте ответов mail.ru, и поймав такой файлик вы останетесь с шифрованной системой и всей хранящейся инфой на всех дисках в железе, кроме загрузочных файлов, их шифровальщк сразу не кодирует. Последствия можете прочитать на форумах по этому вирусу, натоятельно рекомендую ознакомиться, т.к. участилиь случаи заражения. Так что остерегайтесь подобных утилит. (дополнительная информация)
Владимир
Запускаю SAMP антивирус AVAST FREE дедектит wim32:malware:gen ну или как его там loader.exe loader[1].exe вот это не могу понять
Коля

Лучшие практики для исправления проблем с Loader

Если у вас актуальные проблемы, попробуйте вспомнить, что вы делали в последнее время, или последнюю программу, которую вы устанавливали перед тем, как появилась впервые проблема. Используйте команду resmon, чтобы определить процесс, который вызывает проблемы. Даже если у вас серьезные проблемы с компьютером, прежде чем переустанавливать Windows, лучше попробуйте восстановить целостность установки ОС или для Windows 8 и более поздних версий Windows выполнить команду DISM.exe /Online /Cleanup-image /Restorehealth. Это позволит восстановить операционную систему без потери данных.

Loader сканер

лоадер что это такое. Смотреть фото лоадер что это такое. Смотреть картинку лоадер что это такое. Картинка про лоадер что это такое. Фото лоадер что это такое

Security Task Manager показывает все запущенные сервисы Windows, включая внедренные скрытые приложения (например, мониторинг клавиатуры или браузера, авто вход). Уникальный рейтинг надежности указывает на вероятность того, что процесс потенциально может быть вредоносной программой-шпионом, кейлоггером или трояном.

Бесплатный aнтивирус находит и удаляет неактивные программы-шпионы, рекламу, трояны, кейлоггеры, вредоносные и следящие программы с вашего жесткого диска. Идеальное дополнение к Security Task Manager.

Reimage бесплатное сканирование, очистка, восстановление и оптимизация вашей системы.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *