360doc--昵稱2034962的文章
http://www.ahfyzs.com/rssperson/2034962.aspx
360doc (http://www.ahfyzs.com)
zh-cn
360doc--個(gè)人圖書館
-
通過代碼實(shí)現(xiàn)EXE文件圖標(biāo)的替換
http://www.ahfyzs.com/content/11/0114/10/2034962_86430283.shtml
2011/1/14 10:50:41
EXE文件圖標(biāo)的替換有很多方法,例如用一個(gè)EXE文件的圖標(biāo)替換另外一個(gè)EXE文件的圖標(biāo);PE文件中的圖標(biāo)保存格式與.ico文件中圖標(biāo)的保存格式略有不同。在Icons顯示方式下,圖標(biāo)大小是32*32的,圖標(biāo)被我們改變了:用一個(gè)ICO文件中的圖標(biāo)替換另外一個(gè)EXE文件的圖標(biāo)。定位到第8個(gè)圖標(biāo)結(jié)構(gòu)體ICONDIRENTRY的位置后,Entry.dwImageOffset的值就是第8個(gè)圖標(biāo)資源的文件偏移地址,Entry.dwBytesInRes的值是第8個(gè)圖標(biāo)圖標(biāo)資源的大小。
-
KiFastCallEntry簡(jiǎn)單呀簡(jiǎn)單呀分析呀分析
http://www.ahfyzs.com/content/10/0706/14/2034962_37225455.shtml
2010/7/6 14:19:20
-
360安全衛(wèi)士hookport.sys簡(jiǎn)單逆向——KiFastCallEntry掛鉤
http://www.ahfyzs.com/content/10/0706/14/2034962_37225207.shtml
2010/7/6 14:17:55
360安全衛(wèi)士hookport.sys簡(jiǎn)單逆向——KiFastCallEntry掛鉤KiFastCallEntry的掛鉤。KiSystemCallExit2+0x9f (8053d9ac)8053d804 f3a5 rep movs dword ptr es:[edi],dword ptr [esi]8053d806 ffd3 call ebx8053d808 8be5 mov esp,ebp8053d80a 8b0d24f1dfff mov ecx,dword ptr ds:[0FFDFF124h]8053d810 8b553c mov edx,dword ptr [ebp+3Ch]
-
360安全衛(wèi)士hookport.sys簡(jiǎn)單逆向——MyHookMgr數(shù)據(jù)結(jié)構(gòu)
http://www.ahfyzs.com/content/10/0706/14/2034962_37225059.shtml
2010/7/6 14:17:11
360安全衛(wèi)士hookport.sys簡(jiǎn)單逆向——MyHookMgr數(shù)據(jù)結(jié)構(gòu)MyHookMgr數(shù)據(jù)結(jié)構(gòu)。MyHookMgr是一個(gè)大小為0x5DDC的巨大結(jié)構(gòu),是360掛鉤中的一個(gè)重要數(shù)據(jù),它記錄了掛鉤函數(shù)的原地址、代理函數(shù)地址及相應(yīng)函數(shù)是否掛鉤的標(biāo)志位。//ssdt對(duì)應(yīng)的代理函數(shù)地址。//ssdtShadow代理函數(shù)地址。//ssdt代理函數(shù)開關(guān)。ssdtSwitch和shadowSsdtSwitch是代理函數(shù)開關(guān),為1時(shí)代表函數(shù)被掛載,為0時(shí)直接執(zhí)行原始函數(shù),不進(jìn)行過濾,初始化時(shí)所有開關(guān)均置0。
-
360安全衛(wèi)士hookport.sys簡(jiǎn)單逆向——基礎(chǔ)
http://www.ahfyzs.com/content/10/0706/14/2034962_37224891.shtml
2010/7/6 14:16:22
360安全衛(wèi)士hookport.sys簡(jiǎn)單逆向——基礎(chǔ)hookport.sys模塊作用。Hookport.sys是360安全衛(wèi)士對(duì)系統(tǒng)進(jìn)行掛鉤操作的核心模塊。Hookport.sys只提供了最為基本的過濾操作和樁函數(shù),本身并沒有實(shí)現(xiàn)策略部分。按照PE格式解析映射入內(nèi)存的系統(tǒng)內(nèi)核,從導(dǎo)出表中找到KeServiceDescriptorTable的地址,進(jìn)行重定位后得到SSDT表在內(nèi)存中的真實(shí)地址。返回值為函數(shù)地址或NULL。使用MyGetFuncAddrFromKrnl獲得 KeAddSystemServiceTable函數(shù)地址。
-
主動(dòng)防御的代碼注入方法一點(diǎn)思考
http://www.ahfyzs.com/content/10/0705/18/2034962_37083138.shtml
2010/7/5 18:24:55
關(guān)于代碼注入Ring3層的方法主要有:遠(yuǎn)程線程CreateRemoteThread消息鉤子SetWindowsHookExRing3 APC QueueUserApc修改線程上下文SetContextThread其中第一種和第三種方法需要傳入一個(gè)param,但是要求這個(gè)param必須在目標(biāo)進(jìn)程內(nèi)存空間,之前的一些方法比較笨重,直接在目標(biāo)進(jìn)程VirtualAllocEx內(nèi)存,然后把希望的參數(shù)內(nèi)容寫入這個(gè)內(nèi)存,使用了WriteProcessMemory函數(shù),而這個(gè)函數(shù)是被hook的,所以殺軟可以很容易的攔截代碼注入行為。
-
Image File Execution Options
http://www.ahfyzs.com/content/10/0705/11/2034962_37000055.shtml
2010/7/5 11:00:53
Image File Execution Options跳轉(zhuǎn)到鍵值HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Image File Execution Options在里面添加一個(gè)新鍵值,使用一個(gè)你想欺騙的執(zhí)行文件的名字,好比notepad.exe.|__NOTEPAD.EXE Debugger- REG_SZ - C:\WINDOWS\SYSTEM32\CALC.EXE一旦做好了,在NOTEPAD圖標(biāo)上單擊(或是txt文件),CALC.EXE被代替執(zhí)行這兒有一個(gè)簡(jiǎn)單的命令行程序, TEST.C, 它可以顯示執(zhí)行時(shí)使用的參數(shù)。
-
Delphi下利用SendInput模擬鼠標(biāo)鍵盤
http://www.ahfyzs.com/content/10/0705/10/2034962_36999100.shtml
2010/7/5 10:56:46
Delphi下利用SendInput模擬鼠標(biāo)鍵盤前言。另外SendInput與WInIo可以接合使用,一些程序?qū)κ髽?biāo)左鍵單擊敏感,可以使用WinIo模擬鼠標(biāo)左鍵單擊,其它操作由SendInput模擬。X和Y為象素值,X和Y的值的范圍不能超出屏幕,MaxMove為移動(dòng)時(shí)的dX和dY的最大值,Interval為兩次移動(dòng)之間的時(shí)間間隔,一些程序?qū)κ髽?biāo)移動(dòng)速度敏感,當(dāng)鼠標(biāo)移動(dòng)太快時(shí)無(wú)法對(duì)鼠標(biāo)做出反應(yīng),適當(dāng)?shù)脑O(shè)置MaxMove和Interval的值可以解決這個(gè)問題。
-
Delphi下利用WinIo模擬鼠標(biāo)鍵盤詳解
http://www.ahfyzs.com/content/10/0705/10/2034962_36998894.shtml
2010/7/5 10:55:48
Delphi下利用WinIo模擬鼠標(biāo)鍵盤詳解前言。//按下鼠標(biāo)左鍵 SetByte($64,$D3); SetByte($60,$09);SetByte($64,$D3); SetByte($60,$00);SetByte($64,$D3); SetByte($60,$00);SetByte($64,$D3); SetByte($60,$00); //三鍵帶滾輪鼠標(biāo)。//放開鼠標(biāo)左鍵SetByte($64,$D3); SetByte($60,$08);SetByte($64,$D3); SetByte($60,$00);SetByte($64,$D3); SetByte($60,$00);SetByte($64,$D3); SetByte($60,$00); //三鍵帶滾輪鼠標(biāo)。