|
emmm 今天在玩某平台的时候,发现重启电脑后驱动会自动加载(并没有运行平台),我就发现这是一个很流氓的行为,因为你不知道他驱动在干些啥,于是决定简单逆向一下
用到的工具:IDA,PChunter,CE
首先定位驱动入口,将驱动dump出来,首先看一下入口
说实话IDA这个默认配色还是看得不太舒服,上CE看吧,后边的图除了反编译的图我都用ce
这个就舒服太多了,很明显可以看到入口被vm了
既然被vm了索性就不分析入口了
我们首先看看驱动干了啥吧 用ark工具也就是pchunter来看
创建了三个系统回调用来收集信息 分别是进程,线程,最后一个比较少见,跟图片有关,盲猜是截图或者是检测透视窗口的
创建了一个obj钩子 一般都是用来保护游戏,防止被第三方读写
我就只分析一个进程的吧,要具体分析太杂太累,只是简单带过几笔
首先上IDA
这就是有关进程的回调,如果一句一句看,得累死
我们简单看看具体框架就行
我们很明显发现两条绿色的线,点进去F5看看
很明显可以看到
if ( !KeGetCurrentIrql() )
{
if ( a3 )
{
就是这两个判断
在内核中,[tr]KeGetCurrentIrql()是[tr]返回当前的IRQL
[tr]
[tr]然后进行取反操作,也就是KeGetCurrentIrql()返回值为0时才往下执行。
再下来就是a3,a3为一个参数,这里应该是一个开关,而负责a3的应该是对战平台或者游戏,与驱动进行通讯修改a3的值
逆向思路:直接jmp,找到游戏或者平台通讯处,使其一直写入a3=0等等
一张一张图截图有点累,直接cv大法吧
if ( !KeGetCurrentIrql() )
{
if ( a3 )
{
Process = 0i64;
ProcessHandle = 0i64;
v11 = 0;
P = 0i64;
if ( PsLookupProcessByProcessId(a2, &Process) >= 0 )// 返回指向进程的EPROCESS结构的引用指针
{
if ( ObOpenObjectByPointer(Process, 0x200u, 0i64, 0, 0i64, 0, &ProcessHandle) >= 0 )// 返回对象的句柄
{
if ( ZwQueryInformationProcess( // 收集进程信息
ProcessHandle,
ProcessBasicInformation,
ProcessInformation,
0x30u,
&ReturnLength) >= 0 )
{
_mm_lfence();
一直到这里 下面
if ( (int)sub_FFFFF8028D19D748(a2, &P) >= 0 )
我们进入这个函数看看
__int64 __fastcall sub_FFFFF8028D19D748(void *a1, PVOID *a2)
{
NTSTATUS v3; // ebx
PVOID PoolWithTag; // rax
PEPROCESS Process; // [rsp+40h] [rbp-18h] BYREF
ULONG ProcessInformationLength; // [rsp+70h] [rbp+18h] BYREF
HANDLE ProcessHandle; // [rsp+78h] [rbp+20h] BYREF
v3 = PsLookupProcessByProcessId(a1, &Process);
if ( v3 >= 0 )
{
v3 = ObOpenObjectByPointer(Process, 0, 0i64, 0, 0i64, 0, &ProcessHandle);
if ( v3 >= 0 )
{
v3 = ZwQueryInformationProcess(ProcessHandle, ProcessImageFileName, 0i64, 0, &ProcessInformationLength);
if ( v3 == -1073741820 )
{
PoolWithTag = ExAllocatePoolWithTag(NonPagedPool, ProcessInformationLength, 0x66667061u);
*a2 = PoolWithTag;
if ( PoolWithTag )
{
v3 = ZwQueryInformationProcess(
ProcessHandle,
ProcessImageFileName,
PoolWithTag,
ProcessInformationLength,
&ProcessInformationLength);
if ( v3 < 0 )
{
ExFreePoolWithTag(*a2, 0x66667061u);
*a2 = 0i64;
}
}
}
ZwClose(ProcessHandle);
}
ObfDereferenceObject(Process);
}
return (unsigned int)v3;
}
没什么好看的,主要是看一下
if ( v3 == -1073741820 )
v3是ZwQueryInformationProcess的返回值
在ZwQueryInformationProcess的返回值中-1073741820也就是 STATUS_INFO_LENGTH_MISMATCH 输入参数长度不匹配
也就是说这个函数是检测ZwQueryInformationProcess状态的
下边到分析完感觉也没有什么地方要单独拎出来将 直接cv分析结果把
其他几个地方就不分析了,知道了他的执行过程,逆向就很简单了,有很多可以过掉这个的方法
具体也不多说了,想分析的朋友可以自己去分析一下,这只是驱动层,他平台或者游戏本身也有检测的
那个比较简单,挂钩一些重要的函数即可。
最后祝大家身体健康,疫情期间勤带口罩少外出,也希望疫情早点结束
|
评分
-
参与人数 51 | 威望 +1 |
HB +67 |
THX +28 |
收起
理由
|
动动
| |
|
+ 1 |
|
夏日暖阳
| |
|
+ 1 |
|
柠檬丶螃蟹
| |
|
+ 1 |
|
消逝的过去
| |
|
+ 1 |
|
白丁老师
| |
+ 1 |
|
[吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守! |
一生最爱白开水
| |
+ 1 |
|
|
爱编
| |
+ 5 |
|
[吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意! |
花盗睡鼠
| |
+ 2 |
+ 1 |
[吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守! |
stdbot
| |
+ 1 |
|
|
虚心学习
| |
|
+ 1 |
|
Cerolluo
| |
+ 1 |
|
[吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守! |
459121520
| |
+ 1 |
|
|
WolfKing
| |
|
+ 1 |
|
尘埃阿
| |
+ 1 |
|
[吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩! |
后学真
| |
+ 1 |
|
[吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩! |
丰明泽
| |
|
+ 1 |
|
yexing
| |
|
+ 1 |
|
爱汇编爱汇编
| |
+ 1 |
|
[吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩! |
图神魄
| |
+ 1 |
|
[吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少! |
zxjzzh
| |
|
+ 1 |
[吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守! |
风里去
| |
+ 1 |
|
[吾爱汇编论坛52HB.COM]-学逆向防逆向,知进攻懂防守! |
车太震
| |
+ 1 |
|
[吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩! |
Wayne
| |
|
+ 1 |
[吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少! |
zyyujq
| |
|
+ 1 |
|
zg2600
| |
+ 1 |
|
|
xgbnapsua
| |
+ 2 |
|
|
liugu0hai
| |
+ 1 |
|
[吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意! |
小菜虫
| |
+ 1 |
|
[吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意! |
thunderiser
| |
|
+ 1 |
|
我是好人
| |
+ 1 |
|
[吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守! |
新买的车
| |
+ 1 |
|
|
我是大新手
| |
+ 2 |
+ 1 |
|
baobeitom
| |
|
+ 1 |
|
涡流忍者
| |
+ 1 |
|
【违规行为】请查阅http://www.52hb.com/thread-116-1-1.html |
云心飞雨
| |
|
+ 1 |
|
sihh
| |
+ 1 |
|
[吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守! |
红豆
| |
+ 1 |
|
|
ldljlzw
| |
|
+ 1 |
|
努力实现自由
| |
+ 1 |
+ 1 |
|
吾爱笑
| |
+ 1 |
|
[吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意! |
zwj00544
| |
+ 1 |
+ 1 |
|
孟宝桦
| |
+ 1 |
+ 1 |
|
playboy
| |
|
+ 1 |
|
Hackers
| |
+ 2 |
+ 1 |
[吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩! |
temp
| |
+ 1 |
+ 1 |
|
weiran324
| |
+ 1 |
+ 1 |
[吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩! |
jun6577
| |
+ 2 |
+ 1 |
|
三月十六
| |
+ 1 |
|
|
莣孒嬡沵芣蓜
| |
+ 6 |
+ 1 |
[吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意! |
逆君
| |
|
+ 1 |
[吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守! |
查看全部评分
|