首页
社区
课程
招聘
[旧帖] [求助]大家帮我分析下这段算法 0.00雪花
发表于: 2011-12-31 00:34 1320

[旧帖] [求助]大家帮我分析下这段算法 0.00雪花

2011-12-31 00:34
1320
首先 预祝大家新年快乐

00403468  |. /EB 04         jmp short G132.0040346E
0040346A  |> |84DB          test bl,bl
0040346C  |. |74 2D         je short G132.0040349B
0040346E  |> \80EB 30       /sub bl,0x30                             ;  Default case of switch 00403443
00403471  |.  80FB 09       |cmp bl,0x9
00403474  |.  77 25         |ja short G132.0040349B
00403476  |.  39F8          |cmp eax,edi
00403478  |.  77 21         |ja short G132.0040349B
0040347A  |.  8D0480        |lea eax,dword ptr ds:[eax+eax*4]
0040347D  |.  01C0          |add eax,eax
0040347F  |.  01D8          |add eax,ebx
00403481  |.  8A1E          |mov bl,byte ptr ds:[esi]
00403483  |.  46            |inc esi
00403484  |.  84DB          |test bl,bl
00403486  |.^ 75 E6         \jnz short G132.0040346E

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

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 1149
活跃值: (888)
能力值: ( LV13,RANK:260 )
在线值:
发帖
回帖
粉丝
2
edi: int totalLimit = ACONSTNUMBER;
esi-->: char arrayNum[CONSTARRAY] = {....};
eax: int total = XX;
int i = 0;

while(arrayNum[i]!='\0' && ((array[i] = arrayNum[i] - 0x30) <= 9))
{
   if(total > totalLimit  )
   {
        goto  Lable_0040349B;
   }

   total = 10 * total;
   total +=array[i];
   i++;
       
}

.....
.....
__Lable_0040349B:
.....
.....
木有下文...
2011-12-31 09:12
0
雪    币: 403
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
0040346E  |> \80EB 30       /sub bl,0x30                             ;  Default case of switch 00403443
00403471  |.  80FB 09       |cmp bl,0x9

ascii码减30h 不能大于9  也就是只能输入数字0~9

然后乘10  再加转换后的数字  也不知道说的对不对  
2011-12-31 09:43
0
雪    币: 101
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
非常谢谢  给我非常大的帮助  
其实我这软件是有是商业的  好像在这边不能发出的  不然我很原因和大家来分享
这软件的注册和算法非常有趣的
2012-1-5 00:13
0
游客
登录 | 注册 方可回帖
返回
//