implement FlsGetValue2

This commit is contained in:
Mikk Margus Möll
2026-06-25 09:38:07 +03:00
parent a42fb28579
commit ed25f7319f
2 changed files with 16 additions and 0 deletions
@@ -25,6 +25,15 @@ def hook_FlsFree(ql: Qiling, address: int, params):
def hook_FlsGetValue(ql: Qiling, address: int, params):
return ql.os.fiber_manager.get(params['dwFlsIndex'])
# LPVOID FlsGetValue2(
# DWORD dwFlsIndex
# );
@winsdkapi(cc=STDCALL, params={
'dwFlsIndex' : DWORD
})
def hook_FlsGetValue2(ql: Qiling, address: int, params):
return ql.os.fiber_manager.get_noerr(params['dwFlsIndex'])
# BOOL FlsSetValue(
# DWORD dwFlsIndex
# PVOID lpFlsData
+7
View File
@@ -112,3 +112,10 @@ class FiberManager:
return 0
return self.fibers[idx].data
# equivalent to get, but does not set errors; used for FlsGetValue2
def get_noerr(self, idx: int) -> int:
if idx not in self.fibers:
return 0
return self.fibers[idx].data