看流星社区

 找回密码
 注册账号
查看: 3494|回复: 1

免疫r3驱动通信api被hook

[复制链接]

该用户从未签到

发表于 2013-3-26 09:00:40 | 显示全部楼层 |阅读模式
有anti,hook才会进步. by the.night

首先CreateServiceA/W
这个API想不被挂钩.比较麻烦.
因为这是个很复杂的封装api.
安装驱动本身涉及到注册表操作以及安装服务等操作.(od跳进去看一下就知道了)
要想封装起来.相对麻烦.不怕麻烦可以自己扫函数CRC.
或者get advapi32.dll handle, getprocaddr 跳过函数头调用
===========
但上面两种方法,都是个死磕的方法,
CRC的话,就陷入CRC的pass和anti的话题.
跳过函数头也不靠谱.一个很复杂的封装.很多地方都可以深层去hook.
===========
但是很重要的一点是.驱动通信.
一般写驱动都不会直接在驱动入口函数就把功能执行了,而是给一个驱动通信去操作
所以其实驱动扒走了就扒走了.并不重要.


这就衍生3种防御方法.
1.是做一个通信加密.
即通信传入数据做一个加密处理.到驱动内再解开.
还可以在加上通信key去解.

2.反校验发起通信的进程.
这里做一个小科普.驱动入口函数是发生在pid=4的那个system进程里
而驱动通信IRP是发生调用驱动通信的进程里.
SO.进入驱动后线程里有很多信息可以查的.

3.把驱动通信封装到Zw函数.
一二两条.大家自己扩展.
简单说说第3条。
因为Zw函数是可以直接用int 2e中断进入内核的。
只要获得 index就可以保证在r3下不被HOOK.

================

我们看看这两个函数
DeviceIoControl
ZwDeviceIoControlFile

BOOL DeviceIoControl(
  HANDLE hDevice,                        ebp+8
  DWORD dwIoControlCode,                +c
  LPVOID lpInBuffer,                +10
  DWORD nInBufferSize,                +14
  LPVOID lpOutBuffer,                +18
  DWORD nOutBufferSize,                +1c
  LPDWORD lpBytesReturned,        +20
  LPOVERLAPPED lpOverlapped        +24
);

NTSTATUS ZwDeviceIoControlFile(
  _In_       HANDLE FileHandle,
  _In_opt_   HANDLE Event,
  _In_opt_   PIO_APC_ROUTINE ApcRoutine,
  _In_opt_   PVOID ApcContext,
  _Out_      PIO_STATUS_BLOCK IoStatusBlock,--------& typedef struct _IO_STATUS_BLOCK
  _In_       ULONG IoControlCode,
  _In_opt_   PVOID InputBuffer,
  _In_       ULONG InputBufferLength,
  _Out_opt_  PVOID OutputBuffer,
  _In_       ULONG OutputBufferLength
);

然后用OD步过跟一下.

push ebp+1c
push ebp+18
push ebp+14
push ebp+10
push ebp+c
push & ebp-024  //0x12f654  &typedef struct _IO_STATUS_BLOCK
push 0------------这3个.简易的通信都是0
push 0
push 0
push ebp+8
call ZwDeviceIoControlFile
=====================================
以上是OD跟的情况。
FileHandle 传入指针 传入长度 传出指针 传出长度 通信code 都能直接在ZwDeviceIoControlFile的参数找到

  _In_opt_   HANDLE Event,
  _In_opt_   PIO_APC_ROUTINE ApcRoutine,
  _In_opt_   PVOID ApcContext,
这3个,在简易的通信里,都是NULL.

唯独  _Out_      PIO_STATUS_BLOCK IoStatusBlock
这东西,并不是DeviceIoControl的 lpOverlapped参数。

========================
_IO_STATUS_BLOCK 结构定义如下.8字节.

typedef struct _IO_STATUS_BLOCK
{  
NTSTATUS  Status; //32位的无符号长整型
ULONG  Information;}   //如果驱动通信成功,不带信息,它最后会被赋值给 lpOverlapped
==============

