Lire et écrire dans un fichier binaire en VBScript
J'ai réussi, mais c'est (très) lent sur un fichier de 500 Ko ou plus, et j'ai l'impression que c'est une méthode de bourrin. Quelqu'un à une alternative ?
(PS : c'est pour lire et patcher des roms de jeux vidéos)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
' Fonctions pour lire mon fichier :
'====================
Function readBytes(file) ' Je récupère le contenu du fichier
dim inStream
set inStream = WScript.CreateObject("ADODB.Stream")
inStream.Open
inStream.type= 1
inStream.LoadFromFile(file)
readBytes = inStream.Read()
inStream.Close()
End Function
Function ReadFromBuff_Dec(Buffer, Offset, Bytes) ' Je cherche un ou des bytes qu'il m'affiche en décimal.
data = (OctetToHexStr(MidB(Buffer, hex2dec(Offset) + 1, Bytes)))
do while len(data) < 8
data = "0" & data
loop
ReadFromBuff_Dec = hex2dec(data)
End Function
Function OctetToHexStr(arrbytOctet)
Dim k
OctetToHexStr = ""
For k = 1 To Lenb(arrbytOctet)
OctetToHexStr = OctetToHexStr _
& Right("0" & Hex(Ascb(Midb(arrbytOctet, k, 1))), 2)
Next
End Function |