首页
社区
课程
招聘
[求助]逆向一个驱动时将12强制转化成List_Entry是什么意思?
发表于: 2012-11-7 17:36 4297

[求助]逆向一个驱动时将12强制转化成List_Entry是什么意思?

2012-11-7 17:36
4297
各位大牛

小弟在逆向金山卫士的BC.sys的时候遇到个问题,

 L_Entry = ExfInterlockedRemoveHeadList(&List_D0, &SpinLock_D0);
    if ( !L_Entry )
      break;
    v3 = (int)((char *)&L_Entry[-1] - 4);
    if ( L_Entry != (struct _LIST_ENTRY *)12 )
{
……
}


就是将12强制转化成LIST_ENTRY结构体是什么意思

没有搞懂

求助大家帮忙啊

等逆完了发论坛上

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 862
活跃值: (329)
能力值: ( LV9,RANK:165 )
在线值:
发帖
回帖
粉丝
2
楼主对照汇编代码看看吧
2012-11-7 19:11
0
雪    币: 76
活跃值: (114)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
请看上下文~~~
2012-11-7 19:17
0
雪    币: 101
活跃值: (82)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
4
楼上的两位说的都对,我对着汇编看了看发现了点什么

mov     ecx, [ebp+L_Entry]
sub     ecx, 0Ch
mov     [ebp+var_4FC], ecx
jz      loc_13ED7


或许这个的意思就是
if(L_Entry的首元素为0xc)   则跳转到13ED7,否则接着执行

看来有时候也不能完全相信F5

还是要对着汇编分析
2012-11-7 20:16
0
游客
登录 | 注册 方可回帖
返回
//