发新话题
打印

[原创]粗略逆向1下fishpe的sys

[原创]粗略逆向1下fishpe的sys

文章作者:zhuwg
信息来源:邪恶八进制信息安全团队(www.eviloctal.com

粗略逆向1下fishpe的sys
大牛们别来取笑偶啊
大概标记了1下各个hook函数
如果你想简单处理 直接patch这个驱动就ok了
另外注意清除notify--这个不会检测 嘿嘿

更加简单的办法是
对下面这个函数打patch
所有的hook都会进到这个判断
直接return 0
那么hook就已经失去作用了
fishpe会检测ssdt是否被恢复 如果恢复自动hook
我们在他hook函数里面打inline patch
这样--嘿嘿 随便怎么恢复都米作用
复制内容到剪贴板
代码:
.text:000110DA compare     proc near        ; CODE XREF: MyZwOpenProcess+12p
.text:000110DA                     ; MyZwQuerySystemInformation+40p ...
.text:000110DA
.text:000110DA arg_0      = dword ptr 8
.text:000110DA arg_4      = dword ptr 0Ch
.text:000110DA
.text:000110DA         mov   edi, edi
.text:000110DC         push  ebp
.text:000110DD         mov   ebp, esp
.text:000110DF         mov   eax, [ebp+arg_0]
.text:000110E2         jmp   short loc_110EE
.text:000110E4 ; ---------------------------------------------------------------------------
.text:000110E4
.text:000110E4 loc_110E4:               ; CODE XREF: compare+16j
.text:000110E4         mov   ecx, [ebp+arg_4]
.text:000110E7         cmp   ecx, [eax+4]
.text:000110EA         jz   short loc_110F2
.text:000110EC         mov   eax, [eax]
.text:000110EE
.text:000110EE loc_110EE:               ; CODE XREF: compare+8j
.text:000110EE         test  eax, eax
.text:000110F0         jnz   short loc_110E4
.text:000110F2
.text:000110F2 loc_110F2:               ; CODE XREF: compare+10j
.text:000110F2         pop   ebp
.text:000110F3         retn  8
.text:000110F3 compare     endp
.text:000110F3
.text:000110F3 ; ---------------------------------------------------------------------------
.text:000110F6
好像作者用的一个函数多次hook
看起来不错 能够hook+unhook
不过 没有mj的hook函数好
这个关闭中断似乎不能对付多核cpu-如果你要对付要setthread到其他cpu
应该提起自旋锁更好
复制内容到剪贴板
代码:
HookZwOpenProcess proc near       ; CODE XREF: RemoveNotify+14p
.text:0001190A                     ; DriverEntry+ADp
.text:0001190A         mov   edi, edi
.text:0001190C         cli
.text:0001190D         mov   eax, cr0
.text:00011910         and   eax, 0FFFEFFFFh
.text:00011915         mov   cr0, eax
.text:00011918         cmp   IsHook, 0
.text:0001191F         mov   ecx, ds:KeServiceDescriptorTable
.text:00011925         mov   eax, ds:ZwOpenProcess
.text:0001192A         mov   ecx, [ecx]
.text:0001192C         mov   eax, [eax+1]
.text:0001192F         jnz   short loc_11969
.text:00011931         mov   dword ptr [ecx+eax*4], offset MyZwOpenProcess
.text:00011938         mov   eax, ds:KeServiceDescriptorTable
.text:0001193D         mov   eax, [eax]
.text:0001193F         mov   ecx, dword_1501C
.text:00011945         mov   dword ptr [eax+ecx*4], offset MyZwReadVirtualMemory
.text:0001194C         mov   eax, ds:KeServiceDescriptorTable
.text:00011951         mov   eax, [eax]
.text:00011953         mov   ecx, dword_1500C
.text:00011959         mov   dword ptr [eax+ecx*4], offset MyZwWriteVirtualMemory
.text:00011960         mov   IsHook, 1
.text:00011967         jmp   short loc_119A5
.text:00011969 ; ---------------------------------------------------------------------------
.text:00011969
.text:00011969 loc_11969:               ; CODE XREF: HookZwOpenProcess+25j
.text:00011969         mov   edx, OldZwOpenProcess
.text:0001196F         mov   [ecx+eax*4], edx
.text:00011972         mov   eax, ds:KeServiceDescriptorTable
.text:00011977         mov   eax, [eax]
.text:00011979         mov   ecx, dword_1501C
.text:0001197F         mov   edx, OldZwReadVirtualMemory
.text:00011985         mov   [eax+ecx*4], edx
.text:00011988         mov   eax, ds:KeServiceDescriptorTable
.text:0001198D         mov   eax, [eax]
.text:0001198F         mov   ecx, dword_1500C
.text:00011995         mov   edx, OldZwWriteVirtualMemory
.text:0001199B         mov   [eax+ecx*4], edx
.text:0001199E         mov   IsHook, 0
.text:000119A5
.text:000119A5 loc_119A5:               ; CODE XREF: HookZwOpenProcess+5Dj
.text:000119A5         mov   eax, cr0
.text:000119A8         or   eax, 10000h
.text:000119AD         mov   cr0, eax
.text:000119B0         sti
.text:000119B1         retn
.text:000119B1 HookZwOpenProcess endp
.text:000119B1
.text:000119B1 ; ----------------

附件

fishpe2.rar (70 KB)

2007-12-15 21:31, 下载次数: 45

Heaven is a place nearby so I won't be so far away and if you try and look for me maybe you'll find me someday

TOP

楼主能帮忙脱个fishpe1.17加壳的程序吗?

TOP

对逆向不是很有研究!

TOP

发新话题