Вопрос в Болталке на неожиданную тему

Discussion in 'Болталка' started by alexzir, 15 Apr 2021.

  1. alexzir

    alexzir Well-Known Member

    Joined:
    29 Oct 2019
    Messages:
    367
    Likes Received:
    1,378
    Reputations:
    20
    Мал-мало появилось свободное время и решил я окунуться в скриптописание по тематике форума, скажем так, познать азы.
    Как говорят в прописных истинах, в маздае туева хуча всяких разных флагов, глобальных параметров и прочих "костылей", служащих для создания приемлемого уровня взаимодействия между приложениями с закрытым кодом, написанными разными разработчиками на целом зоопарке языков программирования.
    Кто-нибудь встречался с более-менее полной классификацией и описанием всех энтих флагов и костылей?
     
  2. DartPhoenix

    DartPhoenix Elder - Старейшина

    Joined:
    15 Sep 2013
    Messages:
    973
    Likes Received:
    7,455
    Reputations:
    22
    Ее нет. Это искусство плавания в неизвестном. Надо просто знать где смотреть, как смотреть и что надо видеть при этом.
    Полной классификации нет и в самом Мелкософте, а если и есть - она не поможет. Смысл таков: сам код - это и есть самая подробная, точная и полная документация к нему самому. В самом деле, какой автор лучше чем сам код, расскажет что происходит ?
    Но его очень много. Устанешь читать. То же самое с документацией. Она есть если хочешь что-то сделать. Это можно сделать хреновой кучей способов и документация нужна чтобы определить как именно ты можешь это сделать.

    Но если это уже сделано... Тут нужен чисто опыт. Надо чувствовать как это могли сделать нормальные погромистэ чтобы сломать это быстро. А если это писали ненормальные погромистэ - то только вручную чекать это все остается и пытаться понять завихрения мыслей в головах писавших :)
    ========================
    Ну или надо уточнить вопрос. О каких флагах и костылях идет речь.
     
    CyberTro1n and alexzir like this.
  3. DartPhoenix

    DartPhoenix Elder - Старейшина

    Joined:
    15 Sep 2013
    Messages:
    973
    Likes Received:
    7,455
    Reputations:
    22
    А вообще - Руссиновича рекомендуется почитать. Там и кода-то толком нет. Но кое-что понять он дает. И это очень важно.
     
  4. alexzir

    alexzir Well-Known Member

    Joined:
    29 Oct 2019
    Messages:
    367
    Likes Received:
    1,378
    Reputations:
    20
    Частично попытки собрать были, например, тут или тут. Но походу захлебнулись...
     
  5. DartPhoenix

    DartPhoenix Elder - Старейшина

    Joined:
    15 Sep 2013
    Messages:
    973
    Likes Received:
    7,455
    Reputations:
    22
    reactOS не захлебнулись и не отказываются от помощи.

    В сущности вопрос недостаточно четко сформулирован. Что нужно - то вообще ?
     
    alexzir likes this.
  6. alexzir

    alexzir Well-Known Member

    Joined:
    29 Oct 2019
    Messages:
    367
    Likes Received:
    1,378
    Reputations:
    20
    Ты же уже дал ответ на мой вопрос, раз нет полной классификации, буду копать MSDN на предмет решения вопросов по мере их возникновения ;)

    Я тут просто прикинул и решил запостить эту темку, она же ничем не хуже, чем ветки про полёты к инопланетянам или про военных, и так же не имеет окончательного ответа :D
     
    CyberTro1n and DartPhoenix like this.
  7. Eidolon

    Eidolon Well-Known Member

    Joined:
    17 Oct 2020
    Messages:
    42
    Likes Received:
    312
    Reputations:
    2
    Такой талант и мимо ходит :-D
     
    Svan likes this.
  8. CyberTro1n

    CyberTro1n Well-Known Member

    Joined:
    20 Feb 2016
    Messages:
    822
    Likes Received:
    592
    Reputations:
    3
    :p:D:D:D
    Скорее ты вызвал иноплонетяна на ответ))
     
  9. Svan

    Svan Well-Known Member

    Joined:
    24 Sep 2020
    Messages:
    61
    Likes Received:
    332
    Reputations:
    2
    Это утопия, я бы потратил свободное время на прогулку в парке.
     
    Eidolon likes this.
  10. mankurt13

    mankurt13 Well-Known Member

    Joined:
    18 Oct 2019
    Messages:
    289
    Likes Received:
    1,165
    Reputations:
    3
    "Флаги, глобальные параметры и костыли для взаимодействия приложений". Вероятно ты имел в виду это, но формулировка странная и непонятно при чем тут скрипты.
     
  11. alexzir

    alexzir Well-Known Member

    Joined:
    29 Oct 2019
    Messages:
    367
    Likes Received:
    1,378
    Reputations:
    20
    Ну как при чём скрипты :)
    Тот же AVZ позволяет в скриптах лечения использовать работу с системными флагами, чтобы вносить изменения в реестр. Да и uVS тоже умеет такое :)
     
  12. mankurt13

    mankurt13 Well-Known Member

    Joined:
    18 Oct 2019
    Messages:
    289
    Likes Received:
    1,165
    Reputations:
    3
    Что ты называешь "системными флагами"? Привилегии? Атрибуты ntfs? Процитируй скрипт, может по нему понятно станет про что это.
     
  13. alexzir

    alexzir Well-Known Member

    Joined:
    29 Oct 2019
    Messages:
    367
    Likes Received:
    1,378
    Reputations:
    20
    Ключи системного реестра, атрибуты файлов и потоков NTFS, PID процессов и т.д.
    Название одно - назначений и применений множество, мешанина, короче. Хотелось бы разобраться в этом болоте с опорой на теорию, но таковой, как уже видно, в природе не существует.
    Как пример работы AVZ с ключами системного реестра часть скрипта, удаляющего вредоносные ссылки из расширений системы печати
    Code:
    RegKeyDel('HKEY_LOCAL_MACHINE','SYSTEM\ControlSet001\Control\Print\Providers\9A841C42');
    RegKeyDel('HKEY_LOCAL_MACHINE','SYSTEM\ControlSet002\Control\Print\Providers\9A841C42');
    RegKeyDel('HKEY_LOCAL_MACHINE','SYSTEM\CurrentControlSet\Control\Print\Providers\9A841C42');
    RegKeyDel('HKEY_LOCAL_MACHINE','SYSTEM\ControlSet001\Control\Print\Providers\9A841B42');
    RegKeyDel('HKEY_LOCAL_MACHINE','SYSTEM\ControlSet002\Control\Print\Providers\9A841B42');
    RegKeyDel('HKEY_LOCAL_MACHINE','SYSTEM\CurrentControlSet\Control\Print\Providers\9A841B42');
    Те же самые команды в хайджеке будут выглядеть иначе, но там изначально каждая секция имеет специальный идентификатор:
    Code:
    Начнем с их краткой характеристики и затем рассмотрим каждую из секций детально:
    R0, R1, R2, R3 - изменения основных настроек Internet Explorer.
    F0, F1, F2, F3 - автозапуск программ из ini-файлов и эквивалентных мест реестра.
    N1, N2, N3, N4 - изменения начальной и поисковой страниц Netscape/Mozilla.
    O1 - изменения в файле Hosts.
    O2 - плагины и расширения браузера (BHO/Browser Helper Objects).
    O3 - дополнительные панели инструментов браузера (Internet Explorer Тoolbars).
    O4 - автозапуск программ из реестра и папки Startup.
    O5 - блокирование доступа к Свойствам Обозревателя (Internet Options) через Панель Управления.
    O6 - запрет на изменение некоторых Свойств Обозревателя (Internet Options).
    O7 - отключение доступа к Regedit.
    O8 - дополнительные пункты контекстного меню Internet Explorer.
    O9 - дополнительные кнопки и сервисы на главной панели Internet Explorer.
    O10 - Winsock LSP (Layered Service Provider/поставщик многоуровневых услуг).
    O11 - новая группа настроек в Свойствах Обозревателя (Internet Options).
    O12 - плагины Internet Explorer.
    O13 - префиксы IE.
    O14 - изменения в файле iereset.inf.
    O15 - веб-сайты и протоколы, добавленные в зону Надежные узлы (Trusted Zone).
    O16 - программы, загруженные с помощью ActiveX (подкаталог WINDOWS\Downloaded Program Files).
    O17 - изменения домена или DNS сервера.
    O18 - изменения существующих протоколов и фильтров.
    O19 - шаблон стиля (Style Sheet) пользователя.
    O20 - уведомления Winlogon (Winlogon Notify) и модули инициализации (App Init DLLs) для Windows XP/2000/2003.
    O21 - объекты загрузки оболочки (SSODL/Shell Service Object Delay Load).
    O22 - задачи Планировщика Windows (Shared Task Scheduler).
    O23 - службы Windows NT/Microsoft Windows.
    O24 - компонеты Windows Active Desktop.
    
    Секции R0, R1, R2, R3.
    Изменения основных настроек Internet Explorer.
    R0 - ваша домашняя страница (загружающаяся при старте IE) и поисковый ассистент браузера (Search Assistant).
    R1 - настройки, связанные с интернет-поиском, плюс некоторые другие характеристики (IE Window Title; ProxyServer, ProxyOverride в настройках IE, Internet Connection Wizard: ShellNext и др.).
    R2 - эта секция на данный момент не используется.
    R3 - URL Search Hook - перехватчик поиска, который используется браузером для автоматического определения протокола (http://; ftp:// и т.д.) в тех случаях, когда вы указывайте адрес веб-сайта без него.
    и в том же духе. Но суть одна и та же - используя утилиту, гарантированно перезаписать состояние системных флагов, чтобы убрать последствия действий вредоноса.
    Зачем мне это знать - лучше не спрашивайте, есть простое правило: перед тем, как что-то сломать, научись сперва что-то делать, чтобы знать как это работает ;)
     
    #13 alexzir, 26 Apr 2021
    Last edited: 26 Apr 2021
  14. mankurt13

    mankurt13 Well-Known Member

    Joined:
    18 Oct 2019
    Messages:
    289
    Likes Received:
    1,165
    Reputations:
    3
    Прямо про теорию есть краткие статейки на майкрософт.ком: google:"любое_что_угодно inurl:microsoft.com". Все манипуляции с реестром/файлами/процессами/потоками сводятся к использованию windows api - функций нескольких системных библиотек, в гугл запросе надо не забыть добавить слово "api" или "c++". Вообще всё это на майкрософт.ком очень хорошо задокументировано. Отдельно могу отметить посистему WMI, на которую со времен виндовс ХР майкрософт зазывают переходить. С WMI тоже можно делать почти всё, вызывая меньше подозрений и даже вылезая из-под хренового integrity level (что-то типа песочницы, где ничего нельзя), если например надо только список процессов посмотреть, без возможности что-нибудь с ними сделать. Многие апи в таких случаях просто не будут работать.
     
    #14 mankurt13, 26 Apr 2021
    Last edited: 26 Apr 2021
    fandor9 and alexzir like this.
  15. DartPhoenix

    DartPhoenix Elder - Старейшина

    Joined:
    15 Sep 2013
    Messages:
    973
    Likes Received:
    7,455
    Reputations:
    22
    С помощью WMI не вылечить цомпухтер от малвари, которая например активно перезапускает свой собственный процесс прописываясь попутно в реестре по новому месту жительства.
    Нужны специализированные функции. А факин PowerShell - это вообще нечто дьявольское :) То что можно сделать при помощи трех нопов на асме - там надо пейсать через какую-то
    хитрозакрученную жопу.

    Админам - Вендовозам - может быть и сгодится. Они привыкли ощущать жгучую боль в кормовой части туловища. Если их потом пересадить на недельку за Ляликс - те кто не умрет
    от радости после этого - в жизни больше в Венду не залогинятся. А так вообще - ну его нахрен :)
     
  16. mankurt13

    mankurt13 Well-Known Member

    Joined:
    18 Oct 2019
    Messages:
    289
    Likes Received:
    1,165
    Reputations:
    3
    Я б не стал так буквально трактовать намерения ТСа :)
    Вообще-то павершелл это практически интерпретатор дотнета, штука довольно могучая в т.ч. для администрирования. Правда надо учиться им пользоваться, но блин - подтягивать дотнетовые либы без написания сраного приложения в студии это однозначно плюс.
     
    alexzir likes this.
  17. DartPhoenix

    DartPhoenix Elder - Старейшина

    Joined:
    15 Sep 2013
    Messages:
    973
    Likes Received:
    7,455
    Reputations:
    22
    Ну так - да. Там не особо и учиться долго. У них справка неплохая. Хочешь мудрить со службами - *service* и получишь полный список всего что нужно. Далее читаем хелп и работаем.
    Но это такой пиздец честно говоря что просто... Полезно юзать если хочешь узнать просто какие апишки вызываются и не гуглить по msdn это дело. Так чисто зашел, набрал одну команду, посмотрел куда она лезет и закрыл это окошко.
    К чертовой матери чтобы глаза не мозолило и не злило :)
     
  18. DartPhoenix

    DartPhoenix Elder - Старейшина

    Joined:
    15 Sep 2013
    Messages:
    973
    Likes Received:
    7,455
    Reputations:
    22
    Ну тоесть например если ты не знаешь как работать с теми же службами и лениво гуглить - можно заюзать PowerShell.
    Пишешь какой-нибудь GetService блабла и смотришь что оно делает. Очень удобно. И незачем гуглить и читать какую-то документацию.

    Но опять же это не справочник по веткам реестра и если ТС интересуется что это за ветка и нахер она там нужна - тут полный облом
    ибо сам черт не разберет что это за ветка иногда. А учитывая то что само ядро берет настройки из реестра - там половина всех функций
    не документирована и не будет документирована. Так что по этому вопросу документации нет вообще и пункт "ключи системного реестра" отпадает.
    ============================================================
    UPD: я вот не помню точно, но кажется где-то в реестре можно частично отключить механизм copy-on-write (благодаря которому в загруженной
    dll-ине ты не можешь поставить хук для всех процессов сразу, при попытке изменить код в памяти - эта память копируется).

    Вот нигде такого в документации не найти. Это надо искать через windbg.
     
    alexzir likes this.
Loading...