Сейчас на форуме: Lohmaty (+7 невидимых)

 eXeL@B —› Вопросы новичков —› Определить простой компьютера.
<< . 1 . 2 .
Посл.ответ Сообщение

Ранг: 16.3 (новичок), 2thx
Активность: 0.150.22
Статус: Участник

Создано: 14 ноября 2017 21:02
· Личное сообщение · #1

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



Ранг: 431.7 (мудрец), 390thx
Активность: 0.730.32
Статус: Участник

Создано: 17 ноября 2017 09:51 · Поправил: dosprog
· Личное сообщение · #2

Ну, мутанты-то его догонят, мотоцык отожмут, - а самого на подвал.
Как оказалось, вирусню для этого сочинять совсем не обязательно, можно и без неё.



Ранг: 330.4 (мудрец), 334thx
Активность: 0.160.17
Статус: Участник
ILSpector Team

Создано: 17 ноября 2017 10:19 · Поправил: Medsft
· Личное сообщение · #3

Когда-то для чего, откуда-то взял, а сейчас нашел, может пригодится(типа шринка памяти на старых фрейворках но механизм простоя определяется)
Code:
  1. #region MemoryOptimizer
  2. internal static class MemoryOptimizer
  3. {
  4.     //The idea is very simple, we just add an event handler to find out when the OnIdle event of 
  5.     //the application is raised, and when this happens we call the flush Procedure which reduces 
  6.     //the amount of ram consumed by the calling process, this event should be raised at most 
  7.     //once every 10 seconds.
  8.     //The ticks variable in Procedure OnIdle is the number of 100-nanosecond intervals that have 
  9.     //elapsed since 12:00 A.M., January 1, 0001, so we make sure that at least 10 seconds have 
  10.     //elapsed since last flush.
  11.     //I've recently written a memory manger class for my applications and it you have to do is to
  12.     //create a new instance of MemoryManager class in your main form and it will do the job, It's
  13.     //built on a very simple idea and it takes advantage of the OnIdle event in the .net application, 
  14.     //the OnIdle event is raised regularly whenever your application is not busy for a while, the 
  15.     //MemoryManager class will dramatically reduce the amount of memory used by your 
  16.     //application by automatically releasing the memory no longer needed, which will free up 
  17.     //more RAM for other applications. 
  18.  
  19.     [DllImport("KERNEL32.DLL", EntryPoint = "SetProcessWorkingSetSize", SetLastError = true, CallingConvention = CallingConvention.StdCall)]
  20.     internal static extern bool SetProcessWorkingSetSize(IntPtr pProcess, int dwMinimumWorkingSetSize, int dwMaximumWorkingSetSize);
  21.  
  22.     private static long lastFlush = DateTime.Now.Ticks;
  23.     internal static void StartMemoryOptimizer()
  24.     {
  25.         if (Environment.OSVersion.Platform == PlatformID.Win32NT)
  26.         {
  27.             Application.Idle += new EventHandler(OnIdle);
  28.             Flush();
  29.         }
  30.     }
  31.     private static void OnIdle(object sender, EventArgs args)
  32.     {
  33.         long ticks = DateTime.Now.Ticks;
  34.         if ((ticks - lastFlush) > 0x989680)
  35.         {
  36.             lastFlush = ticks;
  37.             Flush();
  38.         }
  39.     }
  40.     private static void Flush()
  41.     {
  42.         try
  43.         {
  44.             Process pr = Process.GetCurrentProcess();
  45.             MemoryOptimizer.SetProcessWorkingSetSize(pr.Handle, -1, -1);
  46.             pr.Dispose();
  47.         }
  48.         catch (Exception e)
  49.         {
  50.         }
  51.     }
  52. }
  53. #endregion




Ранг: 16.3 (новичок), 2thx
Активность: 0.150.22
Статус: Участник

Создано: 17 ноября 2017 10:24
· Личное сообщение · #4

difexacaw пишет:
загрузиться, тем самым установиться в систему
Если вирусы могут как то испортить компьютер, воспользовавшись отсутствием пользователя, то моя программка оказывается вдвое полезней. Получится двойная польза, экономия электричества и защита от вредоносов.

Добавлено спустя 9 минут
Medsft пишет:
нашел, может пригодится
Спасибо. Вы единственный кто разобрался в теме.




Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 17 ноября 2017 18:51 · Поправил: difexacaw
· Личное сообщение · #5

zombi-vadim

