Я пытаюсь создать простую программу, чтобы найти некоторые значения в файле. Эти файлы - .arkprofile
и относятся к игре ARK.Поиск определенного значения в файле
Эти файлы .arkprofile содержат некоторый читаемый текст, а также некоторый скремблированный текст, если вы открываете его в обычном редакторе. Все значения, которые мне нужны, находятся в ASCII, поэтому я могу получить их все вручную, но цель этой программы состоит в том, чтобы пройти через множество файлов, чтобы захватить имена символов. Вот как это выглядит в файле в обычном текстовом редакторе:
PlayerCharacterName.....StrProperty.............CHARACTERNAMEHERE
Могу ли я найти эту строку без декомпиляции файла в шестнадцатеричном формате в первую очередь? Можно ли преобразовать строку в байты и выполнить поиск?
Это код, который у меня есть на данный момент, но он не подходит для моей потребности, поскольку шестнадцатеричное смещение для строки не является одинаковым для всех файлов.
Dim pos1 As Long = 864
Dim requiredBytes As Integer = 160
Dim value(0 To requiredBytes - 1) As Byte
Using reader As New BinaryReader(File.Open(fd.FileName, FileMode.Open))
' Loop through length of file.
Dim fileLength As Long = reader.BaseStream.Length
Dim byteCount As Integer = 0
reader.BaseStream.Seek(pos1, SeekOrigin.Begin)
While pos1 < fileLength And byteCount < requiredBytes
value(byteCount) = reader.ReadByte()
pos1 += 1
byteCount += 1
End While
End Using
Точки между строками изменить шестнадцатиричное значение из файла в файл, но его всегда одинаковое количество точек. Максимальное имя символа, разрешенное для ARK, равно 24, поэтому теперь моя идея - сначала найти эту строку в файле, начать писать байты с конца этого файла на 128 байт. «PlayerCharacterName ..... StrProperty .............» = 60 байт. Здесь будет начинаться имя пользователя и может содержать до 24 символов длиной 48 байт. Затем я мог бы отфильтровать оставшиеся символы, которые не являются частью имени пользователя и отображают его в ASCII.
Есть ли здесь путь отсюда?
Если некоторые из них доступны для чтения, вы можете открыть файл в виде текста и просто найти строку. – djv
Работа над редактированием этого сообщения. Новое на этом сайте и его настройка! –
См. Мой ответ ниже – djv