原创 用MDL寫入數據

#include <ntddk.h> BOOL MdlWriteMemory(PVOID pBaseAddress, PVOID pWriteData, SIZE_T writeDataSize) { PMDL pMdl = NUL

原创 枚舉和移除對象回調

對象回調是目前絕大多數遊戲保護用於保護遊戲進程用的回調。 對象回調存儲在對應對象結構體裏, 簡單來說,就是存儲在 ObjectType. CallbackList 這個雙向鏈表裏。 1: kd> dt _object_type nt!_O

原创 8種HOOK技術

1.IAT_HOOK  IAT是程序中存儲導入函數地址的數據結構,如果HOOK了導入函數地址。就可以在函數調用的時候,將函數流程HOOK到我們指定的流程。但是我個人覺得這種方式最好要結合DLL注入的方式,如果單純的使用HOOK,那麼就需要

原创 病毒分析四:steam盜號病毒

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

原创 遍歷vad二叉樹來遍歷進程裏的模塊

/* 遍歷vad二叉樹來遍歷進程裏的模塊 */ #include <ntifs.h> typedef struct _MMADDRESS_NODE { ULONG64 u1; struct _MMADDRESS_NODE* L

原创 aslr關閉工具逆向分析

用OD逆向的時候,經常發現待分析的軟件開啓了aslr,和IDA中的地址對不上,網上下載了一個去處aslr的工具(工具下載地址再文末),閒來無事分析看看有沒有什麼騷操作(然而並沒有。。),簡單記錄一下吧 總結:很簡單,對x86 exe

原创 通過PspCidTable枚舉進程

如果當前進程爲System進程,就意味着此次打開的內核對象訪問權限屬於內核,那麼就使用內核句柄表, 內 核句柄與用戶句柄不同的地方就在於內核句柄需要或上一個0x80000000即最高位置爲1作爲標識, 但是實際在使用句柄的時候還是不需要這

原创 驅動黑名單實現

一、 基本思想 (1)檢測某些名稱的驅動是否存在,這一部分有個黑名單 (2)檢測驅動中部分代碼的特徵是否匹配,這一部分用另外一個黑名單 每一個驅動都要經過以上兩重檢查,具體的算法實現就是計算驅動名稱或部分代碼的Hash值,然後在黑名單中進

原创 使用IDAPython解密被加密函數名

最近分析一款病毒,輸入表是空的,並且搜字符串,搜不到函數名,函數名被加密了。 就寫了個腳本把函數名都解密起來,並加註釋,方便在IDA中查看。 完整腳本如下: def get_string(addr): out = ""

原创 病毒分析一:惡意下載軟件

一、樣本簡介 樣本是在卡飯論壇找到的,原網址:https://bbs.kafan.cn/thread-2159857-1-1.html,樣本下載鏈接: https://pan.baidu.com/s/1Zwqgded0XGBqSWUTkb

原创 用ida打開ntoskrnel.exe很多函數名不顯示的問題

原因很簡單,缺少符號文件。 解決方法:打開IDA目錄下的文件pdb.cfg,把 PDBSYM_SYMPATH = "SRV*c:\\symbols*http://symbols.mozilla.org/firefox;SRV*c:\\sy

原创 鋸齒與抗鋸齒

抗鋸齒(英語:Anti-Aliasing,簡稱AA),也譯爲邊緣柔化、消除混疊、抗圖像摺疊有損,反走樣等。它是一種消除顯示器輸出的畫面中圖物邊緣出現凹凸鋸齒的技術, 那些凹凸的鋸齒通常因爲高分辨率的信號以低分辨率表示或無法準確運算

原创 四元數

http://blog.csdn.net/candycat1992/article/details/41254799

原创 shader常用函數列表

http://blog.csdn.net/laverfever/article/details/23962411

原创 Unity3D Shader 入門

比較詳細,可以看看 http://blog.csdn.net/ring0hx/article/details/46440037 http://www.jianshu.com/p/7b9498e58659