首页
社区
课程
招聘
[原创]菜鸟我的第一个CrackMe
发表于: 2008-6-12 20:44 8320

[原创]菜鸟我的第一个CrackMe

2008-6-12 20:44
8320
没事写个CrackMe玩玩,来看雪献个丑.
欢迎大侠们来蹂躏啊.
很简单的算法,爆破就没什么意思了.

不能传附件,就给个下载地址吧:
http://www.xpi386.com/soft/CrackMe.rar

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (19)
雪    币: 461
活跃值: (93)
能力值: ( LV9,RANK:1170 )
在线值:
发帖
回帖
粉丝
2
帮你传个附件.
上传的附件:
2008-6-13 20:58
0
雪    币: 208
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
VB的……不会……
2008-6-13 21:32
0
雪    币: 143
活跃值: (17)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
VB的p-code 不会整
2008-6-13 22:19
0
雪    币: 143
活跃值: (17)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
按钮按下的事件是这个代码
0040EB28: 27 LitVar_Missing 0013F3F8h
0040EB2B: 27 LitVar_Missing 0013F418h
0040EB2E: 3A LitVarStr '失败'
0040EB33: 4E FStVarCopyObj 0013F438h
0040EB36: 04 FLdRfVar 0013F438h
0040EB39: F5 LitI4: -> 0h 0
0040EB3E: 3A LitVarStr '对不起,重新试试吧!'
0040EB43: 4E FStVarCopyObj 0013F458h
0040EB46: 04 FLdRfVar 0013F458h
0040EB49: 0A ImpAdCallFPR4 rtcMsgBox on address 660EABBFh
0040EB4E: 36 FFreeVar -> 4
0040EB59: F4 LitI2_Byte: -> 0h 0
0040EB5B: 04 FLdRfVar 0013F3F4h
0040EB5E: 08 FLdPr
0040EB61: 0D VCallHresult
0040EB66: 08 FLdPr
0040EB69: 0D VCallHresult
0040EB6E: 1A FFree1Ad
0040EB71: 13 ExitProcHresult

怎么感觉没判断啊。。。直接就弹出错误的对话框
2008-6-13 22:29
0
雪    币: 206
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
就是,上次在吾爱破解看到过,也是这个,,
2008-6-13 22:34
0
雪    币: 1355
活跃值: (339)
能力值: ( LV13,RANK:920 )
在线值:
发帖
回帖
粉丝
7
如你所愿,蹂躏吧...匆匆飘过...难得今天看到个扎眼的,呵呵 PCODE 往往让人很难受

密码表一:xu1789119800510420417ximoABCDEFGHIJKLMN
密码表二参数:1789
密码表三参数:11980

第一步,从“用户名位数+1”位开始,取密码表一的5位字符串
第二步,将所有用户名ASC值依次相加,将结果跟密码表二参数1789相加,然后取用户名ASC值的位数位
第三步,将所有用户名ASC值依次相加,将结果跟密码表三参数11980相加,然后取用户名ASC值十六进制的位数位
第四步,将上面三个步骤的字符串连接即为注册码,输入注册码后等待5秒钟,注册成功,按钮是个摆设

0040EECD 为关键跳

实际注册过程中是分段注册,要求三段必须正确才能注册成功
这类注册过程说好听点是瞒天过海,其实是掩耳盗铃
将注册对比演算过程放在文本框CHANGE事件中,跟按钮独立开来,注册成功后,消息通过时间控件来传递
相比,注册按钮在这里设计的不怎么成功,让人马上就怀疑它的用途

注册算法:

Private Sub Command1_Click()
'该按钮为注册按钮
Text2.Text = Zhuce(Text1.Text)
End Sub

Private Sub Command2_Click()
'该按钮为退出
End
End Sub

Function Zhuce(name As String) As String
'该函数定义为注册算法函数,使用的时候只要对应用户名即可
On Error GoTo Cuowu

Dim Sn1 As String
Dim Sn2 As String
Dim Sn3 As String
Dim n As Long
Dim Leijia

If Len(name) = 0 Then Zhuce = "1xu178": Exit Function

For n = 1 To Len(name)
    Leijia = Leijia + Asc(Mid(name, n, 1))
Next n

Sn1 = Mid(1789 + Leijia, 1, Len(Leijia))
Sn2 = Mid(11980 + Leijia, 1, Len(Hex(Leijia)))
Sn3 = Mid("xu1789119800510420417ximoABCDEFGHIJKLMN", Len(name) + 1, 5)

Zhuce = Sn1 & Sn2 & Sn3

Exit Function
Cuowu:
Zhuce = "发生错误,请检查"

End Function

附带该CM的注册机
上传的附件:
2008-6-14 04:22
0
雪    币: 143
活跃值: (17)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
完全没效果,还是提示错误
2008-6-14 13:27
0
雪    币: 206
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
七楼的高手啊,
2008-6-14 13:47
0
雪    币: 1355
活跃值: (339)
能力值: ( LV13,RANK:920 )
在线值:
发帖
回帖
粉丝
10
我已经说得很明白了,按钮在这里是个摆设,你不要去碰它,它起误导作用
输入用户名后,再输入注册码,顺序不能颠倒.输入完成后,等待5秒钟,什么都别动,也不要毛手毛脚得按这按那,否则就陷入作者的圈套之中......

5秒钟之后,即可显示注册成功,恭喜你什么的窗口
2008-6-14 18:33
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
牛人啊
2008-6-14 19:52
0
雪    币: 261
活跃值: (10)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
12
实在太牛啊!这种鬼东西都能破! 
上传的附件:
  • 5.jpg (14.23kb,192次下载)
2008-6-14 21:16
0
雪    币: 239
活跃值: (10)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
13
爱琴海是VB杀手

以前领教过了
2008-6-15 07:44
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
严重学习爱琴海!!!!!!!!

呵呵~
2008-6-15 10:30
0
雪    币: 1534
活跃值: (312)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
我也来试试!
2008-6-15 14:28
0
雪    币: 242
活跃值: (112)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
无用户名:
1xu1789
呵~
2008-6-16 11:29
0
雪    币: 242
活跃值: (112)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
直接bp VarCmp看注册码,明码比较...如果不是明码比较,难度大很多.
2008-6-16 11:32
0
雪    币: 1355
活跃值: (339)
能力值: ( LV13,RANK:920 )
在线值:
发帖
回帖
粉丝
18
应该是明文,但是VarCmp,VarComp都是没用的,断不下来
应该断:rtcMidCharBstr 第十次断下,即可在堆栈区看到真实注册码

或者直接从开头分析整个程序,分析出它的全部原理和陷阱所在......
2008-6-16 12:31
0
雪    币: 170
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
下断VarCmp应该可以看到的
zhou--》22412489119

那个注册按钮误导
2008-6-17 10:05
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
学习啊  也要破解一下
2008-6-18 11:21
0
游客
登录 | 注册 方可回帖
返回
//