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

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

2017-7-26 17:45
2826

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是字符串的长度,谢谢


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

收藏
免费 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
活跃值: (329)
能力值: ( 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
游客
登录 | 注册 方可回帖
返回
//