MCPcopy Index your code
hub / github.com/qilingframework/qiling / hook_WriteFile

Method hook_WriteFile

tests/test_pe_sys.py:93–122  ·  view source on GitHub ↗
(ql: Qiling, address: int, params)

Source from the content-addressed store, hash-verified

91 'lpOverlapped' : LPOVERLAPPED
92 })
93 def hook_WriteFile(ql: Qiling, address: int, params):
94 hFile = params["hFile"]
95 lpBuffer = params["lpBuffer"]
96 nNumberOfBytesToWrite = params["nNumberOfBytesToWrite"]
97 lpNumberOfBytesWritten = params["lpNumberOfBytesWritten"]
98
99 r = 1
100 buffer = ql.mem.read(lpBuffer, nNumberOfBytesToWrite)
101
102 if hFile == 0x13371337:
103 nNumberOfBytesToWrite = utils.io_Write(ql.amsint32_driver, buffer)
104
105 elif hFile == 0xfffffff5:
106 s = buffer.decode()
107
108 ql.os.stdout.write(s)
109 ql.os.stats.log_string(s)
110
111 else:
112 f = ql.os.handle_manager.get(hFile)
113
114 if f is None:
115 ql.os.last_error = 0xffffffff
116 return 0
117
118 f.obj.write(bytes(buffer))
119
120 ql.mem.write_ptr(lpNumberOfBytesWritten, nNumberOfBytesToWrite, 4)
121
122 return r
123
124 # BOOL StartServiceA(
125 # SC_HANDLE hService,

Callers

nothing calls this directly

Calls 5

write_ptrMethod · 0.80
readMethod · 0.45
writeMethod · 0.45
log_stringMethod · 0.45
getMethod · 0.45

Tested by

no test coverage detected