原创 用cr3讀寫內存

#define DIRECTORY_TABLE_BASE 0x028 // DirectoryTableBase UINT32 idTarget = 0; PEPROCESS epTarget = NULL; UINT3

原创 內核反調試

1.鉤子 對調試器附加過程中所用到的函數掛鉤。 比如:NtOpenProcess、ZwDebugActiveProcess、RtlCreateUserThread、NtDebugContinue、 NtCreateDebugObject、

原创 病毒分析五:勒索病毒分析

一、樣本簡介 樣本是52論壇找到的 樣本鏈接: https://pan.baidu.com/s/1yRlNwHKSa9F-nHhUiO0BCA 提取碼: p498 二、現象描述 點開樣本後,會彈出一個文本,裏面有一串數字,這串數字是加密和

原创 r3反調試

R3反調試方法非常多,且充斥着各種猥瑣的方法。 1.調用API反調試 IsDebuggerPresent:它查詢PEB中的IsDebugged標誌 CheckRemoteDebuggerPresent:這個函數將一個進程句柄作爲參數,檢查

原创 DLL劫持原理

系統有一套標準的搜索DLL路徑的規則,這套規則又分爲兩種搜索模式,安全搜索模式,非安全搜索模式。 默認情況下啓用安全DLL搜索模式。要禁用此功能,需創建HKEY_LOCAL_MACHINE\System\CurrentControlSet

原创 插入APC讀寫內存

#include "ntddk.h" #include "a_header.h" NTKERNELAPI NTSTATUS PsLookupProcessByProcessId(HANDLE ProcessId, PEPROCESS

原创 枚舉和移除進程和線程回調

進程回調可以監視進程的創建和退出,這個在前面的章節已經講過了。 某些遊戲保護的 驅動喜歡用這個函數來監視有沒有黑名單中的程序運行,如果運行則阻止運行或者把遊戲退 出。而線程回調則通常用來監控遠程線程的建立,如果發現有遠程線程注入到了遊戲進

原创 自己實現GetProcAddress

DWORD MyGetProcAddress( HMODULE hModule, // handle to DLL module LPCSTR lpProcName // functi

原创 逆向尋找MFC程序中消息回調函數地址

用IDA打開exe文件,在Imports表中找到GetCommandMap函數,兩次交叉引用,找到GetCommandMap在rdata數據段中的位置。GetMessageMap函數就在它上面 地址401250處代碼如下 地址4036

原创 病毒分析二:勒索病毒分析

一、樣本簡介 樣本是吾愛破解論壇找到的,原網址:https://www.52pojie.cn/thread-1035897-1-1.html, 樣本鏈接: https://pan.baidu.com/s/1gQ0f3SH2yqeJzJW7

原创 14種DLL注入技術

本文只是介紹各個注入的核心思想,詳細的可以參照文末鏈接裏的源碼,一看就明白。本文只是介紹各個注入的核心思想,詳細的可以參照文末鏈接裏的源碼,一看就明白。本文只是介紹各個注入的核心思想,詳細的可以參照文末鏈接裏的源碼,一看就明白。   第一

原创 枚舉和隱藏內核模塊

在 WIN64 上枚舉內核模塊有兩種方法:使用 ZwQuerySystemInformation 的第 11 號功能(SystemModuleInformation)和枚舉 KLDR_DATA_TABLE_ENTRY 中的 InLoadO

原创 x86對抗棧回溯檢測

1.原理函數調用 CALL 指令可拆分爲兩步操作: 1)、將調用者的下一條指令(EIP)的地址壓棧 2)、跳轉至將要調用的函數地址中(相對偏移或絕對地址) 那麼在執行到子函數首地址位置時,返回地址(即調用函數中調用位置下一條指令的地址)就

原创 病毒分析三:勒索病毒分析

一、樣本簡介 樣本是吾愛破解論壇找到的,原網址:https://www.52pojie.cn/thread-1021466-1-1.html, 樣本鏈接: 鏈接: https://pan.baidu.com/s/1yueeQ91bGfIw

原创 x64內核hook

x64中系統提供了api幫助我們進行hook,主要是如下三個函數 PsSetCreateProcessNotifyRoutineEx,這個函數的作用就是 當進程創建的時候會通知你., PsSetCreateThreadNotifyRout