Раньше малварь иногда запускалсь при отсутствии мультимедиа потока - ось запускала скринсервер, с повышенными правами есно. А у вас цель та же, только вот есчо и ребутнуться нужно. Что бы захватить всю систему на буд этапе. Очевидно ведь - вы не пытались ввести ось в сон, а именно ребут. Поэтому вы спалились и вам это нужно для закрепления в системе.

-----
vx




Ранг: 16.3 (новичок), 2thx
Активность: 0.150.22
Статус: Участник

Создано: 17 ноября 2017 20:40 · Поправил: zombi-vadim
· Личное сообщение · #6

difexacaw пишет:
Раньше малварь иногда запускалсь при отсутствии мультимедиа потока - ось запускала скринсервер
Я конечно не спец в вопросах по вредоносам, но вы какой то бред написали. Если вирус и есть скринсервер, для чего ему видеопотоки, если винда его сама и запустит?
Более того, сейчас по моему никто скринсейвы не использует, потому как отключение монитора лучше, для экономии электричества. А если бы вы хотя бы прочитали мой вопрос, то поняли что меня интересуют только видео потоки которые сообщают ОС, что отключать монитор не надо.




Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 17 ноября 2017 21:04 · Поправил: difexacaw
· Личное сообщение · #7

zombi-vadim

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

> что отключать монитор не надо.

Я читал вопрос и не первый раз отвечаю. Но не видел от вас ответа зачем ребутить ось при простое. С древних времён есть гибернация. Вам же нужен именно ребут, понятно почему.

Имхо закрыть топик, так как это прямой запрос на разработку малвари. Автора за хитрость в бан, лучше бы прямо спросил, зачем делать глупый вид.

-----
vx




Ранг: 16.3 (новичок), 2thx
Активность: 0.150.22
Статус: Участник

Создано: 17 ноября 2017 21:15 · Поправил: zombi-vadim
· Личное сообщение · #8

difexacaw пишет:
зачем ребутить ось при простое
Не ребутить, а выключать ПК для экономии электричества, не знаю может вы подключились к соседу, но в моем регионе и в частном доме электричество очень дорогое и если я уйдя на сутки на работу, или того хуже уеду на месяц в командировку, забуду выключить ПК то получу довольно неплохой счет за электроэнергию. Гибернации и отключение монитора иногда не срабатывают, в этом я сам убедился забыв ПК в игре. Более того они часто просто отключены по умолчанию.




Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 17 ноября 2017 21:19
· Личное сообщение · #9

zombi-vadim

Гибернация есть на каждой системе. Тоже самое, за исключением возможной установки в систему

-----
vx




Ранг: 16.3 (новичок), 2thx
Активность: 0.150.22
Статус: Участник

Создано: 17 ноября 2017 21:22
· Личное сообщение · #10

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




Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 17 ноября 2017 21:27
· Личное сообщение · #11

zombi-vadim

Вам не положены эти вопросы тут поднимать. На этом и закончим. Если вы думаете что тут глупые и не понимают - вы ошибаетесь, ты не успел подумать как всё стало ясно. Closed.)

-----
vx




Ранг: -0.7 (гость), 170thx
Активность: 0.540
Статус: Участник

Создано: 17 ноября 2017 21:27 · Поправил: shellstorm
· Личное сообщение · #12

difexacaw пишет: Тоже самое, за исключением возможной установки в систему

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

| Сообщение посчитали полезным: sefkrd

Ранг: 16.3 (новичок), 2thx
Активность: 0.150.22
Статус: Участник

Создано: 17 ноября 2017 21:33
· Личное сообщение · #13

shellstorm С того момента все гадости в моей теме буду просто игнорировать, если кто то ответит по существу тому большое спасибо. Остальные старайтесь, не знаю может вы что то имеете с этого, пофиг.




Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 17 ноября 2017 21:35
· Личное сообщение · #14

shellstorm

У меня в подписи виксы. Виксы это альтернативные разработки в основном в области обхода ав, но по определению это обмен знаниями. Вся примитивная малварщина должна быть выпилена, запросы на разработку удалены. Такие вопросы и стиль общения какая то дикая наглость. Не годится.

-----
vx


| Сообщение посчитали полезным: plutos

Ранг: -0.7 (гость), 170thx
Активность: 0.540
Статус: Участник

Создано: 17 ноября 2017 21:38
· Личное сообщение · #15

zombi-vadim пишет: С того момента все гадости в моей теме буду просто игнорировать

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

| Сообщение посчитали полезным: plutos
<< . 1 . 2 .
 eXeL@B —› Вопросы новичков —› Определить простой компьютера.
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати