caterpilla 发表于 2006-7-9 07:55:26

CODE:31371821,为固定码

有五个常数参与计算
#define C1 0x010AA8DB
#define C2 0x157
#define C3 0xB
#define C4 0x5352e18
#define C5 0x15935221

根据算式来计算CODE
CODE * C3+C1+C2-C4=C5-C4
即:CODE*0xb+0x0101a8db+0x157-0x5352e18=0x15935221-0x5352e18

解出来CODE=31371821


感谢楼主让我把VB的两种编译方式的程序对照的看了下,呵呵。。。。。。。。
此次CRACKME学习了WKTVDE和P-CODE的简单分析,用到工具有VB EXPLORER,WKTVBDE,OD及计算器

[ 本帖最后由 caterpilla 于 2006-7-9 07:59 编辑 ]

野猫III 发表于 2006-7-9 08:05:07

原帖由 caterpilla 于 2006-7-9 07:55 发表
CODE:31371821,为固定码

有五个常数参与计算
#define C1 0x010AA8DB
#define C2 0x157
#define C3 0xB
#define C4 0x5352e18
#define C5 0x15935221

根据算式来计算CODE
CODE * C3+C1+C2-C4=C5-C4
...

Private Sub Command1_Click()
Text2.Text = Val(Text1.Text) * &HB + &H101A8DB + &H157 - &H5352E18
End Sub

+++++++++++++有点急,得看清楚算法才行。。。回头再试

lgjxj 发表于 2006-7-9 09:29:56

就知道 VB 的一出,结果也出来了,纯 VB 编译的,很容易就跟到了关键点

lgjxj 发表于 2006-7-9 09:39:33

Dim temp, pw, jqm As Variant    'temp(用来存储用户输入的临时注册码)

Private Sub Command1_Click()
MsgBox "尽量不要爆破啊!看你能不能追到注册码不,挺简单的"
j = 87371288                              
pw = 734173 * 23 + 31371821 * 11 + 343 - j
temp = Val(Text1.Text)
temp = 734173 * 23 + temp * 11 + 343 - j
If Text1.Text = "" Then
MsgBox "请输入注册码,这里可不时空的"
End If
If temp = pw Then
MsgBox "感谢你支持共享软件"
Else
MsgBox "注册码不对,请检查"
End If
End Sub
Private Sub Command2_Click()
Text1.Text = ""                        '清空文本框
End Sub
End Sub

Private Sub Form_Load()
MsgBox "尽量不要爆破啊!看你能不能追到注册码不,挺简单的"
End Sub

简单,千万别笑.^. 不过还算非明码对比,要大家用一下计算器
本来想取用户名,但那就比较明显了。。。。。。。。。。。。。
VB 的好多函数都不知道怎样用,以前只自学过 C :L,感谢大家的讨论
下次来个难的;P;P;P

[ 本帖最后由 lgjxj 于 2006-7-9 09:47 编辑 ]

viensa 发表于 2007-5-7 00:26:48

页: 1 [2]
查看完整版本: 一个VB 的小CrackMe (简单)