首页
社区
课程
招聘
[求助]下面的汇编,如何翻译为c++
发表于: 2017-7-26 17:45 2794

[求助]下面的汇编,如何翻译为c++

2017-7-26 17:45
2794

0185AA34            xor ecx,ecx
0185AA41            push edi
0185AA42            movzx ebx,byte ptr ds:[eax]
0185AA45            mov edi,ecx
0185AA47            and edi,7F
0185AA4A            add edi,1
0185AA4D            imul edi,ebx
0185AA50            add ecx,edi
0185AA52            add eax,1
0185AA55            sub edx,1
0185AA58            jnz short 0185AA42
0185AA5A            pop edi


其中,eax是一个字符串,edx是字符串的长度,谢谢

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 30
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
EDI是什么
2017-7-26 18:01
0
雪    币: 30
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
void  crc(char*  p,  int  nLen)
{
       byte  bValue  =  0;
       for  (int  i  =  0;  i  <  nLen;  i++)
       {
               bValue  ^=  0x7F;
               bValue++;
               bValue  *=  p[i];
       }
}
2017-7-26 18:08
0
雪    币: 225
活跃值: (304)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4

解决了,人真是不能懒啊
       int  nChecksum  =  0;
       int  nTemp  =  0;

       nTemp  =  0;
       for  (  int  n  =  0  ;  n  <  strlen(szBuf)  ;  n++  )
       {        
               nTemp  =  nChecksum;
               nTemp  &=  0x7F;
               nTemp  +=  1;
               nTemp  *=  szBuf[n];
               nChecksum  +=  nTemp;
       }

2017-7-26 18:34
0
游客
登录 | 注册 方可回帖
返回
//