OfficalCodexPH Ответов: 1

У меня есть VB.NET проблема с кодом пожалуйста помогите :-)


Мой код, похоже, помечает каждый файл как тот, который я хочу предотвратить здесь (это программа для удаленного рабочего стола). Что случилось? Почему он обнаруживает каждый файл, который я загружаю, только с одним хэшем?

Try
          FoundForm.Label1.Text = e.FullPath
          Thread.Sleep(100)
          Dim path1 As String = FoundForm.Label1.Text
          Dim LB_sha256Text As String
          LB_sha256Text = sha_256(path1)
          Dim MyFilesList As String() = Directory.GetFiles("C:\ProgramData\hash\file\Signiture", "*.txt")
          Dim FoundedSearch As New List(Of String)()
          For Each filename As String In MyFilesList
              Dim textFile As String = File.ReadAllText(filename)

              If textFile.Contains(LB_sha256Text.ToString) Then

                  FoundForm.ShowDialog()
                  WriteToLog("Yay i caught you)
              Else


              End If
          Next

      Catch exception1 As Exception
          ProjectData.SetProjectError(exception1)
          Dim ex As Exception = exception1
          ProjectData.ClearProjectError()
      End Try


Он работает через хэш sha256.

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

Кажется, я не могу этого понять. Для меня этот код верен.

1 Ответов

Рейтинг:
12

OriginalGriff

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

Но ... начните с отладчика и посмотрите, что именно происходит. Поставьте точку останова на линии

If textFile.Contains(LB_sha256Text.ToString) Then
И используйте отладчик, чтобы посмотреть, что именно Вы читаете из файла, и что находится внутри него. LB_sha256Text Затем вручную ищите более позднее в первом. Если вы получаете диалоговое окно, то оно есть - поэтому вам нужно понять, почему его не должно быть.

Мы не можем сделать это для вас - у нас нет доступа к вашим данным или файлам - так что это будет до вас, чтобы сделать мышление!


OfficalCodexPH

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

OriginalGriff

Попробуйте объяснить простыми словами, что именно вы пытаетесь сделать - не какой код вы пытаетесь написать, А почему вы пытаетесь его написать.
Как вы думаете, почему SHA-хэш файла содержится в самом файле? Так и должно быть ... очень необычный.

OfficalCodexPH

Хорошо, в основном я пытаюсь создать программу, в которой я могу заблокировать определенную программу или программы от входа в мой компьютер, и я хочу обнаружить конкретные программы, используя sha256 программы. Итак, в текстовом файле/s есть хэши sha256, которые я добавил из них программ(я использовал virustotal, чтобы получить sha256) все это находится в системном наблюдателе :-) извините за поздний ответ.

OriginalGriff

Я догадался! Но вы делаете это неправильно: ваш текстовый файл содержит один или несколько SHA - хэшей - это нормально, но файл, который вы проверяете, этого не делает. Все, что вам нужно сделать, это прочитать все содержимое файла в виде двоичных данных и сгенерировать SHA-хэш для этих данных. Затем вы можете сравнить этот хэш с тем, который вы извлекли из своего текстового файла.
Есть ли в этом смысл?

OfficalCodexPH

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

OriginalGriff

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

OfficalCodexPH

Спасибо Мужик :-)))

OriginalGriff

Всегда пожалуйста!