mm475 发表于 2015-1-20 17:40

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 )
.计次循环尾 ()




Shark恒 发表于 2015-1-20 17:47

很清晰,很详细,475又出精品~

520Kelly 发表于 2015-1-20 17:56

膜拜搞里诺的

Scar-疤痕 发表于 2015-1-20 18:08

又是精品教程啊,好详细的!谢谢475!

gmh5225 发表于 2015-1-20 18:56

这个算法也是厉害,哈哈,我差点哭了

水寒 发表于 2015-1-20 19:17

luojianeng 发表于 2015-1-20 19:31

连计算注册码的地方都找不到{:5_187:}{:5_187:}

十月 发表于 2015-1-20 20:07

前来学习算法

l0v3cr4ck 发表于 2015-1-20 21:05

感谢分享,赞一个!

zjsyjbb 发表于 2015-1-20 21:12

学习下方法,软件暂时没什么用。
页: [1] 2 3
查看完整版本: XX管理软件简单算法及算法注册机