IceSword似乎被研究的差不多了
来源:互联网 发布:html5自助建站系统源码 编辑:程序博客网 时间:2024/03/28 19:54
http://bbs.zndev.com/read.php?tid=97320
http://bbs.zndev.com/read.php?tid=98377
最让我“吃惊”的是IS列举进程的办法竟然是通过PspCidTable,晕啊。我记得很久以前我写knlps0.4的时候,就在幻影论坛提到过这个办法。这个办法被公开就完全失效了,所以我没有用它来实现knlps0.5。我本以为,IS应该是利用了某些无法被轻易修改的系统数据结构来列举进程。线程调度链表算一种,但IS不是用它。我能想到的就只有在非分页内存里搜索EPROCESS了。其它各种各样的“表”都可以很容易的涂改掉,只要知道是哪张“表”。虽然非分页内存也可以看作一张“表”,但改起来比较麻烦。
关于IS的反调试,知道谜底了自然觉得没什么大不了的。不过我是个完全不会猜谜的人,所以没猜到也不觉得可惜。既然pjf是挑战赛的裁判,估计IS2.0会有不小的改进吧。希望将来谜底公开的时候,不会让我“不觉得可惜”,呵呵。
wuyanfeng对IS驱动的分析,没说是什么版本。所以我下载了一个1.12en版,看看有啥变化。反WinDbg调试有点不一样了,以前(1.06)是只在启动的时候判断一次KdDebuggerEnabled,如果非零就调用KdDisableDebugger,现在是不断地检查它。我把KdDisableDebugger入口改成了ret指令,结果调试器不会被断开了,但CPU占用100%。一计不成又生一计,我在KdDebuggerEnabled上设内存读断点,想等IS读的时候,给IS打个“补丁”。结果在调试状态下,总是系统的KeUpdateSystemTime和KdPollBreakIn例程在读取,IS完全没有机会动。两个系统例程读取KdDebuggerEnabled的值后,紧接着是jz和jnz指令,哈,分别改成jnz和jz,再把KdDebuggerEnabled改成0,搞定!建议pjf用关闭调试端口的办法反WinDbg。靠判断KdDebuggerEnabled实在太容易pass了。
涂改了PspCidTable,发现还是可以隐藏进程,失望ing
- IceSword似乎被研究的差不多了
- 做的差不多了
- CoreJava看的差不多了
- 差不多了。。
- 程序界面的基本架构差不多了
- 终于差不多完工了 拍卖行的逻辑。。
- 以后的路似乎明确了
- 似乎明白了《结网》的一些道理
- 今天goagent似乎被攻击了.
- 终于比IceSword底层了
- bbs差不多了!
- 鞍钢下跌差不多了!
- 好了,差不多了
- 总算差不多了
- CocoaPods 折腾差不多了
- Day2-差不多写完了。
- 今天把博客的个人页面弄的差不多了
- 看完这个你的位运算学得就差不多了
- 求职:以投出多少简历论英雄
- 转载一编关于MASM宏的用法
- 按位运算
- 破解QQ2005Beta3的“键盘加密保护技术” 【转贴】
- IT大史记:好的年代 坏的年代
- IceSword似乎被研究的差不多了
- 32位代码优化常识(转载)
- SQL盲注攻击技术综述
- 关于VBS调用MSWinsock控件
- 《Java与模式》学习笔记之五――抽象工厂模式(Abstract Factory Pattern)
- 2006-2-27日
- ASP中调用Access中的查询
- 先要声明一下
- Struts + Spring + Hibernate 框架资源--整理