学裕 的个人资料土拨鼠照片日志列表 工具 帮助
3月13日

郭德纲

今天从赛思的blog上看到郭德纲的blog链接http://blog.sina.com.cn/guodegang
挺喜欢他的相声的,随便逛了下,看到一个演出布告

『德云社』演出地点之一【天桥乐茶园】

(下午场,每周五、六、日下午1400开始演出)

 

地点:宣武区北纬路乙1  (北纬路东口路北,天桥剧场斜对面)

售票:周一开始每日中午12001700

票价:前四排30/位;后四排20/位;正包厢60/位;侧包厢50/位;

 

挺想亲临现场听听他说相声,只要张后四排的票,我喜欢隔远了看。

最近是怎么了

该好好思过下了

bedell的blog改风格了

今天赛思到处为Bedell同志的blog打广告。
发现bedell的版面风格改了,全黑色调。说要增加深度!
 
3月7日

SSDT hook后,恢复出现BSOD

#define SYSCALL(_idx)  (KeServiceDescriptorTable->ServiceTableBase[ _idx ])
 
对ZwXXXXXXX函数进行SSDT hook
当卸载后出现BSOD
 
原因:A驱动先修改了KeServiceDescriptorTable->ServiceTableBase中ZwXXXXXXX函数的地址;
然后,我又保存了A驱动修改后的这个地址;
再然后,A驱动恢复了KeServiceDescriptorTable->ServiceTableBase;
再再然后,A撤了;
再再再然后,我恢复了我保存的那个地址,结果这个地址是A驱动中的;
再再再再再然后,我还没来得及逃,BSOD
 
解决:我在恢复SSDT时,先检查我保存的那个地址是否还有效,如果无效,就不要恢复了,虽然不是完美的解决方案,但是也凑合,
希望以后所有进行SSDT HOOK的在恢复的时候都检查下自己保存的地址是否还有效,减少BSOD~~
恢复SSDT部分代码如下:
if (TRUE == g_HookFuns[iLoop].bHooked)
        {
            if (SYSCALL(g_HookFuns[iLoop].ulIndex)
                != (unsigned int)g_HookFuns[iLoop].realFun)   //ssdt was changed by others?
            {
                if (TRUE == MmIsAddressValid(g_HookFuns[iLoop].realFun)) //检查保存的函数的地址有效性
                {
                    SYSCALL(g_HookFuns[iLoop].ulIndex) = (unsigned int)g_HookFuns[iLoop].realFun;
                }
            }else{
                SYSCALL(g_HookFuns[iLoop].ulIndex) = (unsigned int)g_HookFuns[iLoop].realFun;
            }
            g_HookFuns[iLoop].bHooked = FALSE;
        }
 

转: u88财富快车流氓软件RK驱动分析

WQXNETQIQI 在驱动开发网上帖了u88这个流氓用的驱动分析,转过来
RK部分一共三个文件
VideoAti0.sys
VideoAti0.dll
VideoAti0.exe
驱动部分是BOOT0的,主要干了这么些事:
1.建立CreateProcessNotifyRoutine,检测到userinit.exe加载后就修改注册Run项目,以启动VideoAti0.exe,VideoAtio0.exe启动后会删除自己的RUN项目,并注入VideoAti0.dll,导致启动后无法发现其启动项目

2.Hook CmEnumerateKey,隐藏VedioAti0.sys的服务项,Is,gmer,rku等无法检测到
通过CreatePrcoessNotifyRoutine检测到是如下进程调用CmEnumerateKey时,会恢复自己的HOOK,企图蒙混过关:D
fhs.exe,knlsc13.exe

3.Hook FSD Dispatch Routine,Hook了\FileSystem\Ntfs,和\FileSystem\FastFat的IRP_MJ_CREATE和IRP_MJ_DIRECTORY_FILE,根据默认规则库会首先过滤
VideoAti0.sys
VideoAti0.dll
VideoAti0.exe
无法列出他们
规则库还可以通过R3向R0添加

4.从PsLoadMoudleList移除了自身,使得IS,gmer等工具无法检测到它,gmer可检测到 FSD HOOK,也检测不到是哪个module作了HOOK


后来R3的规则好象很BT,系统登陆后加载任何位置的driver都会失败:D
分析后的idb文件见压缩包,和读源代码没什么区别了


[ 此贴被WQXNETQIQI在2007-01-07 15:30重新编辑 ]


附件:  drv.rar (77 K) 下载次数:119