首页
社区
课程
招聘
[旧帖] [求助]看破文一点问题不明白!!求解 0.00雪花
发表于: 2010-3-15 00:49 1271

[旧帖] [求助]看破文一点问题不明白!!求解 0.00雪花

2010-3-15 00:49
1271
004012A1   .  50            PUSH EAX
004012A2   .  33C0          XOR EAX,EAX
004012A4   .  33DB          XOR EBX,EBX
004012A6   .  33FF          XOR EDI,EDI                        ;  个寄存器清零
004012A8   .  BE 2E214000   MOV ESI,crcme1.0040212E            ;  使ESI等于输入的注册码
004012AD   >  B8 0A000000   MOV EAX,0A                         ;  令EAX等于定值0xA
作者:逍遥风
004012B2   .  8A1E          MOV BL,BYTE PTR DS:[ESI]           ;  取注册码的每一位进行转换
004012B4   .  85DB          TEST EBX,EBX                              <start>
004012B6   .  74 15         JE SHORT crcme1.004012CD
004012B8   .  80FB 30       CMP BL,30                          ;  
004012BB   .  72 69         JB SHORT crcme1.00401326
004012BD   .  80FB 39       CMP BL,39                          ;  
004012C0   .  7F 64         JG SHORT crcme1.00401326
004012C2   .  83EB 30       SUB EBX,30
004012C5   .  0FAFF8        IMUL EDI,EAX
004012C8   .  03FB          ADD EDI,EBX
004012CA   .  46            INC ESI                                         <end>
004012CB   .^ EB E0         JMP SHORT crcme1.004012AD          ;  循环计算

这是真注册码的生成过程,
谁能告诉我<start>-<end>  每一行代码的具体功能
看这个我都看了几个小时也没看懂是什么意思,帮帮我吧 在线等

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

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 48
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
这个简单,先取字符串一位,判断是否在'0'和'9'之间,若否则跳走(失败),然后再组合成数字。说穿了就是把输入转成数值,简单的一个atoi()功能
2010-3-16 12:42
0
雪    币: 146
活跃值: (1395)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
3
楼上说的已经很好了,我再补充点,先取注册码的第一位与0比较,小于则跳向失败,在与9比较,大于则跳向失败,然后再计算就可以了
2010-3-16 21:49
0
游客
登录 | 注册 方可回帖
返回
//