首页
论坛
课程
招聘
[求助]一个驱动的很神奇的加密算法
2018-8-7 17:32 5321

[求助]一个驱动的很神奇的加密算法

2018-8-7 17:32
5321
在做驱动的逆向,想获取驱动的 IOCTL,遇到了一个问题:
__int64 __fastcall sub_11450(__int64 a1, __int64 a2)
{
...
 v2 = a2;
  *(_DWORD *)(a2 + 48) = 0;
  *(_QWORD *)(a2 + 56) = 0i64;
  v3 = *(_QWORD *)(a2 + 184);
  v4 = *(_QWORD *)(a2 + 24); //(a2 + 24) = 这就是获取用户提交的驱动码
  v5 = *(_DWORD *)(v3 + 16);
  if ( *(_BYTE *)v3 == 14 )
  {
 switch ( *((_BYTE *)qword_11A20 + (unsigned int)(*(_DWORD *)(v3 + 24) + 2147475456)) ) //swith(qword_11A20 + 用户提交的驱动码 + 2147475456 ) 这究竟是什么玩意?
    {
      case 0xE:
        if ( v5 == 48 )
        {
            ......
        }
     break;
   case 0xF:
        if ( v5 == 48 )
        {
            ....
        }
    break;
       .....
      }
  }
...
}
正常情况下应该是像case: 0xC3502090这样直接有驱动码了,他这里加密过了
以及qword_11A20是这样的:
__int64 qword_11A20[12] =
{
  1302123038070936064i64,
  1302123046660870658i64,
  1302123055250805252i64,
  1302123063840739846i64,
  1302123111085380114i64,
  1302123072430674440i64,
  1302123081020609034i64,
  1302123111085380114i64,
  1302123089610543628i64,
  1302123098200478222i64,
  -3689349621033594352i64,
  -3689348814741910324i64
}; // weak
百思不得其解这究竟是什么玩意的加密算法

[2023春季班]《安卓高级研修班(网课)》月薪两万班招生中~

最后于 2018-8-7 17:34 被huojier编辑 ,原因:
收藏
点赞0
打赏
分享
最新回复 (4)
雪    币: 175
活跃值: 活跃值 (579)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
fatcateatrat 活跃值 2018-8-8 16:21
2
0
(unsigned int)(*(_DWORD *)(v3 + 24) + 2147475456)------这应该是qword_11A20[12]数组的偏移吧,假设为i
 
*((_BYTE *)qword_11A20+i)--------取第i个数值的最低位字节,然后去switch.好像是这样。
雪    币: 135
活跃值: 活跃值 (1132)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
huojier 活跃值 2018-8-8 18:16
3
0
pureman (unsigned int)(*(_DWORD *)(v3 + 24) + 2147475456)------这应该是qword_11A20[12]数组的偏移吧,假设为i *((_BYTE * ...
@pureman  
感谢回复,我已经用暴力破解的方式破出来了 思路是
__int64 shit = (__int64)(BYTE *)qword_11A20;
shit += 2147475456;
__int64 key = 14 - shit;
但是现在还有个问题
这是这段驱动的一段代码,我想用它去读CR3:

这是我的代码:

但是他返回的是这个:

这是什么原理、、、
最后于 2018-8-8 18:19 被huojier编辑 ,原因:
雪    币: 175
活跃值: 活跃值 (579)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
fatcateatrat 活跃值 2018-8-8 20:39
4
0
检查一下传入的数据cr可能有点问题
雪    币: 277
活跃值: 活跃值 (428)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
..._579212 活跃值 2021-4-13 22:07
5
0
厉害
游客
登录 | 注册 方可回帖
返回