xingc119 发表于 2008-1-10 19:11:52

谢谢!大家!
才写好的无关大家去下的玩吧!
http://webdisk.lbyc.cn/myfile/xingc119/Crackmegame/CREAKGAME.rar

pony8000 发表于 2008-1-15 13:26:38

看看去/:012

qqwo 发表于 2008-1-15 18:57:12

易语言也能写出这么优秀的软件啊

lixy8888 发表于 2008-2-22 08:42:49

郁闷

搞不定,望高手给各详细的教程

xuhw 发表于 2008-2-24 23:58:06

看了5关,写的非常不错!!!运算中用到了123456,还有86.09.15和某人生日有关吧!哈哈!!!

aiyayaya 发表于 2008-3-11 19:48:07

太漂耍谢谢/:013

roking 发表于 2008-3-12 02:16:22

1楼的Crackme爆破

没用E写过程序,为了查E的窗体控件的属性,用精简E在窗体上面放上2个按钮(其中一个禁用)、2个文本框(其中一个只读),生成.exe后,用ultraedit或其他16进制编辑器搜索“按钮1”、“文本框1”等定位到控件的二进制数据上,分别对比2个按钮及2个文本框二进制数据的不同,很容易发现哪一位是控制按钮禁用与否以及文本框的只读标记位:
正常按钮=05禁用按钮=07
正常文本框=00只读文本框=01

具体偏移自己试一下就知道到了,知道了这些,Ultraedit打开crackme.exe,修改0x6d9ed处为05、0x712ca处为00(通过搜索“Enable Me”、“使我可输入”来定位),保存即可激活“Enable Me”按钮和去掉第二个文本框的只读属性。

去除NAG:OD载入目标程序,F9运行,出现NAG窗口后,OD中Alt+M,在crackme的.ecode段下内存访问断点,然后点NAG窗口的“确定”按钮
断在0047239B:
0047235F    55            PUSH EBP          ;入口
00472360    8BEC            MOV EBP,ESP
00472362    81EC 08000000   SUB ESP,8
00472368    68 04000080   PUSH 80000004       ;这里开始爆破跳过对话框显示,改为 JMP SHORT 0047239E
0047236D    6A 00         PUSH 0
0047236F    68 CBC04000   PUSH creakme.0040C0CB                  ; ASCII "NAG"
00472374    68 01030080   PUSH 80000301
00472379    6A 00         PUSH 0
0047237B    68 00000000   PUSH 0
00472380    68 04000080   PUSH 80000004
00472385    6A 00         PUSH 0
00472387    68 CFC04000   PUSH creakme.0040C0CF
0047238C    68 03000000   PUSH 3
00472391    BB 00030000   MOV EBX,300
00472396    E8 82040000   CALL creakme.0047281D    ;显示nag对话框
0047239B    83C4 28         ADD ESP,28   ;内存访问断点断在这里
0047239E    68 00000000   PUSH 0
004723A3    BB C4060000   MOV EBX,6C4
004723A8    E8 70040000   CALL creakme.0047281D
004723AD    83C4 04         ADD ESP,4
004723B0    68 01030080   PUSH 80000301
004723B5    6A 00         PUSH 0
004723B7    50            PUSH EAX
004723B8    68 01000000   PUSH 1
004723BD    BB 68010000   MOV EBX,168
004723C2    E8 56040000   CALL creakme.0047281D
004723C7    83C4 10         ADD ESP,10
004723CA    8945 F8         MOV DWORD PTR SS:,EAX
004723CD    6A 00         PUSH 0
004723CF    FF75 F8         PUSH DWORD PTR SS:
004723D2    6A FF         PUSH -1
004723D4    6A 08         PUSH 8
004723D6    68 06000116   PUSH 16010006
004723DB    68 01000152   PUSH 52010001
004723E0    E8 4A040000   CALL creakme.0047282F
004723E5    83C4 18         ADD ESP,18
004723E8    8B5D F8         MOV EBX,DWORD PTR SS:
004723EB    85DB            TEST EBX,EBX
004723ED    74 09         JE SHORT creakme.004723F8
004723EF    53            PUSH EBX
004723F0    E8 2E040000   CALL creakme.00472823
004723F5    83C4 04         ADD ESP,4
004723F8    8BE5            MOV ESP,EBP
004723FA    5D            POP EBP
004723FB    C3            RETN

爆破点00472368   /EB 34         JMP SHORT creakme.0047239E
注意选择跳转目标时要保持堆栈平衡,否则死翘翘。

下面来爆注册部分:
主窗口出来后,同上ALT+M在crackme的.ecode段下内存访问断点,按主窗口“确定”按钮,直接断在了按钮事件处理入口:
0047253A    55            PUSH EBP
0047253B    8BEC            MOV EBP,ESP
0047253D    81EC 28000000   SUB ESP,28
00472543    C745 F8 0000000>MOV DWORD PTR SS:,0   ;这里开跳,改为jmp 00472752
0047254A    C745 FC 0000000>MOV DWORD PTR SS:,0
。。。。。。。。。。。省略注册算法NN行
0047274F    3955 F4         CMP DWORD PTR SS:,EDX
00472752    0F85 3B000000   JNZ creakme.00472793
00472758    68 04000080   PUSH 80000004
0047275D    6A 00         PUSH 0
0047275F    68 7CC14000   PUSH creakme.0040C17C
00472764    68 01030080   PUSH 80000301
00472769    6A 00         PUSH 0
0047276B    68 00000000   PUSH 0
00472770    68 04000080   PUSH 80000004
00472775    6A 00         PUSH 0
00472777    68 81C14000   PUSH creakme.0040C181
0047277C    68 03000000   PUSH 3
00472781    BB 00030000   MOV EBX,300
00472786    E8 92000000   CALL creakme.0047281D;注册成功
0047278B    83C4 28         ADD ESP,28
。。。。。。。。

[ 本帖最后由 roking 于 2008-3-12 02:17 编辑 ]

无极破解 发表于 2008-3-13 10:03:21

字符串找到了这个/:L
Ultra String Reference
Address    Disassembly                               Text String
0047236F   push    0040C0CB                        nag
00472387   push    0040C0CF                        本关你要去掉我(*^__^*) 嘻嘻……
00472406   push    0040C0EF                        笨鸟creakme
0047241E   push    0040C0FB                        感谢在学习中帮助过我的那些朋友!\n\n                  —— by后飞笨鸟。
00472443   push    0040C141                        o(∩_∩)o...
0047245B   push    0040C14E                        good job!
004725C5   push    0040C15A                        警告
004725DD   push    0040C15F                        请输入注册码
0047275F   push    0040C17C                        恭喜
00472777   push    0040C181                        注册成功
0047279A   push    0040C15A                        警告
004727B2   push    0040C18A                        注册码错误
004727CF   cld                                       (initial cpu selection)

[ 本帖最后由 无极破解 于 2008-3-13 10:04 编辑 ]

洞庭风 发表于 2008-3-18 10:39:46

娌豁,慕

echo 发表于 2008-3-28 17:41:07

用易也能写出来这种呀,
不过好像破解起来难度不大?
页: 1 [2] 3 4
查看完整版本: 易语言写的漂亮的Creakme