试着相信自己

周三之前,我一直在按照自己的理解,参考wrk,逆向相干驱动,实现NtXxxKey系穿越Api,有一个地方不理解,去咨询P神,P神没有直接回答我,只是告诉我当前驱动实现的NtCreate/OpenKey不是安全的,问我为什么不安全——我本来就对这些神之领域就一窍不通,能逆出来就不错了。所以,后文,你懂的~呜呜呜。

LONG _CmpCallBackCount = InterlockedExchange( (PLONG)pCmpCallBackCount, 0);
Status = ObOpenObjectByName(ObjectAttributes,
                            _CmpKeyObjectType,
                            Mode,
                            NULL,
                            DesiredAccess,
                            NULL,
                            &Handle );
InterlockedExchangeAdd( (PLONG)pCmpCallBackCount, _CmpCallBackCount);
我认为上面的代码是安全的,难道还要什么地方是我没有注意到的?

周三下午孙哥让我研究Xxx服务为什么被我们成功优化掉了还可以被修复起来,理论上被我们优化掉的服务是不可能通过StartService启动的。孙哥给我很多提示——估计他早就知道原因了。周三晚上在公司搞到临近零点,回去后继续探究到3点,没有任何收获;周四,继续折腾,到下班时研究依旧没有任何头绪!!!此时,我已经开始怀疑孙哥给的提示和建议是有问题的——不管了,回去睡觉(P神和VP给我的转正申请签字了,^_^),回去继续搞到2点!!!此时已经确定Xxx没有使用什么猥琐的手法来绕过我们的服务禁止机制。周五,上班时发现部门HR已给我的申请签字了,呱呱呱~~~对Xxx服务的Bin开IDA,发现Xxx内置的修复逻辑很简单——继续和孙哥探讨,我的设想依旧得不到支持。继续耗时间,到了晚9点,成功的模拟了Xxx绕过我们的过程...于是没意思的垃圾时间到了,搞定一切后临近零点,收工回去睡觉。

好累,这周 ~~~唉!相信自己的感觉真好。

你可能感兴趣的:(试着相信自己)