首页
社区
课程
招聘
[原创]牢记VC程序内的三大检测函数
发表于: 2020-11-1 16:02 9804

[原创]牢记VC程序内的三大检测函数

2020-11-1 16:02
9804

<br/>

  VC编译的程序中,时常会出现一些常见的检测函数,为了节省逆向的时间,我们有必要记住这些检测函数的特征,今天我就记录一下VC程序的三大检测函数。
<br/>
  如果是在IDA中分析VC程序, Shift+F5 加入VC的签名搞定,但是在OD中就需要经验了。

<br/>

  加入签名后,就可以看到函数名了。


<br/>

  看名称就知道知道这是一个检测堆栈相关的函数,它的主要特征:
  (1)call 上面一行代码是lea edx, XXXX。
  (2)函数内部存在代码cmp xxx,0xCCCCCCCC

<br/>

  安全cookie 以前因为栈溢出的问题是在太严重,所以VS引进了Security_Cookie,主要用来防止栈溢出的。主要特征:

<br/>

  检测栈顶,同样也有外部和内部特征

 
 
 
 
 
.text:00463934                 push    eax
.text:00463935                 lea     edx, dword_463960
.text:0046393B                 call    j_@_RTC_CheckStackVars@8 ; 检测堆栈
.text:00463940                 pop     eax
 
// 内部
.text:004661E4                 mov     ecx, [ebx+4]
.text:004661E7                 mov     eax, [ebp+var_4]
.text:004661EA                 mov     edx, [ecx+edi]
.text:004661ED                 cmp     dword ptr [edx+eax-4], 0CCCCCCCCh
.text:004661F5                 jnz     short loc_466209
.text:004661F7                 mov     eax, [ecx+edi+4]
.text:004661FB                 add     eax, edx
.text:004661FD                 mov     edx, [ebp+var_4]
.text:00466200                 cmp     dword ptr [eax+edx], 0CCCCCCCCh
.text:00466207                 jz      short loc_466219
.text:00463934                 push    eax
.text:00463935                 lea     edx, dword_463960
.text:0046393B                 call    j_@_RTC_CheckStackVars@8 ; 检测堆栈
.text:00463940                 pop     eax
 
// 内部
.text:004661E4                 mov     ecx, [ebx+4]
.text:004661E7                 mov     eax, [ebp+var_4]
.text:004661EA                 mov     edx, [ecx+edi]
.text:004661ED                 cmp     dword ptr [edx+eax-4], 0CCCCCCCCh
.text:004661F5                 jnz     short loc_466209

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 2
支持
分享
最新回复 (4)
雪    币: 2089
活跃值: (3933)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
跟Linux GCC自动加的stack check差不多
2020-11-2 11:10
0
雪    币: 83
活跃值: (1087)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
3
666
2020-11-3 01:46
0
雪    币: 4014
活跃值: (5665)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
汇编指令bnd是啥作用
2021-11-17 19:03
0
雪    币: 1282
活跃值: (4555)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
5
检测堆空间
安全cookie(Canary)
检测ESP
2021-11-18 16:39
0
游客
登录 | 注册 方可回帖
返回
//