in functions/kernel32.py [0:0]
def WriteFile(self, is_return = False):
if is_return:
return f"{hex(funcutils.get_result(self.is_64bit))} -> BOOL"
hFile = funcutils.get_func_args(1, self.is_64bit)
lpBuffer = funcutils.get_func_args(2, self.is_64bit)
nNumberOfBytesToWrite = funcutils.get_func_args(3, self.is_64bit)
lpNumberOfBytesWritten = funcutils.get_func_args(4, self.is_64bit)
lpOverlapped = funcutils.get_func_args(5, self.is_64bit)
buffer_preview = ""
if lpBuffer != 0:
buffer_bytes = idc.get_bytes(lpBuffer, min(5, nNumberOfBytesToWrite))
if buffer_bytes:
buffer_preview = " ".join(f"{b:02X}" for b in buffer_bytes)
if nNumberOfBytesToWrite > 5:
buffer_preview += " ..."
_debug_info = f"hFile={hex(hFile)}, "
_debug_info += f"lpBuffer={hex(lpBuffer)}, Buffer Preview: [{buffer_preview}], "
_debug_info += f"nNumberOfBytesToWrite={nNumberOfBytesToWrite}, "
_debug_info += f"lpNumberOfBytesWritten={hex(lpNumberOfBytesWritten)}, "
_debug_info += f"lpOverlapped={hex(lpOverlapped)}) = "
return _debug_info