再来看返回值.
cmp eax,0x103
je 7C801730
cmp eax,ebx  ebx=0
jl 7C801752----------------- =0成功.但是
mov eax,dword ptr [ebp+0x20]
mov ecx,dword ptr [ebp-0x20] //0x12f658
mov dword ptr [eax],ecx

NTSTATUS是一个有符号 的长整数。并且分为四个域。最高2位Sev域
00 成功(Success) //成功
01 信息(Informational)//成功带信息   
10 警告(Warning)
11 错误(Error)

我们平常自己的简易驱动可以直接判断=0成功即可。
=====================

最后总结ZwDeviceIoControlFile的调用

NTSTATUS ZwDeviceIoControlFile(
  _In_       HANDLE FileHandle,------------------------CreateFile获得的句柄
  _In_opt_   HANDLE Event,-------------------------0
  _In_opt_   PIO_APC_ROUTINE ApcRoutine,--------0
  _In_opt_   PVOID ApcContext,-----------------------0
  _Out_      PIO_STATUS_BLOCK IoStatusBlock,--------& struct _IO_STATUS_BLOCK
  _In_       ULONG IoControlCode,--------------------IoControlCode
  _In_opt_   PVOID InputBuffer,-----------------------传入指针
  _In_       ULONG InputBufferLength,-----------------传入长度
  _Out_opt_  PVOID OutputBuffer,------------------传出指针
  _In_       ULONG OutputBufferLength--------------传出长度
);

_IO_STATUS_BLOCK 用一个8字节的空白内存代替.
然后它的后4字节是 实际写出长度.

返回值:
返回0 为调用成功 (或最高16位不=C0)

该用户从未签到

发表于 2022-3-12 00:12:17 | 显示全部楼层










{2022年3月02日} 三个月之内,爆发人类最大金融崩盘!{假摔}

{2022卝年3月02曰} 三个月之内,bào发人类最大金融崩卝盘!{假摔}



作者:  叮铃铃
时间 :  2022卝年3月02曰 17:12:03    星期三   农历壬寅虎年正月三十
        壬寅年壬寅月甲寅曰
        上证综指 3484.19点   恒指 22343.92点   道指 33294.95点



本人 邮.箱 :
88油箱c o m  用户名  bb2266     111油箱c o m   用户名  iii520
126  用户名: mmdd2016     s i n a  c o m   用户名:  mmdd2016
126  用户名: iii217       s i n a   c n    用户名:  iii217


突然的,全球金融 雪 崩 溃 坝 、彻 底 崩 溃 ;
没有什么,“谁也没想到”、“友邦惊诧”黑天鹅白天鹅哥斯拉撞冰山;
一切都是,蓄谋已久的,精心策划 --- 惊天魔盗团。zéi喊捉zéi。



1  三个月之内,即,2022卝年3月、4月、5月,将会突然bào发,人类最
   大金融海啸,全球股市、金融市场、大宗商品市场连续跌亭大崩卝盘。
   {大盘连续或稍稍间断30/40多个跌亭板 }
   太久的忍耐时机筹谋,财狼们终于要动手了;
   虎虎虎。亦喜亦忧。大吉大凶。
   静里忽然动干戈。
   缠中说禅16年之前预卝言的,2019毁miè性下跌。{稍有误差}
   已故“周期天王”周金涛的,“2018年到2019年是康波周期的万劫
   不复之年”。  ----  2016年3月16曰:《人生就是一场康波》
   道琼斯人类最长牛市,憋了13年的一泡shǐ,总算找到了,公共厕所。
   世卝界卝末卝曰,人造世卝界卝末卝曰。



2  全球连续跌停大崩卝盘的见底点位:
   上证综指160点左右,见底{166④的十分之一}。
   以今天上正宗指3484.19计算,大约“瞬间”跌去22倍。
   也可能,上证综指95.79点,见底。
   最震撼的推卝倒重来,竟然只是,洗盘 !总冲顶之前的总洗盘 !!


    道琼斯,跌去52倍,6④0点见底 --- {6④40.О8点的十分之一};
      33294.95点 --→ 6④0点 ;{跌去⑨8%,竟然只是,假摔}
    恒生指数跌至1000点见底。
      22343.92点 ---→ 1000点 ;
    也可能,恒生指数300至500点见底。   
    仙股满天飞。

    14个跌停板之后,停顿、反弹,之后,还有14个跌停板;
    14个跌停板之后,停顿、反弹,之后,还有14个跌停板。

