XX管理软件简单算法及算法注册机
0072BDDD|.55 push ebp
0072BDDE|.68 78BF7200 push PJXC.0072BF78
0072BDE3|.64:FF30 push dword ptr fs:
0072BDE6|.64:8920 mov dword ptr fs:,esp
0072BDE9|.8B45 FC mov eax,
0072BDEC|.E8 4F8CCDFF call PJXC.00404A40
0072BDF1|.8B47 04 mov eax,dword ptr ds: ;机器码S2ANDM3K
0072BDF4|.E8 178FCDFF call PJXC.00404D10 ;机器码8位
0072BDF9|.8BF0 mov esi,eax ;esi赋值计数8
0072BDFB|.85F6 test esi,esi
0072BDFD|.7E 26 jle XPJXC.0072BE25
0072BDFF|.BB 01000000 mov ebx,0x1 ;ebx初始1
0072BE04|>8D4D EC /lea ecx,
0072BE07|.8B47 04 |mov eax,dword ptr ds: ;机器码给eax
0072BE0A|.0FB64418 FF |movzx eax,byte ptr ds:
0072BE0F|.33D2 |xor edx,edx
0072BE11|.E8 06E2CDFF |call PJXC.0040A01C
0072BE16|.8B55 EC |mov edx,
0072BE19|.8D45 F8 |lea eax,
0072BE1C|.E8 F78ECDFF |call PJXC.00404D18
0072BE21|.43 |inc ebx
0072BE22|.4E |dec esi
0072BE23|.^ 75 DF \jnz XPJXC.0072BE04
0072BE25|>8B45 F8 mov eax, ;机器码得asc码5332414E444D334B
0072BE28|.E8 E38ECDFF call PJXC.00404D10 ;机器码转asc码位数10
0072BE2D|.8BF0 mov esi,eax ;计数esi=10
0072BE2F|.85F6 test esi,esi
0072BE31|.7E 2C jle XPJXC.0072BE5F
0072BE33|.BB 01000000 mov ebx,0x1 ;ebx初始1
0072BE38|>8B45 F8 /mov eax,
0072BE3B|.E8 D08ECDFF |call PJXC.00404D10
0072BE40|.2BC3 |sub eax,ebx ;asc码减1位
0072BE42|.8B55 F8 |mov edx,
0072BE45|.8A1402 |mov dl,byte ptr ds: ;取4E444D334B
0072BE48|.8D45 E8 |lea eax, ;4E444D334B
0072BE4B|.E8 D88DCDFF |call PJXC.00404C28
0072BE50|.8B55 E8 |mov edx, ;取最后一位
0072BE53|.8D45 F4 |lea eax,
0072BE56|.E8 BD8ECDFF |call PJXC.00404D18 ;最后一位地址给eax
0072BE5B|.43 |inc ebx
0072BE5C|.4E |dec esi
0072BE5D|.^ 75 D9 \jnz XPJXC.0072BE38
0072BE5F|>8D45 F8 lea eax, ;逆序B433D444E4142335
0072BE62|.50 push eax ;5332414E444D334B
0072BE63|.B9 04000000 mov ecx,0x4
0072BE68|.BA 01000000 mov edx,0x1
0072BE6D|.8B45 F4 mov eax, ;逆序B433D444E4142335
0072BE70|.E8 FB90CDFF call PJXC.00404F70 ;取前4位B433
0072BE75|.8D45 F4 lea eax,
0072BE78|.50 push eax
0072BE79|.B9 04000000 mov ecx,0x4
0072BE7E|.BA 05000000 mov edx,0x5
0072BE83|.8B45 F4 mov eax, ;逆序B433D444E4142335
0072BE86|.E8 E590CDFF call PJXC.00404F70 ;5-9位D444
0072BE8B|.8B45 F8 mov eax, ;取前4位B433
0072BE8E|.E8 7D8ECDFF call PJXC.00404D10 ;前4位数
0072BE93|.83F8 04 cmp eax,0x4
0072BE96|.7D 2F jge XPJXC.0072BEC7
0072BE98|.8B45 F8 mov eax,
0072BE9B|.E8 708ECDFF call PJXC.00404D10
0072BEA0|.8BD8 mov ebx,eax
0072BEA2|.83FB 03 cmp ebx,0x3
0072BEA5|.7F 20 jg XPJXC.0072BEC7
0072BEA7|>8D4D E4 /lea ecx,
0072BEAA|.8BC3 |mov eax,ebx
0072BEAC|.C1E0 02 |shl eax,0x2
0072BEAF|.33D2 |xor edx,edx
0072BEB1|.E8 66E1CDFF |call PJXC.0040A01C
0072BEB6|.8B55 E4 |mov edx,
0072BEB9|.8D45 F8 |lea eax,
0072BEBC|.E8 578ECDFF |call PJXC.00404D18
0072BEC1|.43 |inc ebx
0072BEC2|.83FB 04 |cmp ebx,0x4
0072BEC5|.^ 75 E0 \jnz XPJXC.0072BEA7
0072BEC7|>8B45 F4 mov eax, ;5-9位D444
0072BECA|.E8 418ECDFF call PJXC.00404D10
0072BECF|.83F8 04 cmp eax,0x4
0072BED2|.7D 2F jge XPJXC.0072BF03
0072BED4|.8B45 F4 mov eax,
0072BED7|.E8 348ECDFF call PJXC.00404D10
0072BEDC|.8BD8 mov ebx,eax
0072BEDE|.83FB 03 cmp ebx,0x3
0072BEE1|.7F 20 jg XPJXC.0072BF03
0072BEE3|>8D4D E0 /lea ecx,
0072BEE6|.8BC3 |mov eax,ebx
0072BEE8|.C1E0 02 |shl eax,0x2
0072BEEB|.33D2 |xor edx,edx
0072BEED|.E8 2AE1CDFF |call PJXC.0040A01C
0072BEF2|.8B55 E0 |mov edx,
0072BEF5|.8D45 F4 |lea eax,
0072BEF8|.E8 1B8ECDFF |call PJXC.00404D18
0072BEFD|.43 |inc ebx
0072BEFE|.83FB 04 |cmp ebx,0x4
0072BF01|.^ 75 E0 \jnz XPJXC.0072BEE3
0072BF03|>8D45 F0 lea eax,
0072BF06|.8B57 0C mov edx,dword ptr ds: ;ASCII PJXCw268d58k
0072BF09|.E8 CA8BCDFF call PJXC.00404AD8
0072BF0E|.8D45 DC lea eax,
0072BF11|.50 push eax
0072BF12|.B9 04000000 mov ecx,0x4
0072BF17|.BA 01000000 mov edx,0x1
0072BF1C|.8B45 F0 mov eax,
0072BF1F|.E8 4C90CDFF call PJXC.00404F70 ;PJXCw268d58k取4位PJXC
0072BF24|.FF75 DC push
0072BF27|.68 90BF7200 push PJXC.0072BF90 ;-
0072BF2C|.FF75 F8 push
0072BF2F|.8D45 D8 lea eax, ;PJXC-B433
0072BF32|.50 push eax
0072BF33|.B9 05000000 mov ecx,0x5
0072BF38|.BA 05000000 mov edx,0x5
0072BF3D|.8B45 F0 mov eax,
0072BF40|.E8 2B90CDFF call PJXC.00404F70 ;PJXCw268d58k取5-9位w268d
0072BF45|.FF75 D8 push
0072BF48|.68 90BF7200 push PJXC.0072BF90 ;-
0072BF4D|.FF75 F4 push ;w268d-D444
0072BF50|.8B45 FC mov eax,
0072BF53|.BA 06000000 mov edx,0x6
0072BF58|.E8 738ECDFF call PJXC.00404DD0
0072BF5D|.33C0 xor eax,eax
0072BF5F|.5A pop edx
0072BF60|.59 pop ecx
0072BF61|.59 pop ecx
0072BF62|.64:8910 mov dword ptr fs:,edx
0072BF65|.68 7FBF7200 push PJXC.0072BF7F
0072BF6A|>8D45 D8 lea eax,
0072BF6D|.BA 09000000 mov edx,0x9 PJXC-B433w268d-D444
0072BF72|.E8 ED8ACDFF call PJXC.00404A64
1-5位PJXC-
6-9位机器码转16进制asc码逆序1-4位
10-15位w268d-
16-19机器码转16进制asc码逆序5-9位
哈哈!我的易语言太烂,代码都不好意思放上去!算了,还是供向我一样的菜鸟学习下吧!
.版本 2
.支持库 spec
.程序集 窗口程序集_启动窗口
.程序集变量 机器码, 文本型
.程序集变量 机器码倒叙, 文本型
.子程序 _按钮1_被单击
.局部变量 x, 字节集
.局部变量 y, 整数型
.局部变量 注册, 文本型
转asc码 ()
调试输出 (机器码)
机器码倒叙 = “”
.如果 (取文本长度 (编辑框1.内容) ≤ 8)
信息框 (“请输入8位机器码”, 0, )
.否则
x = 到字节集 (机器码)
y = 取字节集长度 (x)
.计次循环首 (y, )
机器码倒叙 = 机器码倒叙 + 十到十六 (x )
y = y - 1
.计次循环尾 ()
注册 = 到文本 (还原为字节集 (机器码倒叙))
编辑框2.内容 = “PJXC-” + 取文本左边 (注册, 4) + “w268d-” + 取文本中间 (注册, 5, 4)
机器码 = “”
.如果结束
.子程序 转asc码
.局部变量 a, 字节集
.局部变量 i, 整数型
a = 到字节集 (编辑框1.内容)
i = 1
.计次循环首 (取字节集长度 (a), i)
机器码 = 机器码 + 十到十六 (a )
.计次循环尾 ()
很清晰,很详细,475又出精品~
膜拜搞里诺的
又是精品教程啊,好详细的!谢谢475!
这个算法也是厉害,哈哈,我差点哭了
连计算注册码的地方都找不到{:5_187:}{:5_187:}
前来学习算法
感谢分享,赞一个!
学习下方法,软件暂时没什么用。