首页
社区
课程
招聘
[已解决] 【悬赏】关于IDA的f5识别出来的代码问题 2.00雪花
发表于: 2017-4-10 22:34 2005

[已解决] 【悬赏】关于IDA的f5识别出来的代码问题 2.00雪花

2017-4-10 22:34
2005
 各位大佬,问个简单问题。我用IDA的f5功能后,其中有一行代码不太懂:

 if ( (unsigned __int8)((*(_DWORD *)(a2 - 8) + 1 < 0) ^ __OFADD__(1, *(_DWORD *)(a2 - 8))) | (*(_DWORD *)(a2 - 8) == -1) )

其中OFADD是啥意思???

我在逆向熊猫烧香病毒,初学者,这是cpystringstack的逆向代码。 



[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 440
活跃值: (1133)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
2
还不如直接发反汇编代码
2017-4-11 12:06
0
雪    币: 375
活跃值: (201)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
请参考IDA目录下的  \plugins\defs.h
//  overflow  flag  of  addition  (x+y)
template&lt;class  T,  class  U&gt;  int8  __OFADD__(T  x,  U  y)
{
    if  (  sizeof(T)  &lt;  sizeof(U)  )
    {
        U  x2  =  x;
        int8  sx  =  __SETS__(x2);
        return  ((1  ^  sx)  ^  __SETS__(y))  &amp;  (sx  ^  __SETS__(x2+y));
    }
    else
    {
        T  y2  =  y;
        int8  sx  =  __SETS__(x);
        return  ((1  ^  sx)  ^  __SETS__(y2))  &amp;  (sx  ^  __SETS__(x+y2));
    }
}
2017-4-11 13:42
0
游客
登录 | 注册 方可回帖
返回
//