最大崩卝盘过程之中,上证综指1000点,800至1200之间,会有反弹,
那是,下跌中继的,诱多。


2022卝年3月、4月、5月的人类最大崩卝盘,暗黑帝卝囯庄家也可能分三波、
四波完成,以道琼斯为例,
第一波:36000 --- 10000 --- 13000
第二波:13000 --- 3000  --- 4000
第三波:4000 ---  1000见底
见底之后,上涨过程中,还会假崩卝盘,一再假崩卝盘,
惊弓之鸟的散户,怎样的,屁niào横liú哭爹喊酿硝卝酸卝甘卝油。
要多凶卝残有多凶卝残,尽情蹂卝躏摧卝残散户小姑酿的,心灵与肉卝体。
对赌押宝你sǐ我活,发善心放过散租,庄家就要,赔钱,倾家荡产。


谜底,让你吃惊的合不拢嘴。这就对了。
我强调,我重申,股价跌去97% ,跌去97%,不是庄稼们 发 疯 了,
而是,他们,早已筹谋的,既定共同战略布jú。
不把散户完全吓的 屁 滚 niào liú,如何能达到,彻 底 洗 盘 的目的 ??
跌去九成,就像1929,对老股卝民来说,已经xí以为常;中卝囯股市,
曾经跌去90%的股票,比比皆是。
跌去九成,已经,无fǎ充分刺卝激震撼、撕 裂 老股卝民、私募的神 经
系 统 。

五重斩,五福临门:
5178 ÷ 2 ÷ 2 ÷ 2 ÷ 2 ÷ 2 = 162点
为何,大盘160点左右见底??
本人在:
{2021卝年11月20曰}论证2022上半年全球大崩卝盘的见底点位
{2021卝年5月30曰}论证2021下半年全球大崩卝盘的见底点位
{2020卝年12月05曰}论证2021上半年全球大崩卝盘的见底点位
{2020卝年5月27曰}论证2020下半年全球大崩卝盘的见底点位
{2019年11月30曰}论证2020上半年全球大崩卝盘的见底点位
{2019年5月19曰}论证2019下半年全球大崩卝盘的见底点位
【2016年3月11曰】四论,全球塴盘的见底点位。
【2015年9月26曰】三论,全球塴盘的见底点位。
……  ……
几篇文章之中有模糊的猜测论证,网上可以搜到。

2022卝年3月、4月、5月,最冷忽然之间,天昏地暗,天崩地裂。
朕给出,令庸俗大众惊诧疑惑、无fǎ接受的“庄稼底牌”,是无价之
宝。
真卝理是电,不以任何人,任何泉卝利、任何所谓“大多数”的,意志为
转移。

猝不及防,永远出乎散租意料,“万万没想到”,使之“猜不透”、团
团转、热锅蚂蚁;驱赶围猎,永远使散户沉浸于tān婪恐惧烈火寒冰,追
涨shā跌动物本能”无fǎ自拔;
是庄稼们百战百胜吃香喝辣的,看家fǎ宝。

见底点位{上证宗指160点或者95.79点},是全球庄稼们{xié.饿.金融精英}
蓄谋已久的共识,不以任何人意志为转移。
即,在见底之前,出抬任何“救卝市利好”都是徒劳无益瞎折腾。
当见底之时,即便不出抬任何救卝市措施,股市也会自动“大反转”腾空
而起。

中外庄稼qīn蜜配合,完成最后的惨烈洗盘。
而直接zá盘、直接做空,导致中卝囯股市xuè崩的,是中卝囯庄稼 ---- 中卝囯
财富精英之中的精英 --- 资本大鳄。
每一只股票背后,都有庄稼暗中cāo纵走势。
每一个囯卝家的股票市场,金融市场,都有庄稼总司令暗中主导一切。
黑老大、总指挥,是 黯 黑 帝 囯。

