Сообщение Re[12]: netcore app.dll и firewall от 04.12.2023 19:08
Изменено 05.12.2023 8:59 Serginio1
Re[12]: netcore app.dll и firewall
Здравствуйте, ·, Вы писали:
·>Здравствуйте, Serginio1, Вы писали:
S>>·>Здравствуйте, Serginio1, Вы писали:S>>·>Кто? Зачем? Ты о чём? Предлагаешь в фаерволл регекспы на командную строку ставить? Я написал почему это не будет работать.
S>>>>Там даже без регекспов а просто путь с командной строкой
S>>·>Я не понял что ты предлагаешь, но это не может работать в принципе.
S>>Сейчас ты можешь настроить только на путь. Но хотелось бы добавить путь с параметрами, что бы фильровать еще и по параметрам.
S>> Сейчас этого нет, но возможность такая есть ибо процесс эту информацию хранит.
·>Т.е. Ты предлагаешь фильтровать по совпадению на строчку "dotnet.exe App.dll"?
·>А вот так? "dotnet.exe .\App.dll"
·>А вот так? "dotnet.exe App.dll app-args"
·>А вот так? "dotnet.exe --depsfile xyz App.dll"
·>А вот так? "dotnet.exe AnotherAppWhichRuns-theApp-Indirectly.dll"
·>А вот так? "dotnet.exe SomethingCompletelyDifferent.dll --some-args=App.dll --more"
·>Ещё раз повторюсь — такое в принципе работать не может.
Я с тебя хренею. Во первых ТП уже знает как запускает приложение.
Второе достаточно CommamdLine.Contains
·>Фаерволл вешается где-нибудь внутре CreateProcess и проверяет путь до executable. А ты ещё предлагаешь парсить аргументы, разбираться в их структуре, понимать что к чему и где там имя Dll-ки который executable может загружать (а может и не загружать!) на выполнение.
Ты программсит? Что там в Main передается?
https://learn.microsoft.com/en-us/windows/win32/procthread/creating-processes
Ты споришь, ради того, что бы тебе чего то написать. Раз есть командная строка, то всегда по ней можно фильтровать. Хоть Contains, хоть Like? хоть регекспы.
Это мелочь, даже по тому, что бы разобрать путь и загрузить программу в память!
Второе, кроме имени приложения еще есть отборы по протоколам портам. А сделать проверку при создании это такая мелочь.
Мы же программисты. И ты говришь, о таких мелочах
·>Здравствуйте, Serginio1, Вы писали:
S>>·>Здравствуйте, Serginio1, Вы писали:S>>·>Кто? Зачем? Ты о чём? Предлагаешь в фаерволл регекспы на командную строку ставить? Я написал почему это не будет работать.
S>>>>Там даже без регекспов а просто путь с командной строкой
S>>·>Я не понял что ты предлагаешь, но это не может работать в принципе.
S>>Сейчас ты можешь настроить только на путь. Но хотелось бы добавить путь с параметрами, что бы фильровать еще и по параметрам.
S>> Сейчас этого нет, но возможность такая есть ибо процесс эту информацию хранит.
·>Т.е. Ты предлагаешь фильтровать по совпадению на строчку "dotnet.exe App.dll"?
·>А вот так? "dotnet.exe .\App.dll"
·>А вот так? "dotnet.exe App.dll app-args"
·>А вот так? "dotnet.exe --depsfile xyz App.dll"
·>А вот так? "dotnet.exe AnotherAppWhichRuns-theApp-Indirectly.dll"
·>А вот так? "dotnet.exe SomethingCompletelyDifferent.dll --some-args=App.dll --more"
·>Ещё раз повторюсь — такое в принципе работать не может.
Я с тебя хренею. Во первых ТП уже знает как запускает приложение.
Второе достаточно CommamdLine.Contains
·>Фаерволл вешается где-нибудь внутре CreateProcess и проверяет путь до executable. А ты ещё предлагаешь парсить аргументы, разбираться в их структуре, понимать что к чему и где там имя Dll-ки который executable может загружать (а может и не загружать!) на выполнение.
Ты программсит? Что там в Main передается?
https://learn.microsoft.com/en-us/windows/win32/procthread/creating-processes
if( !CreateProcess( NULL, // No module name (use command line)
argv[1], // Command line
NULL, // Process handle not inheritable
NULL, // Thread handle not inheritable
FALSE, // Set handle inheritance to FALSE
0, // No creation flags
NULL, // Use parent's environment block
NULL, // Use parent's starting directory
&si, // Pointer to STARTUPINFO structure
&pi ) // Pointer to PROCESS_INFORMATION structure
)
Ты споришь, ради того, что бы тебе чего то написать. Раз есть командная строка, то всегда по ней можно фильтровать. Хоть Contains, хоть Like? хоть регекспы.
Это мелочь, даже по тому, что бы разобрать путь и загрузить программу в память!
Второе, кроме имени приложения еще есть отборы по протоколам портам. А сделать проверку при создании это такая мелочь.
Мы же программисты. И ты говришь, о таких мелочах
Re[12]: netcore app.dll и firewall
Здравствуйте, ·, Вы писали:
·>Здравствуйте, Serginio1, Вы писали:
S>>·>Здравствуйте, Serginio1, Вы писали:S>>·>Кто? Зачем? Ты о чём? Предлагаешь в фаерволл регекспы на командную строку ставить? Я написал почему это не будет работать.
S>>>>Там даже без регекспов а просто путь с командной строкой
S>>·>Я не понял что ты предлагаешь, но это не может работать в принципе.
S>>Сейчас ты можешь настроить только на путь. Но хотелось бы добавить путь с параметрами, что бы фильровать еще и по параметрам.
S>> Сейчас этого нет, но возможность такая есть ибо процесс эту информацию хранит.
·>Т.е. Ты предлагаешь фильтровать по совпадению на строчку "dotnet.exe App.dll"?
·>А вот так? "dotnet.exe .\App.dll"
·>А вот так? "dotnet.exe App.dll app-args"
·>А вот так? "dotnet.exe --depsfile xyz App.dll"
·>А вот так? "dotnet.exe AnotherAppWhichRuns-theApp-Indirectly.dll"
·>А вот так? "dotnet.exe SomethingCompletelyDifferent.dll --some-args=App.dll --more"
·>Ещё раз повторюсь — такое в принципе работать не может.
Я с тебя хренею. Во первых ТП уже знает как запускает приложение.
Второе достаточно CommamdLine.Contains
Но проще что то из ПМ условия
Можно напридумывать кучу вариаций, так же как и ты обрабатываешь аргументы командной строки
·>Фаерволл вешается где-нибудь внутре CreateProcess и проверяет путь до executable. А ты ещё предлагаешь парсить аргументы, разбираться в их структуре, понимать что к чему и где там имя Dll-ки который executable может загружать (а может и не загружать!) на выполнение.
Ты программсит? Что там в Main передается?
https://learn.microsoft.com/en-us/windows/win32/procthread/creating-processes
Ты споришь, ради того, что бы тебе чего то написать. Раз есть командная строка, то всегда по ней можно фильтровать. Хоть Contains, хоть Like? хоть регекспы.
Это мелочь, даже по тому, что бы разобрать путь и загрузить программу в память!
Второе, кроме имени приложения еще есть отборы по протоколам портам. А сделать проверку при создании это такая мелочь.
Мы же программисты. И ты говришь, о таких мелочах
·>Здравствуйте, Serginio1, Вы писали:
S>>·>Здравствуйте, Serginio1, Вы писали:S>>·>Кто? Зачем? Ты о чём? Предлагаешь в фаерволл регекспы на командную строку ставить? Я написал почему это не будет работать.
S>>>>Там даже без регекспов а просто путь с командной строкой
S>>·>Я не понял что ты предлагаешь, но это не может работать в принципе.
S>>Сейчас ты можешь настроить только на путь. Но хотелось бы добавить путь с параметрами, что бы фильровать еще и по параметрам.
S>> Сейчас этого нет, но возможность такая есть ибо процесс эту информацию хранит.
·>Т.е. Ты предлагаешь фильтровать по совпадению на строчку "dotnet.exe App.dll"?
·>А вот так? "dotnet.exe .\App.dll"
·>А вот так? "dotnet.exe App.dll app-args"
·>А вот так? "dotnet.exe --depsfile xyz App.dll"
·>А вот так? "dotnet.exe AnotherAppWhichRuns-theApp-Indirectly.dll"
·>А вот так? "dotnet.exe SomethingCompletelyDifferent.dll --some-args=App.dll --more"
·>Ещё раз повторюсь — такое в принципе работать не может.
Я с тебя хренею. Во первых ТП уже знает как запускает приложение.
Второе достаточно CommamdLine.Contains
Но проще что то из ПМ условия
[0]\\App.dll or [0]App.dll or [1]%App.dll
Можно напридумывать кучу вариаций, так же как и ты обрабатываешь аргументы командной строки
·>Фаерволл вешается где-нибудь внутре CreateProcess и проверяет путь до executable. А ты ещё предлагаешь парсить аргументы, разбираться в их структуре, понимать что к чему и где там имя Dll-ки который executable может загружать (а может и не загружать!) на выполнение.
Ты программсит? Что там в Main передается?
https://learn.microsoft.com/en-us/windows/win32/procthread/creating-processes
if( !CreateProcess( NULL, // No module name (use command line)
argv[1], // Command line
NULL, // Process handle not inheritable
NULL, // Thread handle not inheritable
FALSE, // Set handle inheritance to FALSE
0, // No creation flags
NULL, // Use parent's environment block
NULL, // Use parent's starting directory
&si, // Pointer to STARTUPINFO structure
&pi ) // Pointer to PROCESS_INFORMATION structure
)
Ты споришь, ради того, что бы тебе чего то написать. Раз есть командная строка, то всегда по ней можно фильтровать. Хоть Contains, хоть Like? хоть регекспы.
Это мелочь, даже по тому, что бы разобрать путь и загрузить программу в память!
Второе, кроме имени приложения еще есть отборы по протоколам портам. А сделать проверку при создании это такая мелочь.
Мы же программисты. И ты говришь, о таких мелочах