Merge pull request #1637 from monoidic/dev

implement FlsGetValue2
This commit is contained in:
xwings
2026-09-05 21:31:07 +08:00
committed by GitHub
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