一个简单的CM
我写了一个cm。来试试,佩服,看来我要继续努力 6分钟,真是牛x 本帖最后由 kingyang 于 2011-8-5 11:57 编辑
这个是什么软件啊 ?
楼主能说明下不?我是新手!
crackme
用来练习破解的
易语言编写
加有效验 膜拜小生吾怕怕师傅
004024A5/.55 push ebp ;按钮事件
004024A6|.8BEC mov ebp,esp
004024A8|.81EC 18000000 sub esp,0x18
004024AE|.68 08000000 push 0x8
004024B3|.E8 97240000 call CrackMe_.0040494F
004024B8|.83C4 04 add esp,0x4
004024BB|.8945 FC mov ,eax
004024BE|.8BF8 mov edi,eax
004024C0|.BE 720E4700 mov esi,CrackMe_.00470E72
004024C5|.AD lods dword ptr ds:
004024C6|.AB stos dword ptr es:
004024C7|.AD lods dword ptr ds:
004024C8|.AB stos dword ptr es:
004024C9|.6A FF push -0x1
004024CB|.6A 08 push 0x8
004024CD|.68 27000116 push 0x16010027
004024D2|.68 01000152 push 0x52010001
004024D7|.E8 7F240000 call CrackMe_.0040495B ;获取输入的注册码
004024DC|.83C4 10 add esp,0x10
004024DF|.8945 F8 mov ,eax
004024E2|.8D45 F8 lea eax,
004024E5|.50 push eax
004024E6|.E8 D8020000 call CrackMe_.004027C3
004024EB|.8945 F4 mov ,eax
004024EE|.8B5D F8 mov ebx,
004024F1|.85DB test ebx,ebx
004024F3|.74 09 je XCrackMe_.004024FE
004024F5|.53 push ebx
004024F6|.E8 3C240000 call CrackMe_.00404937
004024FB|.83C4 04 add esp,0x4
004024FE|>68 05000080 push 0x80000005
00402503|.6A 00 push 0x0
00402505|.8B45 F4 mov eax,
00402508|.85C0 test eax,eax
0040250A|.75 05 jnz XCrackMe_.00402511
0040250C|.B8 720E4700 mov eax,CrackMe_.00470E72
00402511|>50 push eax
00402512|.68 01000000 push 0x1
00402517|.BB 20544000 mov ebx,CrackMe_.00405420
0040251C|.E8 28240000 call CrackMe_.00404949 ;输入的注册码作为十六进制转文本
00402521|.83C4 10 add esp,0x10
00402524|.8945 F0 mov ,eax
00402527|.8B5D F4 mov ebx,
0040252A|.85DB test ebx,ebx
0040252C|.74 09 je XCrackMe_.00402537
0040252E|.53 push ebx
0040252F|.E8 03240000 call CrackMe_.00404937
00402534|.83C4 04 add esp,0x4
00402537|>6A 00 push 0x0
00402539|.6A 00 push 0x0
0040253B|.6A 00 push 0x0
0040253D|.68 04000080 push 0x80000004
00402542|.6A 00 push 0x0
00402544|.68 CDD24700 push CrackMe_.0047D2CD ;ASCII "
"
00402549|.68 04000080 push 0x80000004
0040254E|.6A 00 push 0x0
00402550|.8B45 F0 mov eax,
00402553|.85C0 test eax,eax
00402555|.75 05 jnz XCrackMe_.0040255C
00402557|.B8 710E4700 mov eax,CrackMe_.00470E71
0040255C|>50 push eax
0040255D|.68 03000000 push 0x3
00402562|.BB A04D4000 mov ebx,CrackMe_.00404DA0
00402567|.E8 DD230000 call CrackMe_.00404949 ;输入的注册码的十六进制转文本与0D0A(换行符)
0040256C|.83C4 28 add esp,0x28 ;做比较,必须存在0D0A(换行符),
0040256F|.8945 EC mov ,eax ;但是它不能在开始位置,也不能在结束位置
00402572|.8B5D F0 mov ebx, ;要在中间
00402575|.85DB test ebx,ebx ;返回的时候,dword >1,就正确了
00402577|.74 09 je XCrackMe_.00402582
00402579|.53 push ebx
0040257A|.E8 B8230000 call CrackMe_.00404937
0040257F|.83C4 04 add esp,0x4
00402582|>8B45 EC mov eax,
00402585|.50 push eax
00402586|.8B5D FC mov ebx,
00402589|.53 push ebx
0040258A|.8B0B mov ecx,dword ptr ds:
0040258C|.83C3 04 add ebx,0x4
0040258F|.85C9 test ecx,ecx
00402591|.74 11 je XCrackMe_.004025A4
00402593|.8B03 mov eax,dword ptr ds:
00402595|>83C3 04 /add ebx,0x4
00402598|.49 |dec ecx
00402599|.74 05 |je XCrackMe_.004025A0
0040259B|.0FAF03 |imul eax,dword ptr ds:
0040259E|.^ EB F5 \jmp XCrackMe_.00402595
004025A0|>8BC8 mov ecx,eax
004025A2|.85C9 test ecx,ecx
004025A4|>0F84 19000000 je CrackMe_.004025C3
004025AA|>51 /push ecx
004025AB|.8B03 |mov eax,dword ptr ds:
004025AD|.85C0 |test eax,eax
004025AF|.74 0B |je XCrackMe_.004025BC
004025B1|.53 |push ebx
004025B2|.50 |push eax
004025B3|.E8 7F230000 |call CrackMe_.00404937
004025B8|.83C4 04 |add esp,0x4
004025BB|.5B |pop ebx
004025BC|>83C3 04 |add ebx,0x4
004025BF|.59 |pop ecx
004025C0|.49 |dec ecx
004025C1|.^ 75 E7 \jnz XCrackMe_.004025AA
004025C3|>E8 6F230000 call CrackMe_.00404937
004025C8|.83C4 04 add esp,0x4
004025CB|.58 pop eax
004025CC|.8945 FC mov ,eax
004025CF|.8B5D FC mov ebx,
004025D2|.E8 B5FEFFFF call CrackMe_.0040248C
004025D7|.8945 F4 mov ,eax
004025DA|.837D F4 01 cmp ,0x1 ;比较刚才是不是大于2
004025DE|.0F8E 5C010000 jle CrackMe_.00402740 ;大于2就跳走了,关键跳,NOP
004025E4|.8B5D FC mov ebx,
004025E7|.E8 8CF6FFFF call CrackMe_.00401C78
004025EC|.B8 00000000 mov eax,0x0
004025F1|.3BC1 cmp eax,ecx
004025F3|.7C 0D jl XCrackMe_.00402602
004025F5|.68 01000000 push 0x1
004025FA|.E8 3E230000 call CrackMe_.0040493D
004025FF|.83C4 04 add esp,0x4
00402602|>C1E0 02 shl eax,0x2
00402605|.03D8 add ebx,eax
00402607|.895D F8 mov ,ebx
0040260A|.6A FF push -0x1
0040260C|.6A 08 push 0x8
0040260E|.68 24000116 push 0x16010024
00402613|.68 01000152 push 0x52010001
00402618|.E8 3E230000 call CrackMe_.0040495B ;获取输入的用户名
0040261D|.83C4 10 add esp,0x10
00402620|.8945 F4 mov ,eax
00402623|.8B45 F4 mov eax,
00402626|.50 push eax ;eax=用户名
00402627|.8B5D F8 mov ebx,
0040262A|.FF33 push dword ptr ds: ;=注册码
0040262C|.E8 39EAFFFF call CrackMe_.0040106A ;注册码中不存在用户名就返回-1,存在(正确)返回0
00402631|.83C4 08 add esp,0x8
00402634|.83F8 00 cmp eax,0x0
00402637|.B8 00000000 mov eax,0x0
0040263C|.0F94C0 sete al
0040263F|.8945 F0 mov ,eax
00402642|.8B5D F4 mov ebx,
00402645|.85DB test ebx,ebx
00402647|.74 09 je XCrackMe_.00402652
00402649|.53 push ebx
0040264A|.E8 E8220000 call CrackMe_.00404937
0040264F|.83C4 04 add esp,0x4
00402652|>837D F0 00 cmp ,0x0
00402656|.0F84 E4000000 je CrackMe_.00402740 ;如果刚才返回-1就跳走了,关键跳,NOP
0040265C|.8B5D FC mov ebx, ;之后是DES算法解码的的事情了的
0040265F|.E8 14F6FFFF call CrackMe_.00401C78 ;总之:
00402664|.B8 01000000 mov eax,0x1 ;没有一组正确的Key,是无法破解的!
00402669|.3BC1 cmp eax,ecx ;因为它就是用注册码来解码的
0040266B|.7C 0D jl XCrackMe_.0040267A
0040266D|.68 01000000 push 0x1
00402672|.E8 C6220000 call CrackMe_.0040493D
00402677|.83C4 04 add esp,0x4
0040267A|>C1E0 02 shl eax,0x2
0040267D|.03D8 add ebx,eax
0040267F|.895D F8 mov ,ebx
00402682|.68 04000080 push 0x80000004
00402687|.6A 00 push 0x0
00402689|.8B5D F8 mov ebx,
0040268C|.8B03 mov eax,dword ptr ds:
0040268E|.85C0 test eax,eax
00402690|.75 05 jnz XCrackMe_.00402697
00402692|.B8 710E4700 mov eax,CrackMe_.00470E71
00402697|>50 push eax
00402698|.68 01000000 push 0x1
0040269D|.BB 304F4000 mov ebx,CrackMe_.00404F30
004026A2|.E8 A2220000 call CrackMe_.00404949
004026A7|.83C4 10 add esp,0x10
004026AA|.8945 F4 mov ,eax
004026AD|.8D45 F4 lea eax,
004026B0|.50 push eax
004026B1|.B8 D0D24700 mov eax,CrackMe_.0047D2D0
004026B6|.8945 F0 mov ,eax
004026B9|.8D45 F0 lea eax,
004026BC|.50 push eax
004026BD|.E8 D5050000 call CrackMe_.00402C97
004026C2|.8945 EC mov ,eax
004026C5|.8B5D F0 mov ebx,
004026C8|.85DB test ebx,ebx
004026CA|.74 09 je XCrackMe_.004026D5
004026CC|.53 push ebx
004026CD|.E8 65220000 call CrackMe_.00404937
004026D2|.83C4 04 add esp,0x4
004026D5|>8B5D F4 mov ebx,
004026D8|.85DB test ebx,ebx
004026DA|.74 09 je XCrackMe_.004026E5
004026DC|.53 push ebx
004026DD|.E8 55220000 call CrackMe_.00404937
004026E2|.83C4 04 add esp,0x4
004026E5|>68 05000080 push 0x80000005
004026EA|.6A 00 push 0x0
004026EC|.8B45 EC mov eax,
004026EF|.85C0 test eax,eax
004026F1|.75 05 jnz XCrackMe_.004026F8
004026F3|.B8 720E4700 mov eax,CrackMe_.00470E72
004026F8|>50 push eax
004026F9|.68 01000000 push 0x1
004026FE|.BB 20544000 mov ebx,CrackMe_.00405420
00402703|.E8 41220000 call CrackMe_.00404949
00402708|.83C4 10 add esp,0x10
0040270B|.8945 E8 mov ,eax
0040270E|.8B5D EC mov ebx,
00402711|.85DB test ebx,ebx
00402713|.74 09 je XCrackMe_.0040271E
00402715|.53 push ebx
00402716|.E8 1C220000 call CrackMe_.00404937
0040271B|.83C4 04 add esp,0x4
0040271E|>8B45 E8 mov eax,
00402721|.50 push eax
00402722|.8B1D 600D4A00 mov ebx,dword ptr ds:
00402728|.85DB test ebx,ebx
0040272A|.74 09 je XCrackMe_.00402735
0040272C|.53 push ebx
0040272D|.E8 05220000 call CrackMe_.00404937
00402732|.83C4 04 add esp,0x4
00402735|>58 pop eax
00402736|.A3 600D4A00 mov dword ptr ds:,eax
0040273B|.E9 00000000 jmp CrackMe_.00402740
00402740|>6A 00 push 0x0
00402742|.6A 00 push 0x0
00402744|.6A 00 push 0x0
00402746|.68 01030080 push 0x80000301
0040274B|.6A 00 push 0x0
0040274D|.68 00000000 push 0x0
00402752|.68 04000080 push 0x80000004
00402757|.6A 00 push 0x0
00402759|.A1 600D4A00 mov eax,dword ptr ds:
0040275E|.85C0 test eax,eax
00402760|.75 05 jnz XCrackMe_.00402767
00402762|.B8 710E4700 mov eax,CrackMe_.00470E71
00402767|>50 push eax
00402768|.68 03000000 push 0x3
0040276D|.BB A0564000 mov ebx,CrackMe_.004056A0
00402772|.E8 D2210000 call CrackMe_.00404949
00402777|.83C4 28 add esp,0x28
0040277A|.8B5D FC mov ebx,
0040277D|.53 push ebx
0040277E|.8B0B mov ecx,dword ptr ds:
00402780|.83C3 04 add ebx,0x4
00402783|.85C9 test ecx,ecx
00402785|.74 11 je XCrackMe_.00402798
00402787|.8B03 mov eax,dword ptr ds:
00402789|>83C3 04 /add ebx,0x4
0040278C|.49 |dec ecx
0040278D|.74 05 |je XCrackMe_.00402794
0040278F|.0FAF03 |imul eax,dword ptr ds:
00402792|.^ EB F5 \jmp XCrackMe_.00402789
00402794|>8BC8 mov ecx,eax
00402796|.85C9 test ecx,ecx
00402798|>0F84 19000000 je CrackMe_.004027B7
0040279E|>51 /push ecx
0040279F|.8B03 |mov eax,dword ptr ds:
004027A1|.85C0 |test eax,eax
004027A3|.74 0B |je XCrackMe_.004027B0
004027A5|.53 |push ebx
004027A6|.50 |push eax
004027A7|.E8 8B210000 |call CrackMe_.00404937
004027AC|.83C4 04 |add esp,0x4
004027AF|.5B |pop ebx
004027B0|>83C3 04 |add ebx,0x4
004027B3|.59 |pop ecx
004027B4|.49 |dec ecx
004027B5|.^ 75 E7 \jnz XCrackMe_.0040279E
004027B7|>E8 7B210000 call CrackMe_.00404937
004027BC|.83C4 04 add esp,0x4
004027BF|.8BE5 mov esp,ebp
004027C1|.5D pop ebp
004027C2\.C3 retn
页:
[1]