首页
社区
课程
招聘
[求助]以下这段代码的功能,语言描述下
发表于: 2011-5-2 11:41 6364

[求助]以下这段代码的功能,语言描述下

2011-5-2 11:41
6364

几年不整汇编,完全遗忘,重新拿起来看下,不知道以下代码的具体含义,只知道大概意思是每4字节做操作,但是具体操作方式不清楚。请帮忙解释下

00415659  |> /83BE 2C000200>/cmp     dword ptr [esi+2002C], 4
00415660  |. |75 1F         |jnz     short 00415681
00415662  |. |8B86 28000200 |mov     eax, dword ptr [esi+20028]
00415668  |. |D1E8          |shr     eax, 1
0041566A  |. |69C0 BF070000 |imul    eax, eax, 7BF
00415670  |. |05 FD030000   |add     eax, 3FD
00415675  |. |899E 2C000200 |mov     dword ptr [esi+2002C], ebx
0041567B  |. |8986 28000200 |mov     dword ptr [esi+20028], eax
00415681  |> |8B86 2C000200 |mov     eax, dword ptr [esi+2002C]
00415687  |. |8A9430 280002>|mov     dl, byte ptr [eax+esi+20028]
0041568E  |. |30540C 10     |xor     byte ptr [esp+ecx+10], dl
00415692  |. |83C0 01       |add     eax, 1
00415695  |. |83C1 01       |add     ecx, 1
00415698  |. |3BCF          |cmp     ecx, edi
0041569A  |. |8986 2C000200 |mov     dword ptr [esi+2002C], eax
004156A0  |.^\75 B7         \jnz     short 00415659
004156A2  |>  8B4E 0C       mov     ecx, dword ptr [esi+C]


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 7
支持
分享
最新回复 (4)
雪    币: 485
活跃值: (78)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
2
if(*(esi+200ch) == 4)
{
   eax = *(esi+20028h);
   eax = eax / 2;
   eax = eax * 7bfh;
   eax += 3fdh;
   *(esi+2002ch) = ebx;
   *(esi+20028h) = eax;
}
else {
        eax = *(esi + 2002h);
        dl =*(eax+esi+20028h); //这里取一个字节
        dl ^= *(esp+ecx+10h);//这里异或一个字节
        eax++;
        ecx++;
   if( ecx == edi)
   {
                ecx = *(esi+ch);
     
   } esle {
                ecx++;
                *(esi+2002ch) = eax;               
   }   
}

2011-5-2 12:56
0
雪    币: 7523
活跃值: (4765)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
DWORD dEsi20028,dEsi2002c=0,dEbx;
byte bEsp10[edi]={..};//定义初始化3个变量,一个数组
for(int i=0;i<edi;i++)
{
  if(esi2002c==4)
  {dEsi20028>>1;
  dEsi20028*=0x7bf;
  dEsi20028+=0x3fd;
  dEsi2002c=dEbx;  
  }
  byte bDl=(dEsi20028+dEsi2002c)%0x100;
  bEsp10[i]=bEsp10[i]^bDl;
  dEsi2002c=dEsi20028;
}
2011-5-2 13:05
0
雪    币: 236
活跃值: (35)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
谢谢以上朋友的回复,努力学习分析ing
2011-5-3 20:04
0
雪    币: 108
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
好强啊。。。我怎么看不出来呢
2011-5-6 16:17
0
游客
登录 | 注册 方可回帖
返回
//