索罗斯的,类兽卝性、反射理论,动态远均衡,大起大落理论。
缠中说禅的,跌停板洗盘fǎ。



3  见底时间:2022卝年6卝月至2022卝年8月全球股市同步见底。
   
---- 见底以上证综指160{95.79}}点为准 ,见底时间仅为cū略推断。
---- 好深一个坑;假摔,象 真 的 一 样 。
---- 来去匆匆,夏曰的大bào雨 ;
     三个月、至多四、五个月之内,完成最后的 溃 坝 式 终极洗盘。
---- 最疯狂的连续跌停,然后,迅速连续涨停,拉起。荡秋千。
     庄家绝不敢在底部卝长期停留,因为股价太便宜,远低于,庄家
     的长期平均持仓成本。

连序跌亭洗盘过程之中,会有反弹诱多,会有横盘迷卝魂阵,会有底部
构筑 W底的把戏 。
并没有什么,情绪彻底崩溃,破罐破摔,歇斯底里不顾一切 ……
---- 演戏给你看!
     一切都在,沉着冷静,聪明透顶庄稼们的,精确掌控之中。

本人对见底点位、见底时间的推演预卝测,可能不那么准确。这也,不
是什么大问题。
最关键,地球崩卝盘的“性质”,是“挖坑”行情,是黎明之前最后最
黑卝暗最凶狠的一shā。这一点,本人绝对不会错,这就够了,足够了。
但愿本剂疫卝苗,不会失效。
底部巨量,惊天的底部巨量,人类历卝史最高成交量,全民目击的狐狸
尾巴,谁也无fǎ否认。
这就是,庄稼xī筹洗盘,mǎi入股票的,铁证。
人类历卝史最高成交量,全民目击的狐狸尾巴,这就是,庄稼xī筹洗盘,
mǎi入股票的,铁证。

彻底震出2015年5178,bào表两万亿频现的,散户套牢盘;
彻底震出2019年春季躁动3288.45点,挤bào服卝务器,汹涌万亿成交频
现的,散户套牢盘;
彻底震出,2020春季,连续11天万亿成交,3127.17的,散户套牢盘;
彻底震出,2020夏季,连续17天万亿成交,3458.79的,散户套牢盘;
彻底震出,2021秋季,连续49天万亿成交,3731.69的,散户套牢盘;
彻底震出,2021冬季,连续46天万亿成交,3731.69的,散户套牢盘。

如果,2019春季井烹躁动3000点挤bào券商服卝务器是总出货,会一去不回;
如果,2020春季的3000点连续11天万亿咆哮是总出货,会一去不回;
如果,2020夏季的3300点连续17天万亿咆哮是总出货,会一去不回;
如果,2021秋季的3700点连续49天万亿咆哮是总出货,会一去不回;
如果,2021冬季的3700点连续46天万亿咆哮是总出货,会一去不回;
那么,庄家的持仓成本是1000点还是500点?可不可能,赚到钱?
今天现在,上证综指的30年平均线是2800点,代卝表着,市场的平均持仓
成本。
1999年首只百元股票亿安科技,庄家,平均17.50元建仓,126.31元制卝造
大顶,真正平均出货价卝格,只有区区25元。
126.31元 ÷ 17.50元 = 7.22倍
即,庄家平均持仓成本翻了7.22倍做顶,才完成最终出货,赚到了,钱。













麻将馆,那个惷女人又输了。它可能归因于运气,或者迁怒于丈夫挣钱少,
孩子不听话。
它不知道,牌友的语言、手势;全自动麻将机;暗记,甚至,何时会突然
停电。…………一切都是事先精心布下的jú…………,其实,任何人,只要
坐下,结jú已然注定。…………周围的所谓堵客,更确切说应是演员,以凯
子钱为生的职业演员。
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

小黑屋|手机版|Archiver|看流星社区 |网站地图

GMT+8, 2024-4-25 11:43

Powered by Kanliuxing X3.4

© 2010-2019 kanliuxing.com

快速回复 返回顶部 返回列表