Member 13625198 Ответов: 1

Я хочу создать приложение visual studio, которое скрывает все числа, введенные в любом приложении


Я хочу создать приложение, которое будет работать в фоновом режиме. Это приложение должно определить, если текст введен пользователем, и если это число, то преобразовать показать, что в качестве пароля символ, или скрыть этот текст или черную эту область. В принципе, никто не должен видеть никаких набираемых чисел.

Что я уже пробовал:

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

private void reportMoveToolStripMenuItem_Click()
       {
           // This is an event handler triggered by a menu item (or button).
           _reporterWin.BackColor = Color.Black;
           _reporterWin.Height = 20;
           _reporterWin.FormBorderStyle = FormBorderStyle.None;
           _reporterWin.TopMost = true;

           PositionReporterEdge(); // Position the window.
           _reporterWin.Show();
       }

       /// <summary>
       /// Position the "Reporter" form next to the current form.
       ///////////
       private void PositionReporterEdge()
       {
           int screenHeight = Screen.PrimaryScreen.WorkingArea.Height;
           int screenWidth = Screen.PrimaryScreen.WorkingArea.Width;

           Point parentPoint = this.Location;

           int parentHeight = this.Height;
           int parentWidth = this.Width;

           int childHeight = _reporterWin.Height;
           int childWidth = _reporterWin.Width;

           int resultX;
           int resultY;

           if ((parentPoint.Y + parentHeight + childHeight) > screenHeight)
           {
               // If we would move off the screen, position near the top.
               resultY = parentPoint.Y + 50; // move down 50
               resultX = parentPoint.X;
           }
           else
           {
               // Position on the edge.
               resultY = parentPoint.Y + parentHeight;
               resultX = parentPoint.X;
           }

           // set our child form to the new position
           _reporterWin.Location = new Point(resultX, resultY);
       }

Jon McKee

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

Одним из основополагающих принципов современных операционных систем является разделение процессов по умолчанию - как в памяти, так и в доступе. Два недавних крупных эксплойта (Spectre и Meltdown) оба нарушают этот контракт, поэтому паника была общей реакцией. Без явного разрешения других приложений для вашего приложения извлекать свои данные (положение экрана, введенные данные и т. д.) или "хаки" я не уверен, что это возможно. Даже если это возможно, я не уверен, что это чистый позитив, поскольку это будет представлять реальную, осязаемую проблему.

User 59241

Каков пример использования?

1 Ответов

Рейтинг:
1

OriginalGriff

Решительно нетривиально: вам нужно начать с глобального крючка клавиатуры, чтобы подобрать то, что набирается, а затем возиться с приложением, которое вы никогда не видели, чтобы предотвратить его отображение номера. Это ... вероятно, невозможно, хотя бы потому, что некоторые приложения показывают ввод в двух местах одновременно: откройте LibreOffice Calc, например, и введите 1234 в ячейку. Он отображается - при вводе - в ячейке (выравнивание по правому краю) и в строке формул (выравнивание по левому краю).

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


Member 13625198

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

phil.o

Если представитель вводит информацию, что помешает ему/ей отметить номер в другом месте, если вы будете применять эту "меру безопасности"?

OriginalGriff

Вы когда-нибудь слышали о "ручке и бумаге"?

Это нелепая мера "безопасности" - все, что вы делаете, это препятствуете людям, которым предоставляется прямой доступ к информации, видеть информацию, которую они только что ввели. Это не охрана, это просто глупо! И это докажет вашим (вероятно, уже низкооплачиваемым) сотрудникам колл-центра, что вы им ни капельки не доверяете, а это смерть для морали (и парадоксально увеличивает риск мошенничества).

Member 13625198

Вы когда-нибудь слышали о "безбумажной среде"? И речь идет не о низкооплачиваемом или высокооплачиваемом колл-центре. Речь идет об одном странном парне, который несерьезно относится к своей работе и хочет заработать легкие деньги. Видите, если вы не можете помочь, это нормально. Огромное спасибо.

OriginalGriff

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

Richard MacCutchan

Если вы не доверяете "странному парню", то переместите его на работу, где он не сможет причинить никакого вреда, или избавьтесь от него.