首页
社区
课程
招聘
[原创]新手练习CRACKME#1
发表于: 2006-8-1 18:50 11908

[原创]新手练习CRACKME#1

2006-8-1 18:50
11908
收藏
免费 7
支持
分享
最新回复 (34)
雪    币: 200
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
26
只有学习才能进步…… 我学……
2006-8-24 12:42
0
雪    币: 221
活跃值: (20)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
27
#include<stdio.h>
#include<string.h>

main()
{
int i,b[20];
char a[20];
clrscr();
gets(a);
printf("HZF-");
for(i=0;i<strlen(a);i++)
   {
    b[i]=a[i]^(6+i);
    b[i]=b[i]+a[i];
    b[i]=b[i]&0x00ff;
    b[i]=b[i]+0x0a;
    if(b[i]>=0x61&&b[i]<=0x7A)b[i]-=0x20;
    printf("%c",b[i]);
   }
printf("-GFD");
getch();
}
2006-8-25 13:00
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
28
新手学习了,谢谢
俺把NAG去掉改的是在这里
0040821C   . /EB 0A         JMP SHORT Keygen_B.00408228

注册名:1111
注册码:HZF-RQTS-GFD
2006-8-26 10:49
0
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
29
不错的新手教材
2006-8-28 18:37
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
30
既然给新手写,为什么要用术语,看不懂,
NAG
什么意思
2006-8-28 22:22
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
31
为什么  用把JNZ 改为JZ 就会出错了 提示不是有效的WIN32的应用程序?
2006-8-29 19:30
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
32
能否把crackme上传啊
2006-11-17 12:01
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
33
逍遥风果然是厉害啊,学习啦
2006-11-17 12:03
0
雪    币: 235
活跃值: (12)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
34
2)NOP法去NAG
还是上面的代码,这次不修改跳转。
00408217 . E8 F0C2FFFF call 0040450C
0040821C . 6A 40 push 40 ; /Style = MB_OK|MB_ICONASTERISK|MB_APPLMODAL
0040821E . 68 4C824000 push 0040824C ; |Title = "Rules"
00408223 . 68 54824000 push 00408254 ; |Text = "KeygenMe and delete this window good luck !!!"
00408228 . 6A 00 push 0 ; |hOwner = NULL
0040822A . E8 41C4FFFF call <jmp.&user32.MessageBoxA> ; \MessageBoxA(修改这里,改为NOP)
修改后变为
00408228 . 6A 00 push 0 ; |hOwner = NULL
0040822A 90 nop
保存修改后,重新运行这个CRACKME。NAG窗口已经被去掉。
两种方法形式上不一样,但本质上是一样的。

楼主的第2个办法似乎不行,因为这样一来堆栈没有平衡啊!
2006-11-17 15:02
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
35
看看,
学学,
2006-11-17 16:42
0
游客
登录 | 注册 方可回帖
返回
//