能力值:
( LV3,RANK:20 )
|
-
-
2 楼
这是你写的吗?! 我下载了,不简单呀, 一时还真破不出来! 到一定时候能不能给一个源码?
|
能力值:
( LV3,RANK:20 )
|
-
-
3 楼
你这是什么语言写的?!C语言? 易的我就不会了! VB的更不行!
|
能力值:
( LV9,RANK:150 )
|
-
-
4 楼
VC2008的,有说明,稍作更改,呵呵
|
能力值:
( LV5,RANK:60 )
|
-
-
5 楼
|
能力值:
( LV9,RANK:150 )
|
-
-
6 楼
已经修过改了,呵呵,LS的可以下载再测试一下!
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
嘿嘿才在52爆破了下
作者新改的防爆的我就没办法搞定了
|
能力值:
( LV9,RANK:290 )
|
-
-
8 楼
貌似后16位注册码直接引用了,没有找到其验证过程.导致最终解密出来的代码不能用.充许自己加上不,呵呵
|
能力值:
( LV9,RANK:290 )
|
-
-
9 楼
这个老版的还提供下载不?
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
哦,明白他干嘛了,原来代码自己写,呵呵
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
想请教一下楼主,你这样解码,我们岂不是可以把内容随便写
注册码就绝对不一致啦,你安排的,我可以随便在头部解一个 “ok",
push eax ok
call MessageBox
这样岂不是把你原来精心安排的 字节码捣乱了
道理看出来,但要睡觉了,明天下班回来看结果 哈哈
|
能力值:
( LV9,RANK:290 )
|
-
-
12 楼
还是自己动手吧
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
试试注册码
user:h3san
key:E39C3C1F209F903C
仿佛lz的程序算法实现有问题?
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
呵呵,我也辛辛苦苦搞了一个注册码。
user:sharkxu
key :DE09439FA5F39854D648667E6E958C73
小弟初学,希望达人指点一二。为什么什么都没有啊?
确定注册后,窗口就没了。
但资源是有的:
--------------------------------
0040A330 D3 C3 BB A7
0040A340 C3 FB B3 A4 B6 C8 B2 BB B5 C3 D0 A1 D3 DA 34 CE 名长度不得小于4
0040A350 BB A3 A1 00 C7 EB CA E4 C8 EB D7 A2 B2 E1 C2 EB 唬?请输入注册码
0040A360 A3 A1 00 00 25 30 32 58 00 00 00 00 D7 A2 B2 E1 !..%02X....注册
0040A370 B3 C9 B9 A6 00 00 00 00 D7 A2 B2 E1 C2 EB B3 C9 成功....注册码成
0040A380 B9 A6 A3 AC B9 A7 CF B2 C4 E3 A3 AC B9 FE A3 A1 功,恭喜你,哈!
0040A390 00 00 00 00 00 00 00 00 48 00 00 00 00 00 00 00 ........H.......
|
能力值:
( LV9,RANK:150 )
|
-
-
15 楼
成功的如12楼图示!
|
能力值:
( LV2,RANK:10 )
|
-
-
16 楼
12 楼那个可能是爆破的,第一段的比较,完全是分段明码比较,忽略
第二段我可以爆好多个有创意的成功界面版本出来,只是没必要这样做。
程序设计是有问题,起码用一个 _try{} 来处理用户注册码过了第一关后的错误,
不至于出现异常窗口
|
能力值:
( LV6,RANK:90 )
|
-
-
17 楼
13 14楼的注册码怎么都报错哦
如图
|
能力值:
( LV2,RANK:10 )
|
-
-
18 楼
他们那个根本不是注册码,只是闯关了第一关后,作者没对异常出现做处理,于是出现了上图
|
能力值:
( LV6,RANK:90 )
|
-
-
19 楼
哦 就是说 我再看看
|
能力值:
( LV2,RANK:10 )
|
-
-
20 楼
是啊,前半段注册码比较完后,运行到这就异常了,不知向哪里走了,请高人指点。这个004016E8是个3Eh大的区域,貌似每四BYTE与注册码的10h-13h的字符异或,然后就变成下面的样子了。不知这里应该是指令还是数据。
004016E8 66:CF IRETW
004016EA 6C INS BYTE PTR ES:[EDI],DX
004016EB CE INTO
004016EC AE SCAS BYTE PTR ES:[EDI]
004016ED 3161 F4 XOR DS:[ECX-C],ESP
004016F0 90 NOP
004016F1 36:15 7582416>ADC EAX,6E418275
004016F7 C9 LEAVE
004016F8 ^ 7C CB JL SHORT 004016C5
004016FA A6 CMPS BYTE PTR DS:[ESI],BYTE PTR ES:[EDI]
004016FB 37 AAA
004016FC 69F2 9B221D73 IMUL ESI,EDX,731D229B
00401702 8A55 66 MOV DL,SS:[EBP+66]
00401705 CF IRETD
00401706 64:CC INT3
00401708 AE SCAS BYTE PTR ES:[EDI]
00401709 3161 F4 XOR DS:[ECX-C],ESP
0040170C 91 XCHG EAX,ECX
0040170D 3E:15 7582650>ADC EAX,0B658275
00401713 77 01 JA SHORT 00401716
00401715 1D C2376919 SBB EAX,196937C2
0040171A 19D4 SBB ESP,EDX
0040171C 2971 0B SUB DS:[ECX+B],ESI
0040171F ^ 77 96 JA SHORT 004016B7
00401721 64:9D POPFD
00401723 E7 29 OUT 29,EAX
00401725 71 5F JNO SHORT 00401786
|
能力值:
( LV6,RANK:90 )
|
-
-
21 楼
第一段就是比较 把跳转改nop爆破
第二段 就是解密 我猜解了哈 不是太难
给个注册码
user: abcd
pw : E2FC7EE7239174C4-GUO
如图:
需要注意的是:正确的注册码也只能注册一次,不然再点注册又会报错,原因简单就不说啦。期待lz的下个CrackMe!!
|
能力值:
( LV2,RANK:10 )
|
-
-
22 楼
呵呵,原来把数据解密后才有运行的代码啊,崇拜saga~
修改后的注册信息
name: sharkxu
sn : DE09439FA5F39854-GUO
也就是说,sn前十六个字符是name运算的结果,最后四个字符是固定的,是用于解码的密钥。
在004016E8处的3Eh byte数据是加密的,只有输入正确的密钥,程序才能正常通过注册。
解码前的数据:
004016E8 22 F9 58 F6 EA 07 55 CC D4 00 21 4D C6 77 5A F1 "鵛鲫U淘.!M苭Z
004016F8 38 FD 92 0F 2D C4 AF 1A 59 45 BE 6D 22 F9 50 F4 8龗-寞YE緈"鵓
00401708 EA 07 55 CC D5 08 21 4D C6 53 3F 4F 45 2B F6 0F ?U陶!M芐?OE+?
00401718 2D 2F 2D EC 6D 47 3F 4F D2 52 A9 DF 6D 47 -/-靘G?O襌┻mG_^
解码后的数据:
004016E8 0FBE0D B9C74000 MOVSX ECX,BYTE PTR DS:[40C7B9] ;SN[11H]
004016EF 83F9 47 CMP ECX,47 ;'G'
004016F2 74 02 JE SHORT 004016F6
004016F4 EB 30 JMP SHORT 00401726
004016F6 0FBE15 BAC74000 MOVSX EDX,BYTE PTR DS:[40C7BA] ;SN[12H]
004016FD 83FA 55 CMP EDX,55 ;'U'
00401700 74 02 JE SHORT 00401704
00401702 EB 22 JMP SHORT 00401726
00401704 0FBE05 BBC74000 MOVSX EAX,BYTE PTR DS:[40C7BB] ;SN[13H]
0040170B 83F8 4F CMP EAX,4F ;'O'
0040170E 74 02 JE SHORT 00401712
00401710 EB 14 JMP SHORT 00401726
00401712 6A 00 PUSH 0 ;/
00401714 68 6CA34000 PUSH 40A36C ;| "注册成功"
00401719 68 78A34000 PUSH 40A378 ;| "注册码成功,恭喜你,哈!"
0040171E 6A 00 PUSH 0 ;|
00401720 FF15 FC904000 CALL DS:[4090FC] ;\ USER32.MessageBoxA
虽然知道了大概,但是不知道你是怎么算出密钥的?高人指点一下吧!
|
能力值:
( LV6,RANK:90 )
|
-
-
23 楼
那一段加啦秘的代码只有3E个字节不长, 里面估计肯定有这样一个结构
00401712 6A 00 PUSH 0 ;/
00401714 68 6CA34000 PUSH 40A36C ;| "注册成功"
00401719 68 78A34000 PUSH 40A378 ;| "注册码成功,恭喜你,哈!"
0040171E 6A 00 PUSH 0 ;|
00401720 FF15 FC904000 CALL DS:[4090FC] ;\ USER32.MessageBoxA
猜明文 有密文
然后知道了密钥是4字节的循环xor解密,明密文对着一起分析哈 很简单就能分析出密钥
倒是12楼是怎么爆破 或者猜解的过程具体就不知道啦 12楼可否说一下哦
|
能力值:
( LV2,RANK:10 )
|
-
-
24 楼
猜明文 有密文
喔,看来楼主手下留情了,如果换了稍微复杂一些的加密方法的话,会不会好一些呢?
|
能力值:
( LV2,RANK:10 )
|
-
-
25 楼
saga,真Λ安全分析的都很到位,佩服~~~
程序是在开着DEP时候是肯定看不到成功对话框了
|
|
|