0
我是一個掛鉤的新手。我正在尋找一個可以隱藏文件的python程序,或者通過使用win API hooking
篩選結果來過濾結果來阻止它。我已經讀過,還有另外一種方法來實現它,使用文件系統過濾驅動程序,或使用內核模式API掛鉤,其中我從here獲得了這個想法。如何通過掛鉤kernel32.dll來製作文件過濾器
無論如何,我是蟒蛇的傢伙,所以我希望它是在Python中,尋找我得到了PyBox。這是我可以將某個DLL注入應用程序然後運行它的地方。
這裏是做到這一點的代碼:
if kernel32.CreateProcessA(self.exe,
None,
None,
None,
None,
creation_flags,
None,
None,
byref(startupinfo),
byref(process_information)):
self.pid = process_information.dwProcessId
self.tid = process_information.dwThreadId
self.h_process = process_information.hProcess
self.h_thread = process_information.hThread
print "Process successfully launched with PID %d." % self.pid
return True
else:
print "Process could not be launched!"
raise WinError()
return False
這處於掛起模式,然後創建過程:注入DLL後
def resume(self):
if (kernel32.ResumeThread(self.h_thread) == 0):
print "Process could note be resumed!"
raise WinError()
return False
else:
print "Process resumed."
return True
此功能恢復的過程。我想知道兩件事:
- 爲什麼不能如果我可以阻止進程而不是恢復它。這將阻止應用程序運行。但我應該調用kernel32的哪個函數?
- 我如何能實現
ntQueryDirectoryfile function
或zwQueryDirectoryfile function
這裏,這樣我可以一個過濾器添加到文件,而不是阻止它。那麼DLL會對過濾器產生什麼影響?