Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для madmasles

Ветеран


Сообщения: 812
Благодарности: 353

Профиль | Отправить PM | Цитировать


maxd2007,
Попробуйте примерно так.
Код: Выделить весь код
Local $hFile, $tData, $sFile = @ScriptDir & '\test.bin'

;Создаем бинарный файл
$tData = DllStructCreate('byte[256]')
For $i = 0 To 255
    DllStructSetData($tData, 1, $i, $i + 1)
Next
$hFile = FileOpen($sFile, 18)
FileWrite($hFile, DllStructGetData($tData, 1))
FileClose($hFile)
$tData = 0
FileCopy($sFile, $sFile & '.old', 1)

;Меняем со смещением от начала 223 (0x000000DF) значение на -madmasles-
$hFile = FileOpen($sFile, 1)
FileSetPos($hFile, 0x000000DF, 0)
FileWrite($hFile, Chr(0x2D) & Chr(0x6D) & Chr(0x61) & Chr(0x64) & Chr(0x6D) & Chr(0x61) & Chr(0x73) & Chr(0x6C) & Chr(0x65) & Chr(0x73) & Chr(0x2D))
FileClose($hFile)

ConsoleWrite(FileGetSize($sFile) & @TAB & StringMid(FileRead($sFile & '.old'), 223, 13) & @LF)
ConsoleWrite(FileGetSize($sFile) & @TAB & StringMid(FileRead($sFile), 223, 13) & @LF)
И смотрите в хекс-редакторе, что получили.

Последний раз редактировалось madmasles, 25-11-2013 в 21:42. Причина: немного поправил

Это сообщение посчитали полезным следующие участники:

Отправлено: 18:49, 25-11-2013 | #3