mm475 发表于 2015-1-31 14:51

简单算法分析-----160个适合新手的cm--1

本帖最后由 mm475 于 2015-1-31 21:16 编辑

菜鸟练手--大牛勿喷


0042F9AF                  push dword ptr fs:
0042F9B2|.64:8920       mov dword ptr fs:,esp
0042F9B5|.C705 50174300>mov dword ptr ds:,0x29            赋值变量29
0042F9BF|.8D55 F0       lea edx,
0042F9C2|.8B83 DC010000 mov eax,dword ptr ds:
0042F9C8|.E8 8BB0FEFF   call Acid_bur.0041AA58
0042F9CD|.8B45 F0       mov eax,
0042F9D0|.E8 DB40FDFF   call Acid_bur.00403AB0                   ;用户名
0042F9D5|.A3 6C174300   mov dword ptr ds:,eax          ;
0042F9DA|.8D55 F0       lea edx,                        ;用户名地址edx
0042F9DD|.8B83 DC010000 mov eax,dword ptr ds:         ;009D5A54
0042F9E3|.E8 70B0FEFF   call Acid_bur.0041AA58                   ;用户名6位
0042F9E8|.8B45 F0       mov eax,
0042F9EB|.0FB600      movzx eax,byte ptr ds:            ;取第一位x78
0042F9EE|.8BF0          mov esi,eax                              ;esi78
0042F9F0|.C1E6 03       shl esi,0x3                              ;左移3位780=3c0h
0042F9F3|.2BF0          sub esi,eax                              ;3c0-78=348
0042F9F5|.8D55 EC       lea edx,                        ;edx给0地址
0042F9F8|.8B83 DC010000 mov eax,dword ptr ds:
0042F9FE|.E8 55B0FEFF   call Acid_bur.0041AA58                   ;用户名6位
0042FA03|.8B45 EC       mov eax,
0042FA06|.0FB640 01   movzx eax,byte ptr ds:          ;取第二位x69
0042FA0A|.C1E0 04       shl eax,0x4                              ;左移4位0690
0042FA0D|.03F0          add esi,eax                              ;347+690=9d8
0042FA0F|.8935 54174300 mov dword ptr ds:,esi
0042FA15|.8D55 F0       lea edx,                        ;用户名堆栈地给edx
0042FA18|.8B83 DC010000 mov eax,dword ptr ds:         ;009D5A54值42b05c
0042FA1E|.E8 35B0FEFF   call Acid_bur.0041AA58
0042FA23|.8B45 F0       mov eax,
0042FA26|.0FB640 03   movzx eax,byte ptr ds:          ;h 68
0042FA2A|.6BF0 0B       imul esi,eax,0xB                         ;esi=eax*b=478
0042FA2D|.8D55 EC       lea edx,
0042FA30|.8B83 DC010000 mov eax,dword ptr ds:
0042FA36|.E8 1DB0FEFF   call Acid_bur.0041AA58
0042FA3B|.8B45 EC       mov eax,
0042FA3E|.0FB640 02   movzx eax,byte ptr ds:          ;用户名3位e65
0042FA42|.6BC0 0E       imul eax,eax,0xE                         ;eax=65*e=586
0042FA45|.03F0          add esi,eax                              ;9fe
0042FA47|.8935 58174300 mov dword ptr ds:,esi
0042FA4D|.A1 6C174300   mov eax,dword ptr ds:
0042FA52|.E8 D96EFDFF   call Acid_bur.00406930
0042FA57|.83F8 04       cmp eax,0x4                        ;判断用户名最少4位
0042FA5A|.7D 1D         jge XAcid_bur.0042FA79               
0042FA5C|.6A 00         push 0x0
0042FA5E|.B9 74FB4200   mov ecx,Acid_bur.0042FB74          ;ASCII 54,"ry Again!"
0042FA63|.BA 80FB4200   mov edx,Acid_bur.0042FB80          ;ASCII 53,"orry , The serial is incorect !"
0042FA68|.A1 480A4300   mov eax,dword ptr ds:
0042FA6D|.8B00          mov eax,dword ptr ds:
0042FA6F|.E8 FCA6FFFF   call Acid_bur.0042A170
0042FA74|.E9 BE000000   jmp Acid_bur.0042FB37
0042FA79|>8D55 F0       lea edx,
0042FA7C|.8B83 DC010000 mov eax,dword ptr ds:
0042FA82|.E8 D1AFFEFF   call Acid_bur.0041AA58
0042FA87|.8B45 F0       mov eax,
0042FA8A|.0FB600      movzx eax,byte ptr ds:      ;取用户名首字符的asc码
0042FA8D|.F72D 50174300 imul dword ptr ds:       ;乘以29(变量地址431750)
0042FA93|.A3 50174300   mov dword ptr ds:,eax
0042FA98|.A1 50174300   mov eax,dword ptr ds:
0042FA9D|.0105 50174300 add dword ptr ds:,eax    ;eax相当于乘以2
0042FAA3|.8D45 FC       lea eax,
0042FAA6|.BA ACFB4200   mov edx,Acid_bur.0042FBAC
0042FAAB|.E8 583CFDFF   call Acid_bur.00403708             ;被连接的字符串CW
0042FAB0|.8D45 F8       lea eax,
0042FAB3|.BA B8FB4200   mov edx,Acid_bur.0042FBB8
0042FAB8|.E8 4B3CFDFF   call Acid_bur.00403708             ;被连接的字符串CRACKED
0042FABD|.FF75 FC       push
0042FAC0|.68 C8FB4200   push Acid_bur.0042FBC8             ;UNICODE "-"
0042FAC5|.8D55 E8       lea edx,
0042FAC8|.A1 50174300   mov eax,dword ptr ds:
0042FACD|.E8 466CFDFF   call Acid_bur.00406718
。。。。。。。。。。。。。。。。
........关键算法
                                             
