原创 MFC程序中的消息逆向

MFC中CWnd基類中包含了一個GetThisMessageMap 虛函數,用於獲得指向messageMap 的指針。因此任何從CWnd派生的窗口類,都含有這個函數(在虛擬函數表中的位置好像是0x30附近)。它的代碼通常形如: CWnd

原创 內核注入

內核注入,技術古老但很實用。現在部分RK趨向無進程,玩的是SYS+DLL,有的無文件,全部存在於內存中。可能有部分人會說:“都進內核了.什麼不能 幹?”。是啊,要是內核中可以做包括R3上所有能做的事,軟件開發商們也沒必要做應用程序了。有時

原创 [轉載]關於驅動中的ObReferenceObjectByName 和 IoGetDeviceObjectPointer

今天huhu0013問我爲什麼ObReferenceObjectByName不能得到Device類型的對象,討論一番,最終得到如下解釋,記錄一下: ============================================

原创 zwcreatesection 共享內存區(Section)

zwcreatection創建一個section_object,section_object代表一塊能夠共享的內存對象。 一個進程能夠用section_object 來與其他進程共享它的內存空間。section_object 提供進程映射

原创 幾個常用結構

typedef struct _EPROCESS {KPROCESS Pcb;EX_PUSH_LOCK ProcessLock;LARGE_INTEGER CreateTime;LARGE_INTEGER ExitTime;EX_

原创 x64/vista/2003 sp1下使用ZwOpenSection直接讀寫物理內存

習慣於在應用程序用ZwOpenSection打開"Device"PhysicalMemory訪問物理內存的朋友可能要鬱悶了,微軟出於安全考 慮的原因,在x64/vista/2003 sp1系統中所有用戶模式的程序將不能訪問"Devi

原创 【翻譯】Delphi中類的逆向工程

標 題: 【翻譯】Delphi中類的逆向工程作 者: firstrose時 間: 2004-12-09,18:37:44鏈 接: http://bbs.pediy.com/showthread.php?t=8209 前段時間看到NB王(就

原创 摘除過濾驅動

轉自:http://hi.baidu.com/_achillis/blog/item/cc9cf925c23260064d088d05.html   開始本文之前先膜拜一下老V~“無法F5的驅動,不是好驅動啊~不是好驅動啊~ ”     

原创 [轉載]關於文件系統和磁盤驅動的一點學習心得

原文地址:http://hi.baidu.com/weolar/blog/item/34a8ff19be316572dbb4bd4f.html   今天看到sudami同學問起這些東西,好久沒搞了,很生疏,所以重新學習了一下,有點小小心

原创 ZwQuerySystemInformation 簡單應用

#include <ntddk.h> #include "struct.h" typedef struct _SYSTEM_MODULE {         ULONG Reserved1;     ULONG Reserved2;

原创 hook 內核的體會

網上很多hook代碼,尤其是Obxxxxxx系列函數,它們很邪惡,一旦hook得好,可如入無人之境,這點我深有體會啊,但是同時它們調用頻繁,比如 ObReferenceObjectByxxxxxx,基本上windows的每一個操作,都會調

原创 內核驅動的文件操作

在應用層讀寫文件等操作將通過 INT 2E切換到內核層。這個不用說大家都很熟悉流程。那麼到了內核層又是如何處理的?就先拿 ZwReadFile,ZwWriteFile 說事。 首先將文件句柄轉換成FILE_OBJECT 指針。這時

原创 關於Windows的權限和一些安全問題

作者:刺(aXis) 來源:www.ph4nt0m.net(當時還在用這個域名,也有網上流傳的文章裏用的是www.3389.net的域名,曾經也是幻影最初的域名之一。) 摘要:關於nt的acl,token,and privilege的,

原创 導出導入表

  導出表 當一個EXE或DLL導出函數或變量時,其它EXE或DLL就可以使用這些導出的函數或變量。爲了簡單起見,我把導出的函數和導出的變量統稱爲“符號”。 當導出一些符號時,最起碼導出符號的地址需要能夠以一種已定義好的方式被獲取。每

原创 FS 寄存器使用

在用戶層下,FS寄存器指向當前活動線程的TEB結構                  nt!_TEB +0x000 NtTib : _NT_TIB +0x01c EnvironmentPointer :