豪情唐诗大全 v1.0 注册算法
作者:HaIlDuZ [CcG]
软件名称:豪情唐诗大全 v1.0
整理日期:2003.9.2
软件授权:共享软件
加密方式:注册码
研究难度:明码比较,难度易。
使用工具:OllDbG;W32Dasm 10.0
作者申明:纯技术交流,无任何商业目的,转贴请保持完整。
评 价:该软件不错,那天忽然想起“野径云俱黑,江船火独明。”忘了作者了一查找到。
开始:注册要求输入一个mail地址(最后看来无所谓一组字符即可),和注册码。
算法分析:
输入找到关键call后。分析过程如下:
/////////////////////////////////////////////////////////////////////
* Possible StringData Ref from Code Obj ->"body"
|
:0054503E BAD4515400 mov edx, 005451D4
:00545043 8B86FC020000 mov eax, dword ptr [esi+000002FC]
:00545049 E87609F5FF call 004959C4
:0054504E 8D55F0 lea edx, dword ptr [ebp-10]
:00545051 8B08 mov ecx, dword ptr [eax]
:00545053 FF5160 call [ecx+60]
:00545056 8B45F0 mov eax, dword ptr [ebp-10]
:00545059 50 push eax
:0054505A 8D55EC lea edx, dword ptr [ebp-14]
:0054505D A110885400 mov eax, dword ptr [00548810]
:00545062 8B00 mov eax, dword ptr [eax]
:00545064 8B8018030000 mov eax, dword ptr [eax+00000318]
:0054506A E8E501F0FF call 00445254
:0054506F 8B55EC mov edx, dword ptr [ebp-14] //15位机器码。
:00545072 8BC6 mov eax, esi
:00545074 59 pop ecx //输入mail
:00545075 E8CAFAFFFF call 00544B44 //关键call 跟进见下面关键 call分析
:0054507A BAE4515400 mov edx, 005451E4
:0054507F 8B86FC020000 mov eax, dword ptr [esi+000002FC]
:00545085 E83A09F5FF call 004959C4
:0054508A 8D55E8 lea edx, dword ptr [ebp-18]
:0054508D 8B08 mov ecx, dword ptr [eax]
:0054508F FF5160 call [ecx+60]
:00545092 8B55E8 mov edx, dword ptr [ebp-18]
:00545095 8B45FC mov eax, dword ptr [ebp-04]
:00545098 E893FAEBFF call 00404B30
:0054509D 7559 jne 005450F8
:0054509F BAE4515400 mov edx, 005451E4
:005450A4 8B86FC020000 mov eax, dword ptr [esi+000002FC]
:005450AA E81509F5FF call 004959C4
:005450AF 8D55E4 lea edx, dword ptr [ebp-1C]
:005450B2 8B08 mov ecx, dword ptr [eax]
:005450B4 FF5160 call [ecx+60]
:005450B7 8B55E4 mov edx, dword ptr [ebp-1C]
:005450BA A110885400 mov eax, dword ptr [00548810]
:005450BF 8B00 mov eax, dword ptr [eax]
:005450C1 8B801C030000 mov eax, dword ptr [eax+0000031C]
:005450C7 E8B801F0FF call 00445284
:005450CC A110885400 mov eax, dword ptr [00548810]
:005450D1 8B00 mov eax, dword ptr [eax]
:005450D3 8B8014030000 mov eax, dword ptr [eax+00000314]
:005450D9 33D2 xor edx, edx
:005450DB E89400F0FF call 00445174
:005450E0 A110885400 mov eax, dword ptr [00548810]
:005450E5 8B00 mov eax, dword ptr [eax]
:005450E7 8B8000030000 mov eax, dword ptr [eax+00000300]
:005450ED 33D2 xor edx, edx
:005450EF E88000F0FF call 00445174
:005450F4 B301 mov bl, 01
:005450F6 EB52 jmp 0054514A
///////////////////////////////关键call分析///////////////////////////////////////
* Referenced by a CALL at Address:
|:00545075
|
:00544B44 55 push ebp
:00544B45 8BEC mov ebp, esp
:00544B47 81C4D0FDFFFF add esp, FFFFFDD0
:00544B4D 53 push ebx
:00544B4E 56 push esi
:00544B4F 33DB xor ebx, ebx
:00544B51 899DD4FEFFFF mov dword ptr [ebp+FFFFFED4], ebx
:00544B57 899DD0FEFFFF mov dword ptr [ebp+FFFFFED0], ebx
:00544B5D 899DD8FEFFFF mov dword ptr [ebp+FFFFFED8], ebx
:00544B63 899DE0FEFFFF mov dword ptr [ebp+FFFFFEE0], ebx
:00544B69 899DDCFEFFFF mov dword ptr [ebp+FFFFFEDC], ebx
:00544B6F 899DE8FEFFFF mov dword ptr [ebp+FFFFFEE8], ebx
:00544B75 899DE4FEFFFF mov dword ptr [ebp+FFFFFEE4], ebx
:00544B7B 895DF0 mov dword ptr [ebp-10], ebx
:00544B7E 894DF8 mov dword ptr [ebp-08], ecx
:00544B81 8955FC mov dword ptr [ebp-04], edx
:00544B84 8B45FC mov eax, dword ptr [ebp-04]
:00544B87 E84800ECFF call 00404BD4
:00544B8C 8B45F8 mov eax, dword ptr [ebp-08]
:00544B8F E84000ECFF call 00404BD4
:00544B94 33C0 xor eax, eax
:00544B96 55 push ebp
:00544B97 682C4E5400 push 00544E2C
:00544B9C 64FF30 push dword ptr fs:[eax]
:00544B9F 648920 mov dword ptr fs:[eax], esp
:00544BA2 8D45F0 lea eax, dword ptr [ebp-10]
:00544BA5 8B55F8 mov edx, dword ptr [ebp-08]
:00544BA8 E81FFCEBFF call 004047CC
:00544BAD 8D85EFFEFFFF lea eax, dword ptr [ebp+FFFFFEEF]
:00544BB3 8B55FC mov edx, dword ptr [ebp-04]
:00544BB6 B9FF000000 mov ecx, 000000FF
:00544BBB E808FEEBFF call 004049C8
:00544BC0 B301 mov bl, 01
:00544BC2 8B45F0 mov eax, dword ptr [ebp-10]
:00544BC5 E822FEEBFF call 004049EC
:00544BCA 8845F6 mov byte ptr [ebp-0A], al
:00544BCD 8D85E4FEFFFF lea eax, dword ptr [ebp+FFFFFEE4]
:00544BD3 8D95EFFEFFFF lea edx, dword ptr [ebp+FFFFFEEF]
:00544BD9 E8B2FDEBFF call 00404990
:00544BDE 8B85E4FEFFFF mov eax, dword ptr [ebp+FFFFFEE4]
:00544BE4 8D95E8FEFFFF lea edx, dword ptr [ebp+FFFFFEE8]
:00544BEA E8E144ECFF call 004090D0
:00544BEF 8B85E8FEFFFF mov eax, dword ptr [ebp+FFFFFEE8]
:00544BF5 E8F2FDEBFF call 004049EC
:00544BFA 84C0 test al, al
:00544BFC 7665 jbe 00544C63
:00544BFE 8845EF mov byte ptr [ebp-11], al
:00544C01 C645F701 mov [ebp-09], 01
:00544C05 8D8DF0FEFFFF lea ecx, dword ptr [ebp+FFFFFEF0]
//来到这里进行第一次注册变码生成
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00544C61(C)
|
:00544C0B 33C0 xor eax, eax
:00544C0D 8AC3 mov al, bl //首次bl=1
:00544C0F 33D2 xor edx, edx
:00544C11 8A55F6 mov dl, byte ptr [ebp-0A] //输入mail长度进dl
:00544C14 8BDA mov ebx, edx
:00544C16 33D2 xor edx, edx
:00544C18 F7F3 div ebx //除ebx
:00544C1A 8BDA mov ebx, edx
:00544C1C 33C0 xor eax, eax
:00544C1E 8AC3 mov al, bl //取余数k
:00544C20 8B55F0 mov edx, dword ptr [ebp-10] //mail 地址
:00544C23 0FB64402FF movzx eax, byte ptr [edx+eax-01] //选取mail中一个字符与k相关
:00544C28 BE09000000 mov esi, 00000009
:00544C2D 33D2 xor edx, edx
:00544C2F F7F6 div esi
:00544C31 8BF2 mov esi, edx //选取字符除9的余数J
:00544C33 33C0 xor eax, eax
:00544C35 8A01 mov al, byte ptr [ecx] //依次机器码位
:00544C37 F7EE imul esi //乘以余数J
:00544C39 03C6 add eax, esi //再加余数J
:00544C3B BE09000000 mov esi, 00000009
:00544C40 99 cdq
:00544C41 F7FE idiv esi
:00544C43 83C230 add edx, 00000030 //得到结果除9加30
:00544C46 8811 mov byte ptr [ecx], dl //依次存变码位
:00544C48 8A45F7 mov al, byte ptr [ebp-09] //循环次数首次为1
:00544C4B F66DF7 imul [ebp-09] //循环次数自乘L
:00544C4E 02D8 add bl, al //余数k加循环次数自乘L
:00544C50 80F363 xor bl, 63
:00544C53 8BC3 mov eax, ebx
:00544C55 03C0 add eax, eax //结果或非63在加1
:00544C57 40 inc eax
:00544C58 8BD8 mov ebx, eax //存结果入ebx
:00544C5A FE45F7 inc [ebp-09] //循环次数加1
:00544C5D 41 inc ecx
:00544C5E FE4DEF dec [ebp-11]
:00544C61 75A8 jne 00544C0B //循环
//至此生成第一次注册变码
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00544BFC(C)
|
:00544C63 8D45F0 lea eax, dword ptr [ebp-10]
:00544C66 8B55FC mov edx, dword ptr [ebp-04]
:00544C69 E85EFBEBFF call 004047CC
:00544C6E 8B45F0 mov eax, dword ptr [ebp-10]
:00544C71 E876FDEBFF call 004049EC
:00544C76 8845F6 mov byte ptr [ebp-0A], al
:00544C79 8D85DCFEFFFF lea eax, dword ptr [ebp+FFFFFEDC]
:00544C7F 8D95EFFEFFFF lea edx, dword ptr [ebp+FFFFFEEF]
:00544C85 E806FDEBFF call 00404990
:00544C8A 8B85DCFEFFFF mov eax, dword ptr [ebp+FFFFFEDC]
:00544C90 8D95E0FEFFFF lea edx, dword ptr [ebp+FFFFFEE0]
:00544C96 E83544ECFF call 004090D0
:00544C9B 8B85E0FEFFFF mov eax, dword ptr [ebp+FFFFFEE0]
:00544CA1 E846FDEBFF call 004049EC
:00544CA6 84C0 test al, al
:00544CA8 0F869E000000 jbe 00544D4C
:00544CAE 8845EF mov byte ptr [ebp-11], al
:00544CB1 C645F701 mov [ebp-09], 01
:00544CB5 8D8DF0FEFFFF lea ecx, dword ptr [ebp+FFFFFEF0]
//来到这里进行第二次注册变码
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00544D11(C)
|
:00544CBB 33C0 xor eax, eax
:00544CBD 8AC3 mov al, bl //第一次变码后的bl
:00544CBF 33D2 xor edx, edx
:00544CC1 8A55F6 mov dl, byte ptr [ebp-0A] //第一次变码长度进dl
:00544CC4 8BDA mov ebx, edx
:00544CC6 33D2 xor edx, edx
:00544CC8 F7F3 div ebx //除ebx
:00544CCA 8BDA mov ebx, edx
:00544CCC 33C0 xor eax, eax
:00544CCE 8AC3 mov al, bl //取余数k
:00544CD0 8B55F0 mov edx, dword ptr [ebp-10] //第一次变码地址
:00544CD3 0FB64402FF movzx eax, byte ptr [edx+eax-01] //第一次变码中一个字符与k相关
:00544CD8 BE09000000 mov esi, 00000009
:00544CDD 33D2 xor edx, edx
:00544CDF F7F6 div esi
:00544CE1 8BF2 mov esi, edx //选取字符除9的余数
:00544CE3 33C0 xor eax, eax
:00544CE5 8A01 mov al, byte ptr [ecx] //依次机器码位
:00544CE7 F7EE imul esi //乘以前余数
:00544CE9 03C6 add eax, esi //再加余数
:00544CEB BE09000000 mov esi, 00000009
:00544CF0 99 cdq
:00544CF1 F7FE idiv esi
:00544CF3 83C230 add edx, 00000030 //得到结果除9加30
:00544CF6 8811 mov byte ptr [ecx], dl //依次存变码位
:00544CF8 8A45F7 mov al, byte ptr [ebp-09] //循环次数首次为1
:00544CFB F66DF7 imul [ebp-09] //循环次数自乘L
:00544CFE 02D8 add bl, al //余数k加循环次数自乘L
:00544D00 80F363 xor bl, 63
:00544D03 8BC3 mov eax, ebx
:00544D05 03C0 add eax, eax //结果或非63在加1
:00544D07 40 inc eax
:00544D08 8BD8 mov ebx, eax //存结果入ebx
:00544D0A FE45F7 inc [ebp-09] //循环次数加1
:00544D0D 41 inc ecx
:00544D0E FE4DEF dec [ebp-11]
:00544D11 75A8 jne 00544CBB //循环
//////////////////////////////////////////////////////////////////////////////
//至此生成第二次注册变码
:00544D13 EB37 jmp 00544D4C
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00544D5F(C)
|
:00544D15 8D85D8FEFFFF lea eax, dword ptr [ebp+FFFFFED8]
:00544D1B 8D95EFFEFFFF lea edx, dword ptr [ebp+FFFFFEEF]
:00544D21 E86AFCEBFF call 00404990
:00544D26 8D85D8FEFFFF lea eax, dword ptr [ebp+FFFFFED8]
:00544D2C BA444E5400 mov edx, 00544E44
:00544D31 E8BEFCEBFF call 004049F4
:00544D36 8B95D8FEFFFF mov edx, dword ptr [ebp+FFFFFED8]
:00544D3C 8D85EFFEFFFF lea eax, dword ptr [ebp+FFFFFEEF]
:00544D42 B9FF000000 mov ecx, 000000FF
:00544D47 E87CFCEBFF call 004049C8
* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:00544CA8(C), :00544D13(U)
|
:00544D4C 33C0 xor eax, eax
:00544D4E 8A85EFFEFFFF mov al, byte ptr [ebp+FFFFFEEF]
:00544D54 B903000000 mov ecx, 00000003
:00544D59 33D2 xor edx, edx
:00544D5B F7F1 div ecx
:00544D5D 85D2 test edx, edx
:00544D5F 77B4 ja 00544D15
:00544D61 8B4508 mov eax, dword ptr [ebp+08]
:00544D64 E8CBF9EBFF call 00404734
:00544D69 33C0 xor eax, eax
:00544D6B 8A85EFFEFFFF mov al, byte ptr [ebp+FFFFFEEF]
:00544D71 B903000000 mov ecx, 00000003
:00544D76 33D2 xor edx, edx
:00544D78 F7F1 div ecx
:00544D7A 8BD8 mov ebx, eax
:00544D7C 85DB test ebx, ebx
:00544D7E 7E79 jle 00544DF9
:00544D80 BE01000000 mov esi, 00000001
//由00544DF7至00544DF7循环计算注册码,将计算的第二次15位变码每三位为一组,
分别将每组十进制数转换成16进制数
例如:变码为:160364334016636
对应注册码为:A0-16C-14E-10-27C。
(160 364 334 016 636)
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00544DF7(C)
|
:00544D85 83FE01 cmp esi, 00000001
:00544D88 7410 je 00544D9A
:00544D8A 8B4508 mov eax, dword ptr [ebp+08]
:00544D8D BA504E5400 mov edx, 00544E50
:00544D92 E85DFCEBFF call 004049F4
:00544D97 8B4508 mov eax, dword ptr [ebp+08]
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00544D88(C)
|
:00544D9A 8D85D0FDFFFF lea eax, dword ptr [ebp+FFFFFDD0]
:00544DA0 50 push eax
:00544DA1 8BC6 mov eax, esi
:00544DA3 48 dec eax
:00544DA4 8D1440 lea edx, dword ptr [eax+2*eax]
:00544DA7 42 inc edx
:00544DA8 B903000000 mov ecx, 00000003
:00544DAD 8D85EFFEFFFF lea eax, dword ptr [ebp+FFFFFEEF]
:00544DB3 E8F8DBEBFF call 004029B0
:00544DB8 8D95D0FDFFFF lea edx, dword ptr [ebp+FFFFFDD0]
:00544DBE 8D85D0FEFFFF lea eax, dword ptr [ebp+FFFFFED0]
:00544DC4 E8C7FBEBFF call 00404990
:00544DC9 8B85D0FEFFFF mov eax, dword ptr [ebp+FFFFFED0]
:00544DCF E8DC47ECFF call 004095B0
:00544DD4 8D8DD4FEFFFF lea ecx, dword ptr [ebp+FFFFFED4]
:00544DDA BA01000000 mov edx, 00000001
:00544DDF E89047ECFF call 00409574
:00544DE4 8B95D4FEFFFF mov edx, dword ptr [ebp+FFFFFED4]
:00544DEA 8B4508 mov eax, dword ptr [ebp+08]
:00544DED E802FCEBFF call 004049F4
:00544DF2 8B4508 mov eax, dword ptr [ebp+08]
:00544DF5 46 inc esi
:00544DF6 4B dec ebx
:00544DF7 758C jne 00544D85
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00544D7E(C)
|
:00544DF9 33C0 xor eax, eax
:00544DFB 5A pop edx
:00544DFC 59 pop ecx
:00544DFD 59 pop ecx
:00544DFE 648910 mov dword ptr fs:[eax], edx
:00544E01 68334E5400 push 00544E33
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00544E31(U)
|
:00544E06 8D85D0FEFFFF lea eax, dword ptr [ebp+FFFFFED0]
:00544E0C BA07000000 mov edx, 00000007
:00544E11 E842F9EBFF call 00404758
:00544E16 8D45F0 lea eax, dword ptr [ebp-10]
:00544E19 E816F9EBFF call 00404734
:00544E1E 8D45F8 lea eax, dword ptr [ebp-08]
:00544E21 BA02000000 mov edx, 00000002
:00544E26 E82DF9EBFF call 00404758
:00544E2B C3 ret
:00544E2C E94BF2EBFF jmp 0040407C
:00544E31 EBD3 jmp 00544E06
:00544E33 5E pop esi
:00544E34 5B pop ebx
:00544E35 8BE5 mov esp, ebp
:00544E37 5D pop ebp
:00544E38 C20400 ret 0004
////////////////////////////////////////////////////////
注册分析结束
////////////////////////////////////////////////////////
顺便说以下:
////////////////////////////////////////////////////////
软件的机器码是由用户硬盘的序列号和一个字串"197712280530qlm"<估计是作者的生日、制作日期、姓名缩写>
生成的。
////////////////////////////////////////////////////////
机器码生成部分:
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0053E342(C)
|
:0053E361 8D85F4FEFFFF lea eax, dword ptr [ebp+FFFFFEF4]
:0053E367 8B55FC mov edx, dword ptr [ebp-04]
:0053E36A B9FF000000 mov ecx, 000000FF
:0053E36F E85466ECFF call 004049C8
:0053E374 8D85F4FEFFFF lea eax, dword ptr [ebp+FFFFFEF4]
:0053E37A 8D4DF4 lea ecx, dword ptr [ebp-0C]
* Possible StringData Ref from Code Obj ->"197712280530qlmU嬱j"
|
:0053E37D BA10E45300 mov edx, 0053E410
:0053E382 E8D5FDFFFF call 0053E15C //机器码call
:0053E387 8B55F4 mov edx, dword ptr [ebp-0C]
:0053E38A 8B8318030000 mov eax, dword ptr [ebx+00000318]
:0053E390 E8EF6EF0FF call 00445284
:0053E395 33C0 xor eax, eax
:0053E397 5A pop edx
:0053E398 59 pop ecx
:0053E399 59 pop ecx
:0053E39A 648910 mov dword ptr fs:[eax], edx
:0053E39D 68B7E35300 push 0053E3B7
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0053E3B5(U)
|
:0053E3A2 8D45F4 lea eax, dword ptr [ebp-0C]
:0053E3A5 BA03000000 mov edx, 00000003
:0053E3AA E8A963ECFF call 00404758
:0053E3AF C3 ret
/////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////
机器码计算部分:
////////////////////////////////////////////////////////////////////
Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0053E291(C)
|
:0053E20F 8A45FB mov al, byte ptr [ebp-05] //[ebp-05] 为8次循环次数,针对8位硬盘序列号
:0053E212 3A45F9 cmp al, byte ptr [ebp-07] //是否<=8不是则[ebp-05] 置1
:0053E215 7604 jbe 0053E21B
:0053E217 C645FB01 mov [ebp-05], 01
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0053E215(C)
|
:0053E21B 33C9 xor ecx, ecx
:0053E21D 8A4DFA mov cl, byte ptr [ebp-06] //循环次数设y
:0053E220 8D4102 lea eax, dword ptr [ecx+02]
:0053E223 F7E9 imul ecx
:0053E225 8D5114 lea edx, dword ptr [ecx+14]
:0053E228 8BFA mov edi, edx
:0053E22A 99 cdq
:0053E22B F7FF idiv edi
:0053E22D 8BFA mov edi, edx //存((y+2)*y)%(y+0x14)入edi
:0053E22F 8BC1 mov eax, ecx
:0053E231 F7E9 imul ecx
:0053E233 8D510A lea edx, dword ptr [ecx+0A]
:0053E236 51 push ecx //保存y
:0053E237 8BCA mov ecx, edx
:0053E239 99 cdq
:0053E23A F7F9 idiv ecx
:0053E23C 59 pop ecx
:0053E23D 8BC2 mov eax, edx //存(y*y)%(y+0xa)入eax
:0053E23F 51 push ecx
:0053E240 B903000000 mov ecx, 00000003
:0053E245 99 cdq
:0053E246 F7F9 idiv ecx //eax=((y*y)%(y+0xa))/3
:0053E248 59 pop ecx
:0053E249 03F8 add edi, eax //edi=((y+2)*y)%(y+0x14)+((y*y)%(y+0xa))/3
:0053E24B 8BC1 mov eax, ecx
:0053E24D 03C0 add eax, eax
:0053E24F 03F8 add edi, eax
:0053E251 47 inc edi //edi=((y+2)*y)%(y+0x14)+((y*y)%(y+0xa))/3+y+y+1 设为k
:0053E252 8BCF mov ecx, edi
:0053E254 33C0 xor eax, eax
:0053E256 8A45FB mov al, byte ptr [ebp-05]
:0053E259 0FB68405F8FEFFFF movzx eax, byte ptr [ebp+eax-00000108]
//[ebp+eax-00000108]硬盘序列号地址。取对应位入eax
:0053E261 03C1 add eax, ecx // k+对应位值
:0053E263 B909000000 mov ecx, 00000009
:0053E268 99 cdq
:0053E269 F7F9 idiv ecx
:0053E26B 8BCA mov ecx, edx
:0053E26D 81F10B040000 xor ecx, 0000040B //(k+对应位值)模除9xor0x40b 设为n
:0053E273 33C0 xor eax, eax
:0053E275 8A03 mov al, byte ptr [ebx] //[ebx]为常字符串地址,取对应循环的位字符值设为m
:0053E277 03C1 add eax, ecx
:0053E279 B909000000 mov ecx, 00000009
:0053E27E 99 cdq
:0053E27F F7F9 idiv ecx
:0053E281 83C230 add edx, 00000030
:0053E284 8816 mov byte ptr [esi], dl //存计算对应循环位及起码=(n+m)%9+30
:0053E286 FE45FB inc [ebp-05]
:0053E289 FE45FA inc [ebp-06]
:0053E28C 46 inc esi
:0053E28D 43 inc ebx
:0053E28E FE4DF8 dec [ebp-08]
:0053E291 0F8578FFFFFF jne 0053E20F
//////////////////////////////////////////////////////////以上为计算机器码过程///////////////////////
结束语:
我的一个结果。
机器码:234430542065507
mail:HaIlDuZ[CcG]
注册码:A0-16C-14E-10-27C
HaIlDuZ [CcG]
2003。9。3