Hola estoy intentando cambiar el ultimo offset de un archivo, lo he intentado de esta manera:
Local $Offsets = FileOpen(GUICtrlRead($RES))
Local $Off = FileRead($Offsets)

Local $REM = StringReplace($Off, UBound($Off), Asc('N'))

FileWrite($Offsets, $REM)
FileClose($Offsets)
El problema es que no esta modificando el ultimo offset sino otros, y he intentado varias cosas. También he probado con _ReadMemory y _Writememory pero ni siquiera puedo hacerlo andar.

Saludos
Skype: naker.noventa
Naker90 escribió:Hola estoy intentando cambiar el ultimo offset de un archivo, lo he intentado de esta manera:
Local $Offsets = FileOpen(GUICtrlRead($RES))
Local $Off = FileRead($Offsets)

Local $REM = StringReplace($Off, UBound($Off), Asc('N'))

FileWrite($Offsets, $REM)
FileClose($Offsets)
El problema es que no esta modificando el ultimo offset sino otros, y he intentado varias cosas. También he probado con _ReadMemory y _Writememory pero ni siquiera puedo hacerlo andar.

Saludos
Hola naker, no manejo el autoit pero leyendo el code mas o menos se lo que hace, fileread guarda en $off la lectura del archivo y despues intentas un stringreplace creo que es esa linea la que erra, de todas formas filewrite ya escribe por defecto en el final del archivo, y en vez de ubound puedes usar filegetsize para obtener el tamaño en bytes del archivo ya que ubound mide un array a si que yo creo que podria funcionar a si
Local $Offsets = FileOpen(GUICtrlRead($RES))
Local $Off = FileRead($Offsets)

FileWrite($Offsets, asc('N'))
FileClose($Offsets)
y si no en lugar de usar ubound usa filegetsize, de todas formas veo una variable llamada $RES que no se que dato almacena xDDD, saludos
Abolición para el torneo del toro de la vega. Death to the murderers of bulls.
Asi és , ay muchas formas de hacer lo que quieres ,
pero se o quieres hacer con StringReplace puedes utilizar esta funcion de la derecha a esquierda utilizando la ocurrencia negativa ( -1 ) ,
de esta forma , la funcion no te canbiaras todas las coincidências encontradas en la String

Ejemplo :
StringReplace($Cadena , $String , $StringaReemplazar , -1)

Espero te sirva , saludos
Indetectables RAT v.0.9.5

@Indetectables Team
Puedes hacer algo así.

#include <Constants.au3>

Local $hFile=FileOpen("1.txt",1)
FileSetPos($hFile, -1, $FILE_END)
FileWrite($hFile,"N")
FileClose($hFile)
saludos

PD: que coño es esto UBound($Off)
Imagen
otra forma

#include <WinApi.au3>

Local $sFileData=0,$sNewFile=0,$nBytes=0

Local $tChar=DllStructCreate("char")
DllStructSetData($tChar,1,"N")

local $hFile = _WinAPI_CreateFile("1.txt" , 2 , 4)
_WinAPI_SetFilePointer($hFile,-1, $FILE_END)
_WinAPI_WriteFile($hFile, DllStructGetPtr($tChar), 1, $nBytes)
_WinAPI_CloseHandle($hFile)

saludos
Imagen
Muchas Gracias a los 3 capos, solucionado.
Pink escribió:
PD: que coño es esto UBound($Off)
Intentaba obtener el ultimo offset del archivo, pero se ve que con filesetpos es mucho mas facil.

Saludos
Skype: naker.noventa
Responder

Volver a “Autoit”