• Насколько вероятно, что троян на Windows украдет данные из VM (vmware) на Linux?

    @UndefinedBehaivor
    С массовой малварью почти нулевая. На массах всем пофиг на единичных задров и криптоманьяков всяких, там даже с автозапуском нормальным не заморачиваются.

    Таргертированная тоже почти нулевая, ибо шанс, что вы кому-то с такими возможностями нужны очень низок.
    Ответ написан
    Комментировать
  • Что такое расширение файла на системном уровне?

    @UndefinedBehaivor
    Там просто расширения ассоциируются через реестр. При двойном клике например передается управление в shell32.dll!ShellExecute оттуда идет парсинг расширения, после расширение ищется из ассоциированных и врубается соответствующая программа. Например, для .txt - по дефолту notepad.exe, тогда врубается notepad.exe file.txt, можно поставить собственный софт и будет врубаться он.

    Кстати, по этому принципу можешь сделать свой проводник. Берешь убиваешь основной, свой ставишь в авторан, при старте прогружаешь все с авторана через ShellExecute ( парсишь реестр ветки Run/RunOnce, после из RunOnce удаляешь ), потом парсишь десктоп и отрисовываешь иконки, создавая ассоциативный массив с сектором пикселей и путем до файла. После двойного клика передаешь путь до файла через ShellExecute. Профит


    Есть также жестко зашитые расширения, например "PE Executable" в реестре пишут - и это тогда передается в загрузчик винды через ntdll.dll!RtlCreateProcessAsUser с уведомлением csrss.exe. Примерно так. Можешь свои проги так попробовать поврубать, только они могут некорректно работать, т.к система будет не знать, что они запущены. Будет просто дескриптор процесса зареган в ядре и создан поток на EntryPoint ( ну или TLS-коллбеки, у кого что ).

    Ты можешь зарегать например .program как PE Executable и переименовать все экзешники в нее и тогда они будут врубаться. Или вообще вставить путь до своего софта, тогда сможешь перехватить запуск любой программы через шелл-оболочку, но вызовы в обход shell32 будут игнорироваться. Чтобы и их ловить надо поставить фильтр в драйвере через ntoskrnl.exe!PsSetCreateProcessNotifyRoutine

    Т.е попробуй из любого кода на нативном языке ( делфи/си и т.д ) вызвать ShellExecute(0, "open", "file.txt", 0, 0, SW_SHOW) - откроется нотпад с файлом, а если пропишешь CreateProcess утебя вернет ошибку
    Ответ написан
    Комментировать
  • Как устроен полиморфный криптор и почему рано или поздно криптор приходит в негодность?

    @UndefinedBehaivor
    Код морфится, но морфится хреново. Потом после N количество криптованных стабов тупо можно выделить общую сигнатуру и заткнуть на всегда этот говнокриптор. Такое пояснение пойдет?
    Ответ написан
    Комментировать
  • Ассемблер или си для вирусописателей?

    @UndefinedBehaivor
    Однозначно си. И даже C++.

    Ассемблер уже нет смысла юзать, прошли времена когда на асме можно было оптимизировать лучше оптимизатора, сейчас в Visual Studio можно скомпилировать код с классами который будет неотличим от собранного тем же MASM/FASM/NASM/TASM/добавь любимый асм и по размеру и по качеству. Порой код скомпилированный компилятором можно отличить от ассемблера по тому как он оптимизирован, куча всяких sar и т.д.

    уже таже полиморфные файловые инфекторы пишут на плюсах ( гугли beetle2 )
    Ответ написан
    3 комментария