三个nop的玄机

2014-2-10 Nie.Meining Debug

最近百度卫士宣传力度挺大,春节在家闲来无事下载了一个看看。第一印象感觉界面简约,功能干净不臃肿,是我喜欢的风格。首先在x86环境下看看hook点:

1.png

跟360、金山卫士、QQ管家等其它主动防御一样,hook点选择了系统调用的分发函数KiSystemServiceRepeat。而且hook方式跟QQ管家很像,将mov edi, esp; cmp esi, xxx; 这两条指令替换成了三个nop和一个jmp,但是他们之间的区别是,QQ管家是先nop再jmp,百度卫士是先jmp再nop。其实这个顺序是有玄机的!(以前逆向过QQ管家,感谢sysnap大牛点拨)

我们先看看hook前的原始指令截图如下:

2.png

我们现在来考虑一个小概率的特殊情况,假如某个内核线程正好执行完图中的mov edi, esp指令(即将执行下一条指令cmp esi, xxx)时,hook操作发生了。在这种情况下,按照QQ管家的hook方式,该内核线程可以安全着陆(下一条指令变成了nop而已),但是百度卫士的hook方式可能会导致蓝屏。因此从hook安全的角度上来讲还是先nop后jmp好一些。不过这是个小概率事件。

接着看了看jmp到的地址,在bd0001.sys驱动中:

3.png

各种需要的信息压栈后,call过滤函数。过滤函数部分截图如下:

4.png

感觉跟其它主动防御的处理方式也差不多。由于曾经逆向过QQ管家(QQ电脑管家中的TsFltMgr Hook框架分析》、QQ电脑管家中的 Hook 过程分析》),这里就没再继续了。另外由于这种处理框架在现有的主动防御软件中非常流行,我曾经也自己手痒仿照这种框架完成过一个主动防御的雏形,开源放到了看雪上了:《发一个主动防御的代码》。

接下来用64位的win8系统也做了一下测试。由于PatchGuard的原因,64位主动防御目前主要采用对象钩子实现。测试的截图如下:

5.png

图中 CallbackDetect.sys 中的钩子是我的检测模块注册的假钩子;bd0001.sys 中的钩子是百度卫士注册的钩子;其它是360注册的钩子。对象钩子的检测方法可以参考我前几天写的《ObCallback 回调钩子检测》。不过该文章中有些结构逆向得不太精确,感谢FlowerCode大牛的讨论和补充,两个关键结构精确描述如下:

typedef struct _CALLBACK_BODY {
	LIST_ENTRY                  CallbackList;
	OB_OPERATION                Operations;
	ULONG                       Active;
	OB_HANDLE                   Handle;
	POBJECT_TYPE                ObjectType;
	POB_PRE_OPERATION_CALLBACK  PreOperation;
	POB_POST_OPERATION_CALLBACK PostOperation;
	EX_RUNDOWN_REF              RundownProtection;
} CALLBACK_BODY, *PCALLBACK_BODY;

typedef struct _CALLBACK_NODE {
	USHORT         Version;
	USHORT         OperationRegistrationCount;
	PVOID          RegistrationContext;
	UNICODE_STRING Altitude;
	CALLBACK_BODY  Entries[1];
} CALLBACK_NODE, *PCALLBACK_NODE;

评论:

