- UID
- 2
注册时间2004-12-1
阅读权限255
最后登录1970-1-1
总坛主
TA的每日心情 | 开心 2024-12-1 11:04 |
---|
签到天数: 12 天 [LV.3]偶尔看看II
|
【破文标题】[PYG]算法分析入门第三课
【破文作者】飘云[PYG]
【破解平台】winxp
【作者邮箱】[email protected]
【软件名称】网页特效梦工厂 XP V2.3
【软件大小】1436 KB
【下载地址】http://www3.skycn.com/soft/8556.html
【软件说明】你在做网页嘛,如果是的话,这是你不可多得的超Cool工具。这是可以自动生成网页特效的软件,
每个特效都可以有您进行参数设置,100%傻瓜性。收集了包括时间特效,文字特效,图像处理,鼠标特效,页面
特效,菜单特效,在线游戏,其它特效在内的八类上百个精彩特效。这些特效都是使用率比较高的JavaScript
代码,您可以直接使用。软件内置浏览器,您可以随时预览特效效果;特效制作好之后,您可以把它复制到剪
贴板,或者保存到文件中;软件的界面美观新颖,操作简单明了,极易上手。轻轻点几下鼠标,又炫又酷的网页
任你选!
【破解工具】PEiD 0.92中文版、W32Dasm10.0汉化版、OD二哥修改版
【保护方式】机器码+序列号
【破解目的】学习破解。熟练应用各种工具。
【破解声明】我乃小菜鸟一只,偶得一点心得,愿与大家分享:)
【破解步骤】先用PEiD 0.92侦测,发现为ASPack 2.12 -> Alexey Solodovnikov 用脱壳机搞定之后再侦测为
Borland Delphi 6.0 - 7.0编写;试着运行软件:我的机器码为:65288649 输入伪码:78946123,点“确定注
册”出现“错误,网页特效梦工厂 注册认证失败”的错误窗口,呵呵!这是关键!
接下来W32DASM出场,在“串式参考”中找到:
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0050C794(C) ★★★从这里跳来的,跟过去★★★
|
* Possible StringData Ref from Code Obj ->"错误,网页特效梦工厂 注册认证失败"
**********************************************************************************************
:0050C76D 8D55F0 lea edx, dword ptr [ebp-10]
:0050C770 8B86FC020000 mov eax, dword ptr [esi+000002FC]
:0050C776 E8355FF3FF call 004426B0
:0050C77B 8B45F0 mov eax, dword ptr [ebp-10] 机器码送eax
:0050C77E E859CDEFFF call 004094DC 把机器码转换成十六进制
:0050C783 E8EC260000 call 0050EE74 算法call,跟进去
:0050C788 8BD8 mov ebx, eax
:0050C78A 8B45FC mov eax, dword ptr [ebp-04]
:0050C78D E84ACDEFFF call 004094DC
:0050C792 3BD8 cmp ebx, eax 这里ebx的十六进制是真码
:0050C794 0F8581000000 jne 0050C81B ★★★这里跳向死亡★★★
:0050C79A B201 mov dl, 01
:0050C79C A17CBE4600 mov eax, dword ptr [0046BE7C]
:0050C7A1 E8D6F7F5FF call 0046BF7C
:0050C7A6 8BD8 mov ebx, eax
:0050C7A8 BA02000080 mov edx, 80000002
:0050C7AD 8BC3 mov eax, ebx
:0050C7AF E868F8F5FF call 0046C01C
:0050C7B4 33C9 xor ecx, ecx
进入call 0050EE74:
0050EE74 /$ 55 push ebp
0050EE75 |. 8BEC mov ebp,esp
0050EE77 |. 6A 00 push 0
0050EE79 |. 53 push ebx
0050EE7A |. 56 push esi
0050EE7B |. 8BF0 mov esi,eax ; 机器码十六进制03E439C9送到esi
0050EE7D |. 33C0 xor eax,eax ; 清零
0050EE7F |. 55 push ebp
0050EE80 |. 68 42EF5000 push Unpacked.0050EF42
0050EE85 |. 64:FF30 push dword ptr fs:[eax]
0050EE88 |. 64:8920 mov dword ptr fs:[eax],esp
0050EE8B |. BB D9D10E00 mov ebx,0ED1D9 ; 初始化ebx=0ED1D9(即十进制971225)
0050EE90 |. 8D45 FC lea eax,dword ptr ss:[ebp-4]
0050EE93 |. BA 58EF5000 mov edx,Unpacked.0050EF58 ; ASCII "wangshuang"
0050EE98 |. E8 8B5EEFFF call Unpacked.00404D28
0050EE9D |. 8B45 FC mov eax,dword ptr ss:[ebp-4]
0050EEA0 |. E8 A360EFFF call Unpacked.00404F48 ; 计算字符的长度,并放到eax
0050EEA5 |. 85C0 test eax,eax
0050EEA7 |. 7E 1B jle short Unpacked.0050EEC4
0050EEA9 |. BA 01000000 mov edx,1
0050EEAE |> 8B4D FC /mov ecx,dword ptr ss:[ebp-4]
0050EEB1 |. 0FB64C11 FF |movzx ecx,byte ptr ds:[ecx+edx-1] ; 逐位取"wangshuang"的每位ascii送到ecx
0050EEB6 |. 8D0C89 |lea ecx,dword ptr ds:[ecx+ecx*4] ; ecx=ecx+4*ecx
0050EEB9 |. 8D0C89 |lea ecx,dword ptr ds:[ecx+ecx*4] ; ecx=ecx+4*ecx
0050EEBC |. 03D9 |add ebx,ecx ; ebx=ebx+ecx(即等于971225+ecx)
0050EEBE |. 03DE |add ebx,esi ; 上面的值加上机器码(前面分析了esi中放的是机器码的十六进制)
0050EEC0 |. 42 |inc edx ; 指向下一位字符(edx=edx+1)
0050EEC1 |. 48 |dec eax ; 字符长度减一(eax=eax-1)
0050EEC2 |.^ 75 EA \jnz short Unpacked.0050EEAE ; 循环取
0050EEC4 |> 8D45 FC lea eax,dword ptr ss:[ebp-4]
0050EEC7 |. BA 6CEF5000 mov edx,Unpacked.0050EF6C ; 字符"yaoyuan"
0050EECC |. E8 575EEFFF call Unpacked.00404D28 ; 这里和上面调用同一call
0050EED1 |. 8B45 FC mov eax,dword ptr ss:[ebp-4]
0050EED4 |. E8 6F60EFFF call Unpacked.00404F48 ; 这里和上面调用同一call,
所以功能相同
0050EED9 |. 85C0 test eax,eax
0050EEDB |. 7E 1B jle short Unpacked.0050EEF8
0050EEDD |. BA 01000000 mov edx,1
0050EEE2 |> 8B4D FC /mov ecx,dword ptr ss:[ebp-4]
0050EEE5 |. 0FB64C11 FF |movzx ecx,byte ptr ds:[ecx+edx-1]
0050EEEA |. 8D0C89 |lea ecx,dword ptr ds:[ecx+ecx*4]
0050EEED |. 8D0C89 |lea ecx,dword ptr ds:[ecx+ecx*4]
0050EEF0 |. 03D9 |add ebx,ecx
0050EEF2 |. 03DE |add ebx,esi
0050EEF4 |. 42 |inc edx
0050EEF5 |. 48 |dec eax
0050EEF6 |.^ 75 EA \jnz short Unpacked.0050EEE2
0050EEF8 |> 8D45 FC lea eax,dword ptr ss:[ebp-4]
0050EEFB |. BA 7CEF5000 mov edx,Unpacked.0050EF7C ; 字符"JSBuilder"
0050EF00 |. E8 235EEFFF call Unpacked.00404D28
0050EF05 |. 8B45 FC mov eax,dword ptr ss:[ebp-4]
0050EF08 |. E8 3B60EFFF call Unpacked.00404F48 ; 这里和上面调用同一call
0050EF0D |. 85C0 test eax,eax
0050EF0F |. 7E 1B jle short Unpacked.0050EF2C
0050EF11 |. BA 01000000 mov edx,1
0050EF16 |> 8B4D FC /mov ecx,dword ptr ss:[ebp-4]
0050EF19 |. 0FB64C11 FF |movzx ecx,byte ptr ds:[ecx+edx-1]
0050EF1E |. 8D0C89 |lea ecx,dword ptr ds:[ecx+ecx*4]
0050EF21 |. 8D0C89 |lea ecx,dword ptr ds:[ecx+ecx*4]
0050EF24 |. 03D9 |add ebx,ecx
0050EF26 |. 03DE |add ebx,esi
0050EF28 |. 42 |inc edx
0050EF29 |. 48 |dec eax
0050EF2A |.^ 75 EA \jnz short Unpacked.0050EF16
0050EF2C |> 33C0 xor eax,eax
0050EF2E |. 5A pop edx
0050EF2F |. 59 pop ecx
0050EF30 |. 59 pop ecx
0050EF31 |. 64:8910 mov dword ptr fs:[eax],edx
0050EF34 |. 68 49EF5000 push Unpacked.0050EF49
0050EF39 |> 8D45 FC lea eax,dword ptr ss:[ebp-4]
0050EF3C |. E8 4F5DEFFF call Unpacked.00404C90
0050EF41 \. C3 retn
0050EF42 .^ E9 ED56EFFF jmp Unpacked.00404634
0050EF47 .^ EB F0 jmp short Unpacked.0050EF39
0050EF49 . 8BC3 mov eax,ebx
0050EF4B . 5E pop esi
0050EF4C . 5B pop ebx
0050EF4D . 59 pop ecx
0050EF4E . 5D pop ebp
0050EF4F . C3 retn
我的注册信息:
机器码:65288649
注册码:1698544024
下面给出注册机VB源码
Private Sub command1_Click()
X = Val(Text1.Text)
A = &HED1D9
B = 0
C = 0
D = 0
ZF1 = "wangshuang"
ZF2 = "yaoyuan"
ZF3 = "JSBuilder"
If Text1.Text = "" Then
MsgBox "机器码没有输入吧!", 64, "注意"
Else
For i = 1 To Len(ZF1)
B = Asc(Mid(ZF1, i))
B = B + B * 4
B = B + B * 4
A = B + A + X
Next i
For i = 1 To Len(ZF2)
C = Asc(Mid(ZF2, i))
C = C + C * 4
C = C + C * 4
A = A + C + X
Next i
For i = 1 To Len(ZF3)
D = Asc(Mid(ZF3, i))
D = D + D * 4
D = D + D * 4
A = A + D + X
Next i
Text2.Text = A
End If
End Sub |
|