00406DCA|> /31D2          /xor edx,edx
00406DCC|. |F7F1          |div ecx                                           ;2670/A=3d8
00406DCE|. |80C2 30       |add dl,0x30                                       ;取余
00406DD1|. |80FA 3A       |cmp dl,0x3A
00406DD4|. |72 03         |jb XAcid_bur.00406DD9                              
00406DD6|. |80C2 07       |add dl,0x7
00406DD9|> |4E            |dec esi                                           ;
00406DDA|. |8816          |mov byte ptr ds:,dl                           
00406DDC|. |09C0          |or eax,eax
00406DDE|.^\75 EA         \jnz XAcid_bur.00406DCA                               循环4次
。。。。。。。。。。。。。。。。

0042FAD2|.FF75 E8       push
0042FAD5|.68 C8FB4200   push Acid_bur.0042FBC8             ;UNICODE "-"

.
注册码
1-3位CW-
4取第一位的asc码*29*2 /A/A/A/A取余
5取第一位的asc码*29*2 /A/A/A取余
6取第一位的asc码*29*2 /A/A取余
7取第一位的asc码*29*2 /A/取余
8-15位-CRACKED
一组注册码:
x=78
78*29=1338
1338*2=2670
2670/A =3D8 %0
3D8/A=62%4
62/A   =9   %8
9/A    =0   %9
用户名:xuepojie
注册码:CW-9840-CRACKED

菜鸟级易语言代码,见笑
.版本 2
.局部变量 注册, 字节集
.局部变量 四位, 文本型
注册 = 到字节集 (取文本左边 (编辑框用户名.内容, 1))
四位 = 到文本 (到整数 (注册 × 82) % 10000)
编辑框注册码.内容 = “CW-” + 四位 + “-CRACKED”







zx2cwf 发表于 2015-1-31 16:05

话说 CM在哪里下载

mm475 发表于 2015-1-31 16:07

LWJ一辈子 发表于 2015-1-31 16:05
话说 CM在哪里下载

百度下160个适合新手的cm

mm475 发表于 2015-1-31 16:15

LWJ一辈子 发表于 2015-1-31 16:05
话说 CM在哪里下载

附件上传了一个。

zx2cwf 发表于 2015-1-31 16:55

mm475 发表于 2015-1-31 16:15
附件上传了一个。

好的 O(∩_∩)O谢谢

凌云 发表于 2015-1-31 17:03

还没学过算法,收藏了

520Kelly 发表于 2015-1-31 19:45

160个CM 一个都没玩过

别管我了行 发表于 2022-3-4 02:51

yexing 发表于 2022-9-27 22:24

楼主真是大神

曾经沧海 发表于 2022-10-9 09:21

感谢楼主分享!
页: [1] 2
查看完整版本: 简单算法分析-----160个适合新手的cm--1