- UID
 - 66880
 
 注册时间2010-5-23
阅读权限30
最后登录1970-1-1
龙战于野 
  
 
 
 
TA的每日心情  | 开心 2023-6-2 15:44 | 
|---|
 
  签到天数: 18 天 [LV.4]偶尔看看III  
 | 
 
Blackk第十轮第一课作业 
       中级作业·· 
 如果错误,希望各位大大指出~~谢谢· 
 
0054EF19  |.  E8 6A8CEFFF   call    00447B88                         ;  取订单号位数 
0054EF1E  |.  8B85 64FFFFFF mov     eax, dword ptr [ebp-9C]          ;  订单号入EAX 
0054EF24  |.  E8 DBA6EBFF   call    00409604                         ;  订单号转为十六进制 
0054EF29  |.  B9 3A000000   mov     ecx, 3A                          ;  ECX=3A 
0054EF2E  |.  99            cdq 
0054EF2F  |.  F7F9          idiv    ecx 
0054EF31  |.  8BC2          mov     eax, edx                         ;  订单号/3A 余数送EAX 设为(Y) 
0054EF33  |.  8D95 68FFFFFF lea     edx, dword ptr [ebp-98] 
………… 
省略一些代码 
0054EF51  |.  E8 328CEFFF   call    00447B88 
0054EF56  |.  8B85 58FFFFFF mov     eax, dword ptr [ebp-A8]          ;  订单号入EAX 
0054EF5C  |.  E8 A3A6EBFF   call    00409604                         ;  订单号转16进制 
0054EF61  |.  8D95 5CFFFFFF lea     edx, dword ptr [ebp-A4] 
0054EF67  |.  E8 80DCFFFF   call    0054CBEC                             关键CALL1 
0054EF6C  |.  8B85 5CFFFFFF mov     eax, dword ptr [ebp-A4] 
0054EF72  |.  E8 8DA6EBFF   call    00409604 
0054EF77  |.  8D95 60FFFFFF lea     edx, dword ptr [ebp-A0] 
0054EF7D  |.  E8 4ADDFFFF   call    0054CCCC                             关键CALL2 
0054EF82  |.  8B95 60FFFFFF mov     edx, dword ptr [ebp-A0] 
0054EF88  |.  58            pop     eax 
0054EF89  |.  E8 E25CEBFF   call    00404C70                         ;  把Y和P拼凑 即为注册码 
0054EF8E  |.  8B95 68FFFFFF mov     edx, dword ptr [ebp-98] 
 
 进入关键CALL1 
 
0054CC09  |.  81F3 F1250B00 xor     ebx, 0B25F1                      ;  订单号十六进制和B25F1异或 
0054CC0F  |.  8BC3          mov     eax, ebx 
0054CC11  |.  33D2          xor     edx, edx 
0054CC13  |.  52            push    edx 
0054CC14  |.  50            push    eax 
0054CC15  |.  8D45 FC       lea     eax, dword ptr [ebp-4] 
0054CC18  |.  E8 B3C9EBFF   call    004095D0                         ;  异或结果转十进制(设为K) 
0054CC1D  |.  8B45 FC       mov     eax, dword ptr [ebp-4] 
0054CC20  |.  0FB600        movzx   eax, byte ptr [eax] 
0054CC23  |.  8B55 FC       mov     edx, dword ptr [ebp-4] 
0054CC26  |.  0FB652 01     movzx   edx, byte ptr [edx+1] 
0054CC2A  |.  03C2          add     eax, edx                         ;  K的[1]+[2]=A 
0054CC2C  |.  B9 05000000   mov     ecx, 5 
0054CC31  |.  99            cdq 
0054CC32  |.  F7F9          idiv    ecx 
0054CC34  |.  80C2 34       add     dl, 34                           ;  A/5的余数加上34 
0054CC37  |.  8855 F8       mov     byte ptr [ebp-8], dl             ;  保存 
0054CC3A  |.  8B45 FC       mov     eax, dword ptr [ebp-4] 
0054CC3D  |.  0FB640 02     movzx   eax, byte ptr [eax+2] 
0054CC41  |.  8B55 FC       mov     edx, dword ptr [ebp-4] 
0054CC44  |.  0FB652 03     movzx   edx, byte ptr [edx+3] 
0054CC48  |.  03C2          add     eax, edx                         ;  K的[3]+[4]=B 
0054CC4A  |.  B9 05000000   mov     ecx, 5 
0054CC4F  |.  99            cdq 
0054CC50  |.  F7F9          idiv    ecx 
0054CC52  |.  8BDA          mov     ebx, edx 
0054CC54  |.  80C3 33       add     bl, 33                           ;  B/5的余数加33 
0054CC57  |.  885D F9       mov     byte ptr [ebp-7], bl             ;  保存 
0054CC5A  |.  8D45 F4       lea     eax, dword ptr [ebp-C] 
………… 
省略一些代码 
0054CC85  |.  B9 19000000   mov     ecx, 19 
0054CC8A  |.  E8 B982EBFF   call    00404F48                         ;  结果和K拼凑起来  结果设为R 
 
CALL2 
 