viperdip
2022-05-29 05:29
я гадюка. я жив в україні в маріополі зараз живу в польщі. де знайти роботу??? гадюка
buy tadalis
2022-05-01 23:13
tadalafil daily online https://cialisedot.com/
TalAmidajzov
2022-04-19 17:00
tadalafil daily online https://cialisicp.com/
buy cialis
2022-04-13 17:30
https://cialisedot.com/ cheapest tadalafil cost
buy cialis online
2022-04-07 23:11
prescription tadalafil online https://cialisicp.com/
Leena2010
2022-04-03 13:13
http://365qyfw.com/home.php?mod=space&uid=38764
buy tadalis
2022-03-30 06:32
cialis at canadian pharmacy https://cialisedot.com/
Foetflnc
2022-03-29 15:42
https://extratadalafill.com/ generic cialis tadalafil
futbolki
2021-12-17 21:23
Лучшие футболки тут:
https://diigo.com/0mtsgx
https://www.pinterest.ru/pin/620511654918282759/
https://pr-cy.ru/vsemfutbolki.ru/
https://www.pinterest.ru/pin/620511654918282773/
https://seosanin.blogspot.com/2021/12/80.html
https://www.tumblr.com/blog/wildwebtop
https://www.pinterest.ru/pin/620511654918282780/
https://www.pinterest.ru/pin/620511654918282766/
https://www.primorsk.top/
https://www.pinterest.ru/pin/620511654918282777/
https://www.pinterest.ru/pin/620511654918282787/
https://twitter.com/dmitrymarihin/status/1471814227820220418
https://www.cy-pr.com/a/vsemfutbolki.ru
http://www.pearltrees.com/seosanin
https://digg.com/news/link/futbolke-po-skidke-80-KkgePr9yjQ
https://www.pinterest.ru/pin/620511654918282778/
https://flipboard.com/@3qnk443/-sl4thvtpy
https://www.pinterest.ru/pin/620511654918282760/
https://papaly.com/alexandersanin
https://www.liveinternet.ru/users/seosanin/post489014098/
https://www.pinterest.ru/pin/620511654918282774/
https://dribbble.com/seosanin/about
https://www.pinterest.ru/pin/620511654918282761/
arendatral
2021-11-29 17:47
Аренда эвакуатора в Москве и области
https://www.google.com.do/url?q=https://dcs-rent.ru/arenda-ekskavatora
https://www.google.gf/url?q=https://dcs-rent.ru/arenda-trala
https://www.google.cz/url?q=https://dcs-rent.ru/arenda-trala
https://www.google.ht/url?q=https://dcs-rent.ru/arenda-trala
https://www.google.dz/url?q=https://dcs-rent.ru/arenda-ekskavatora-pogruzchika
https://www.google.co.jp/url?q=https://dcs-rent.ru/arenda-manipulyatora
https://www.google.co.uz/url?q=https://dcs-rent.ru/arenda-samosvala
https://images.google.co.ve/url?q=https://dcs-rent.ru/arenda-ekskavatora-pogruzchika
https://www.google.ru/url?q=https://dcs-rent.ru/arenda-manipulyatora
https://www.google.com.ng/url?q=https://dcs-rent.ru/arenda-manipulyatora
https://www.google.com.kh/url?q=https://dcs-rent.ru/arenda-samosvala
https://www.google.com.ni/url?q=https://dcs-rent.ru/arenda-ekskavatora-pogruzchika
https://www.google.co.ke/url?q=https://dcs-rent.ru/arenda-samosvala
https://www.google.st/url?q=https://dcs-rent.ru/arenda-ekskavatora-pogruzchika
https://www.google.mu/url?q=https://dcs-rent.ru/arenda-ekskavatora-pogruzchika
https://www.google.co.jp/url?q=https://dcs-rent.ru/arenda-ekskavatora-pogruzchika
https://www.google.fm/url?q=https://dcs-rent.ru/arenda-trala
https://www.google.at/url?q=https://dcs-rent.ru/arenda-ekskavatora-pogruzchika
https://www.google.ae/url?q=https://dcs-rent.ru/arenda-ekskavatora
https://www.google.lt/url?q=https://dcs-rent.ru/arenda-trala
https://www.google.ru/url?q=https://dcs-rent.ru/arenda-trala
https://www.google.ee/url?q=https://dcs-rent.ru/arenda-manipulyatora
https://www.google.com.cy/url?q=https://dcs-rent.ru/arenda-ekskavatora
https://www.google.com.kh/url?q=https://dcs-rent.ru/arenda-ekskavatora-pogruzchika
https://www.google.sm/url?q=https://dcs-rent.ru/arenda-ekskavatora-pogruzchika
https://www.google.ge/url?q=https://dcs-rent.ru/arenda-ekskavatora-pogruzchika
https://www.google.co.kr/url?q=https://dcs-rent.ru/arenda-ekskavatora-pogruzchika
https://www.google.bg/url?q=https://dcs-rent.ru/arenda-trala
https://images.google.fi/url?q=https://dcs-rent.ru/arenda-manipulyatora
https://www.google.sc/url?q=https://dcs-rent.ru/arenda-manipulyatora
https://www.google.com.tj/url?q=https://dcs-rent.ru/arenda-samosvala
https://www.google.cat/url?q=https://dcs-rent.ru/arenda-manipulyatora
https://www.google.bs/url?q=https://dcs-rent.ru/arenda-ekskavatora-pogruzchika
https://www.google.cn/url?q=https://dcs-rent.ru/arenda-samosvala
https://www.google.md/url?q=https://dcs-rent.ru/arenda-ekskavatora-pogruzchika
https://www.google.us/url?q=https://dcs-rent.ru/arenda-manipulyatora
https://www.google.al/url?q=https://dcs-rent.ru/arenda-trala
https://www.google.hn/url?q=https://dcs-rent.ru/arenda-manipulyatora
https://www.google.co.uz/url?q=https://dcs-rent.ru/arenda-ekskavatora
https://www.google.hn/url?q=https://dcs-rent.ru/arenda-trala
https://www.google.ws/url?q=https://dcs-rent.ru/arenda-ekskavatora-pogruzchika
https://www.google.com.br/url?q=https://dcs-rent.ru/arenda-samosvala
https://www.google.ml/url?q=https://dcs-rent.ru/arenda-samosvala
https://www.google.co.zm/url?q=https://dcs-rent.ru/arenda-trala
https://www.google.co.ug/url?q=https://dcs-rent.ru/arenda-ekskavatora
https://www.google.ad/url?q=https://dcs-rent.ru/arenda-trala
https://www.google.nr/url?q=https://dcs-rent.ru/arenda-trala
https://www.google.co.ug/url?q=https://dcs-rent.ru/arenda-ekskavatora-pogruzchika
https://www.google.es/url?q=https://dcs-rent.ru/arenda-manipulyatora
https://www.google.rs/url?q=https://dcs-rent.ru/arenda-ekskavatora



СУпер цены на аренду
Iyoknoca
2021-02-22 12:21
3ff231 viagra cialis douleurs



http://viagrayqdd.com/
Boidknoca
2021-02-22 11:06
be0031 try it viagra pfizer online



https://via1buynow.com/ prezzo viagra 100 m



http://viagener2020.com/ click now generic pack viagra



https://viagiowow.com/
Saraknoca
2021-02-22 10:20
238931 dangers of viagra online



https://viatrustedonline.com/ try it cheap 100mg viagra



http://vigraweuy.com/
Amineknoca
2021-02-22 10:06
972931 best writing service coupons



https://tabserectilecheap.com/
Oaksknoca
2021-02-22 09:36
244831 london viagra wholesale



https://viatrustedonline.com/ where to get viagra online



http://vigraweuy.com/

发表评论:

Powered by emlog