能力值:
( LV2,RANK:10 )
|
-
-
2 楼
不会找这个东西
|
能力值:
( LV4,RANK:50 )
|
-
-
3 楼
lunglungyu
CB2095CA1987395BEA90B858AE30EEDB
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
浩良
EC1107A8A38DB1FD62994C180C98B836
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
明码...
我的:
RAsm
61A282EE7398306330490FE6A80226E0
成功后会出来Form2..
是这样吗?
|
能力值:
( LV5,RANK:60 )
|
-
-
6 楼
这位大大能说说破解步骤吗? 具体点可以不?
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
能说一下具体步骤吗
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
我自己都破不出来
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
注册算法
用户名: 随便
注册码 = 大写MD5(用户名)
附易语言注册机代码
.版本 2
.支持库 dp1
.局部变量 Name, 文本型
.局部变量 Code, 文本型
Name = “wqrsksk” ' 用户名
Code = 到大写 (取数据摘要 (到字节集 (Name))) ' 用户名32位的MD5值的大写
信息框 (“注册码:” + Code, 0, )
用户名:wqrsksk
注册码:AC7334A29FABF8B3D790277855ABDF22
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
忘记说了,虽然已经知道了算法,但还是要用OD调试出来
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
呃...你这个是明码比较的, 很简单就可以看到注册码,如果稍微修改一下程序就可以避免明码比较了,这样就不能在OD里直接看出来了
..还是加强算法为好
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
字符的参考:wrong serial,try again!
定位如下
0045C2A6 55 push ebp ; 按钮事件
0045C2A7 68 3CC34500 push Project1.0045C33C
0045C2AC 64:FF30 push dword ptr fs:[eax]
0045C2AF 64:8920 mov dword ptr fs:[eax],esp
0045C2B2 8D55 F8 lea edx,dword ptr ss:[ebp-8]
0045C2B5 8B83 F8020000 mov eax,dword ptr ds:[ebx+2F8]
0045C2BB E8 60E1FDFF call Project1.0043A420 ; 取用户名
0045C2C0 8B45 F8 mov eax,dword ptr ss:[ebp-8]
0045C2C3 8D55 FC lea edx,dword ptr ss:[ebp-4]
0045C2C6 E8 89FAFFFF call Project1.0045BD54 ; 假码
0045C2CB 8D55 F4 lea edx,dword ptr ss:[ebp-C]
0045C2CE 8B83 04030000 mov eax,dword ptr ds:[ebx+304]
0045C2D4 E8 47E1FDFF call Project1.0043A420 ; MD5转换
0045C2D9 8B45 F4 mov eax,dword ptr ss:[ebp-C]
0045C2DC 8B55 FC mov edx,dword ptr ss:[ebp-4]
0045C2DF E8 4483FAFF call Project1.00404628 ; 关键call 跟进 此时真码在OD右侧窗口可见
0045C2E4 75 29 jnz short Project1.0045C30F ; 暴破点
0045C2E6 8B0D A8E24500 mov ecx,dword ptr ds:[45E2A8] ; Project1.0045FC00
0045C2EC A1 80E14500 mov eax,dword ptr ds:[45E180]
0045C2F1 8B00 mov eax,dword ptr ds:[eax]
0045C2F3 8B15 08BE4500 mov edx,dword ptr ds:[45BE08] ; Project1.0045BE54
0045C2F9 E8 AED8FFFF call Project1.00459BAC
0045C2FE A1 A8E24500 mov eax,dword ptr ds:[45E2A8]
0045C303 8B00 mov eax,dword ptr ds:[eax]
0045C305 8B10 mov edx,dword ptr ds:[eax]
0045C307 FF92 EC000000 call dword ptr ds:[edx+EC]
0045C30D EB 0A jmp short Project1.0045C319
0045C30F B8 50C34500 mov eax,Project1.0045C350 ; wrong serial,try again!
0045C314 E8 CFDBFCFF call Project1.00429EE8
0045C319 33C0 xor eax,eax
F7跟进call Project1.00404628 后
00404628 53 push ebx ; F7来到这里
00404629 56 push esi
0040462A 57 push edi
0040462B 89C6 mov esi,eax
0040462D 89D7 mov edi,edx
0040462F 39D0 cmp eax,edx ; 比较输入的注册码和真码 //真码在OD右侧窗口 (EDX=真码) 依旧可见
00404631 0F84 8F000000 je Project1.004046C6 ; 这也是暴破点
00404637 85F6 test esi,esi
00404639 74 68 je short Project1.004046A3 ; ↓
0040463B 85FF test edi,edi ; 下面已经没必要分析了
0040463D 74 6B je short Project1.004046AA
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
嗯 谢谢各位的指点
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
还是不太懂,你那个按钮事件是怎么回事? 我的入口地址是在45C5C4
|
能力值:
( LV2,RANK:10 )
|
-
-
15 楼
小弟来搀和下~~
注册机如此写,方便多了:
.版本 2
.支持库 dp1
.程序集 窗口程序集1
.子程序 _按钮1_被单击
.局部变量 Name, 文本型
.局部变量 Code, 文本型
Name = 编辑框1.内容
Code = 到大写 (取数据摘要 (到字节集 (Name)))
编辑框2.内容 = Code
|
能力值:
( LV2,RANK:10 )
|
-
-
16 楼
0045C298 /. 55 PUSH EBP ; 开始处下段...一直往下走0045C299 |. 8BEC MOV EBP,ESP
0045C29B |. 6A 00 PUSH 0
0045C29D |. 6A 00 PUSH 0
0045C29F |. 6A 00 PUSH 0
0045C2A1 |. 53 PUSH EBX
0045C2A2 |. 8BD8 MOV EBX,EAX
0045C2A4 |. 33C0 XOR EAX,EAX
0045C2A6 |. 55 PUSH EBP
0045C2A7 |. 68 3CC34500 PUSH Project1.0045C33C
0045C2AC |. 64:FF30 PUSH DWORD PTR FS:[EAX]
0045C2AF |. 64:8920 MOV DWORD PTR FS:[EAX],ESP
0045C2B2 |. 8D55 F8 LEA EDX,DWORD PTR SS:[EBP-8]
0045C2B5 |. 8B83 F8020000 MOV EAX,DWORD PTR DS:[EBX+2F8]
0045C2BB |. E8 60E1FDFF CALL Project1.0043A420
0045C2C0 |. 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
0045C2C3 |. 8D55 FC LEA EDX,DWORD PTR SS:[EBP-4]
0045C2C6 |. E8 89FAFFFF CALL Project1.0045BD54
0045C2CB |. 8D55 F4 LEA EDX,DWORD PTR SS:[EBP-C]
0045C2CE |. 8B83 04030000 MOV EAX,DWORD PTR DS:[EBX+304]
0045C2D4 |. E8 47E1FDFF CALL Project1.0043A420
0045C2D9 |. 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C]
0045C2DC |. 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
0045C2DF |. E8 4483FAFF CALL Project1.00404628 ; 注意看寄存器。。。。注册码到这里出来了
0045C2E4 |. 75 29 JNZ SHORT Project1.0045C30F
0045C2E6 |. 8B0D A8E24500 MOV ECX,DWORD PTR DS:[45E2A8] ; Project1.0045FC00
0045C2EC |. A1 80E14500 MOV EAX,DWORD PTR DS:[45E180]
0045C2F1 |. 8B00 MOV EAX,DWORD PTR DS:[EAX]
0045C2F3 |. 8B15 08BE4500 MOV EDX,DWORD PTR DS:[45BE08] ; Project1.0045BE54
0045C2F9 |. E8 AED8FFFF CALL Project1.00459BAC
0045C2FE |. A1 A8E24500 MOV EAX,DWORD PTR DS:[45E2A8]
0045C303 |. 8B00 MOV EAX,DWORD PTR DS:[EAX]
0045C305 |. 8B10 MOV EDX,DWORD PTR DS:[EAX]
0045C307 |. FF92 EC000000 CALL DWORD PTR DS:[EDX+EC]
0045C30D |. EB 0A JMP SHORT Project1.0045C319
0045C30F |> B8 50C34500 MOV EAX,Project1.0045C350 ; wrong serial,try again! 用OD查找此字符0045C314 |. E8 CFDBFCFF CALL Project1.00429EE8
0045C319 |> 33C0 XOR EAX,EAX
0045C31B |. 5A POP EDX
0045C31C |. 59 POP ECX
0045C31D |. 59 POP ECX
0045C31E |. 64:8910 MOV DWORD PTR FS:[EAX],EDX
0045C321 |. 68 43C34500 PUSH Project1.0045C343
0045C326 |> 8D45 F4 LEA EAX,DWORD PTR SS:[EBP-C]
0045C329 |. BA 02000000 MOV EDX,2
0045C32E |. E8 0D7FFAFF CALL Project1.00404240
0045C333 |. 8D45 FC LEA EAX,DWORD PTR SS:[EBP-4]
0045C336 |. E8 E17EFAFF CALL Project1.0040421C
0045C33B \. C3 RETN
就这样。。。
寄存器显示器的内容
EAX 00D84EBC ASCII "13213"
ECX 77E2C4C8 user32.77E2C4C8
EDX 00D84E8C ASCII "1C138FD52DDD771388A5B4C410A9603A"
用户名:jamie
假注册码:13213
具注册码:1C138FD52DDD771388A5B4C410A9603A
|
能力值:
( LV2,RANK:10 )
|
-
-
17 楼
这样都行...
|
能力值:
( LV2,RANK:10 )
|
-
-
18 楼
直接查找超级字符串难道不行啊,很容易的啊
|
|
|