首页
社区
课程
招聘
[原创]也是我09年的第1个CrackMe,呵呵
发表于: 2009-1-11 14:45 15644

[原创]也是我09年的第1个CrackMe,呵呵

2009-1-11 14:45
15644
语言:VC2008
概述:无壳,无病毒

只是简单的验证自己的一些想法,CM运行图示如下:


迟到的祝福:祝论坛的朋友合家安康!也祝看雪越来越好!

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

上传的附件:
收藏
免费 0
支持
分享
最新回复 (44)
雪    币: 261
活跃值: (83)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
这是你写的吗?! 我下载了,不简单呀, 一时还真破不出来! 到一定时候能不能给一个源码?
2009-1-11 14:56
0
雪    币: 261
活跃值: (83)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
你这是什么语言写的?!C语言?  易的我就不会了! VB的更不行!
2009-1-11 15:04
0
雪    币: 359
活跃值: (430)
能力值: ( LV9,RANK:150 )
在线值:
发帖
回帖
粉丝
4
VC2008的,有说明,稍作更改,呵呵
2009-1-11 16:34
0
雪    币: 564
活跃值: (12)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
5
呵呵,我是第一个吗?
上传的附件:
2009-1-11 17:04
0
雪    币: 359
活跃值: (430)
能力值: ( LV9,RANK:150 )
在线值:
发帖
回帖
粉丝
6
已经修过改了,呵呵,LS的可以下载再测试一下!
2009-1-11 17:34
0
雪    币: 209
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
嘿嘿才在52爆破了下
作者新改的防爆的我就没办法搞定了
2009-1-11 19:25
0
雪    币: 301
活跃值: (300)
能力值: ( LV9,RANK:290 )
在线值:
发帖
回帖
粉丝
8
貌似后16位注册码直接引用了,没有找到其验证过程.导致最终解密出来的代码不能用.充许自己加上不,呵呵
2009-1-11 21:26
0
雪    币: 301
活跃值: (300)
能力值: ( LV9,RANK:290 )
在线值:
发帖
回帖
粉丝
9
这个老版的还提供下载不?
2009-1-11 22:53
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
哦,明白他干嘛了,原来代码自己写,呵呵
2009-1-11 23:50
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
想请教一下楼主,你这样解码,我们岂不是可以把内容随便写

注册码就绝对不一致啦,你安排的,我可以随便在头部解一个  “ok",

push eax                      ok
call MessageBox

这样岂不是把你原来精心安排的 字节码捣乱了

道理看出来,但要睡觉了,明天下班回来看结果 哈哈
2009-1-12 00:25
0
雪    币: 301
活跃值: (300)
能力值: ( LV9,RANK:290 )
在线值:
发帖
回帖
粉丝
12
还是自己动手吧
上传的附件:
2009-1-12 08:44
0
雪    币: 150
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
试试注册码
user:h3san
key:E39C3C1F209F903C
仿佛lz的程序算法实现有问题?
2009-1-12 20:38
0
雪    币: 200
活跃值: (10)
能力值: ( 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.......
2009-1-12 21:53
0
雪    币: 359
活跃值: (430)
能力值: ( LV9,RANK:150 )
在线值:
发帖
回帖
粉丝
15
成功的如12楼图示!
2009-1-12 22:34
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
12 楼那个可能是爆破的,第一段的比较,完全是分段明码比较,忽略

第二段我可以爆好多个有创意的成功界面版本出来,只是没必要这样做。

程序设计是有问题,起码用一个 _try{} 来处理用户注册码过了第一关后的错误,

不至于出现异常窗口
2009-1-13 00:05
0
雪    币: 224
活跃值: (10)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
17
13 14楼的注册码怎么都报错哦
如图
上传的附件:
  • 1.jpg (38.49kb,165次下载)
2009-1-13 00:07
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
他们那个根本不是注册码,只是闯关了第一关后,作者没对异常出现做处理,于是出现了上图
2009-1-13 00:09
0
雪    币: 224
活跃值: (10)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
19
哦  就是说   我再看看
2009-1-13 00:11
0
雪    币: 200
活跃值: (10)
能力值: ( 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                       
2009-1-13 01:01
0
雪    币: 224
活跃值: (10)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
21
第一段就是比较  把跳转改nop爆破
第二段  就是解密   我猜解了哈   不是太难

给个注册码
user:  abcd
pw  :  E2FC7EE7239174C4-GUO
如图:


需要注意的是:正确的注册码也只能注册一次,不然再点注册又会报错,原因简单就不说啦。

期待lz的下个CrackMe!!
上传的附件:
  • 1.jpg (24.86kb,151次下载)
2009-1-13 01:47
0
雪    币: 200
活跃值: (10)
能力值: ( 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


虽然知道了大概,但是不知道你是怎么算出密钥的?高人指点一下吧!
2009-1-13 09:06
0
雪    币: 224
活跃值: (10)
能力值: ( 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楼可否说一下哦
2009-1-13 09:28
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
猜明文 有密文

喔,看来楼主手下留情了,如果换了稍微复杂一些的加密方法的话,会不会好一些呢?
2009-1-13 14:35
0
雪    币: 150
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
saga,真Λ安全分析的都很到位,佩服~~~
程序是在开着DEP时候是肯定看不到成功对话框了
2009-1-13 16:18
0
游客
登录 | 注册 方可回帖
返回
//