0054CCEB  |.  81F3 8776FBDD xor     ebx, DDFB7687                    ;  R和DDFB7687异或 
0054CCF1  |.  8BC3          mov     eax, ebx 
0054CCF3  |.  33D2          xor     edx, edx 
0054CCF5  |.  52            push    edx 
0054CCF6  |.  50            push    eax 
0054CCF7  |.  8D45 FC       lea     eax, dword ptr [ebp-4] 
0054CCFA  |.  E8 D1C8EBFF   call    004095D0                         ;  异或的结果转10进制(设为L) 
0054CCFF  |.  8B45 FC       mov     eax, dword ptr [ebp-4] 
0054CD02  |.  0FB600        movzx   eax, byte ptr [eax] 
0054CD05  |.  8B55 FC       mov     edx, dword ptr [ebp-4] 
0054CD08  |.  0FB652 01     movzx   edx, byte ptr [edx+1] 
0054CD0C  |.  03C2          add     eax, edx                         ;  L的[1]+[2]=E 
0054CD0E  |.  B9 05000000   mov     ecx, 5 
0054CD13  |.  99            cdq 
0054CD14  |.  F7F9          idiv    ecx 
0054CD16  |.  80C2 66       add     dl, 66                           ;  E/5的余数加66 
0054CD19  |.  8855 F8       mov     byte ptr [ebp-8], dl             ;  保存 
0054CD1C  |.  8B45 FC       mov     eax, dword ptr [ebp-4] 
0054CD1F  |.  0FB640 02     movzx   eax, byte ptr [eax+2] 
0054CD23  |.  8B55 FC       mov     edx, dword ptr [ebp-4] 
0054CD26  |.  0FB652 03     movzx   edx, byte ptr [edx+3]            ;  L的[3]+[4]=F 
0054CD2A  |.  03C2          add     eax, edx 
0054CD2C  |.  B9 05000000   mov     ecx, 5 
0054CD31  |.  99            cdq 
0054CD32  |.  F7F9          idiv    ecx 
0054CD34  |.  80C2 75       add     dl, 75                           ;  F/5的余数加75 
0054CD37  |.  8855 F9       mov     byte ptr [ebp-7], dl             ;  保存 
0054CD3A  |.  8B45 FC       mov     eax, dword ptr [ebp-4] 
0054CD3D  |.  0FB640 04     movzx   eax, byte ptr [eax+4] 
0054CD41  |.  8B55 FC       mov     edx, dword ptr [ebp-4] 
0054CD44  |.  0FB652 05     movzx   edx, byte ptr [edx+5]            ;  L的[5]+[6]=G 
0054CD48  |.  03C2          add     eax, edx 
0054CD4A  |.  B9 05000000   mov     ecx, 5 
0054CD4F  |.  99            cdq 
0054CD50  |.  F7F9          idiv    ecx 
0054CD52  |.  80C2 7A       add     dl, 7A                           ;  G/5的余数加上7A 
0054CD55  |.  8855 FA       mov     byte ptr [ebp-6], dl             ;  保存 
0054CD58  |.  8B45 FC       mov     eax, dword ptr [ebp-4] 
0054CD5B  |.  0FB640 06     movzx   eax, byte ptr [eax+6] 
0054CD5F  |.  8B55 FC       mov     edx, dword ptr [ebp-4] 
0054CD62  |.  0FB652 07     movzx   edx, byte ptr [edx+7] 
0054CD66  |.  03C2          add     eax, edx 
0054CD68  |.  8B55 FC       mov     edx, dword ptr [ebp-4] 
0054CD6B  |.  0FB652 08     movzx   edx, byte ptr [edx+8]            ;  L的[7]+[8]+[9]=H 
0054CD6F  |.  03C2          add     eax, edx 
0054CD71  |.  B9 05000000   mov     ecx, 5 
0054CD76  |.  99            cdq 
0054CD77  |.  F7F9          idiv    ecx 
0054CD79  |.  80C2 69       add     dl, 69                           ;  H/5的余数加上69 
0054CD7C  |.  8855 FB       mov     byte ptr [ebp-5], dl             ;  保存 
………… 
省略一些代码 
0054CDE1  |.  B9 09000000   mov     ecx, 9 
0054CDE6  |.  E8 5D81EBFF   call    00404F48                         ;  和L一起拼凑结果 设为P 
 
  
算法总结: 
订单号的16进制 / 3A取余数  设为Y   假设是123123   Y=1E0F3 Mod 3A=2F(16)=47(10)   
订单号的16进制 Xor  B25F1(定值)  转换 10进制 设为k    k=1E0F3 Xor B25F1=AC502=705794(10) 
 
(k的第一位和第二位的ASCII码值 Mod  5)+34    我这里为 7  保存 
 
(k的第三位和第四位的ASCII码值 Mod  5)+33    我这里为 6  保存 
 
依次拼凑到K的后面    设为R  R=70579476 
 
R 的16进制和定值 DDFB7687  异或  结果转为10进制  设为L   L=3654255507(10) 
 
(L 十进制的第1位和第2位的ASCII码值相加 MOD  5   )+66          结果换成字符,保存  我这里为f 
(L 十进制的第3位和第4位的ASCII码值相加后 MOD  5   )+75        结果换成字符,保存  我这里为u 
(L 十进制的第5位和第6位的ASCII码值相加后 MOD  5   )+7A        结果换成字符,保存  我这里为} 
(L 十进制的第7位和第8位第9位的ASCII值相加后 MOD  5 ) +上69    结果换成字符,保存  我这里为m 
 
结果最后拼凑为 
36m5u425}f5507  =  p 
p 和 Y 拼凑 即为最后的注册码 = 4736m5u425}f5507 
 
所以注册信息为: 
订单号:123123 
注册码:4736m5u425}f5507 |   
 
评分
- 
查看全部评分
 
 
 
 
 
 |