首页
社区
课程
招聘
[原创]写一个无聊的crackme给大家玩玩
发表于: 2008-3-17 18:15 23124

[原创]写一个无聊的crackme给大家玩玩

2008-3-17 18:15
23124
收藏
免费 7
支持
分享
最新回复 (68)
雪    币: 7309
活跃值: (3788)
能力值: (RANK:1130 )
在线值:
发帖
回帖
粉丝
26
我好奇的是这个图怎么画出来的,万一画出一个无解图怎么办?
2008-3-18 11:13
0
雪    币: 82
活跃值: (10)
能力值: (RANK:210 )
在线值:
发帖
回帖
粉丝
27
所以说杂志很强大
2008-3-18 11:17
0
雪    币: 7309
活跃值: (3788)
能力值: (RANK:1130 )
在线值:
发帖
回帖
粉丝
28
预计一下,下一个crackme是推箱子
2008-3-18 11:18
0
雪    币: 7309
活跃值: (3788)
能力值: (RANK:1130 )
在线值:
发帖
回帖
粉丝
29
我的意思不是你怎么画出来的,是这个图是怎么构造出来的,随便画一个图,很可能无解的,同一个图,规则小小改动一下也是无解的(比如行优先)
2008-3-18 11:20
0
雪    币: 82
活跃值: (10)
能力值: (RANK:210 )
在线值:
发帖
回帖
粉丝
30
发完贴发现读错了
2008-3-18 11:24
0
雪    币: 82
活跃值: (10)
能力值: (RANK:210 )
在线值:
发帖
回帖
粉丝
31
我预计俄罗斯方块
2008-3-18 11:25
0
雪    币: 6075
活跃值: (2236)
能力值: (RANK:1060 )
在线值:
发帖
回帖
粉丝
32
我的想法是反过来,先生成解法,根据解法调整,最后绘图
2008-3-18 11:25
0
雪    币: 82
活跃值: (10)
能力值: (RANK:210 )
在线值:
发帖
回帖
粉丝
33
绘完图写杂志 写完杂志未成年
2008-3-18 11:27
0
雪    币: 259
活跃值: (10)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
34
现在的CRACKME怎么都这么变态啊,晕死了!不敢碰了
2008-3-18 11:31
0
雪    币: 7309
活跃值: (3788)
能力值: (RANK:1130 )
在线值:
发帖
回帖
粉丝
35
我们提前办一个crackme趣味大赛吧,不比谁的难破解,比谁的游戏有意思



人肉构造法
2008-3-18 11:31
0
雪    币: 82
活跃值: (10)
能力值: (RANK:210 )
在线值:
发帖
回帖
粉丝
36
前几天我这里新出了个电影叫midnight meat train
2008-3-18 11:32
0
雪    币: 2316
活跃值: (129)
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
37

好的crackme就象美女一样。
就叫crackme选美大赛,如何。
2008-3-18 11:43
0
雪    币: 82
活跃值: (10)
能力值: (RANK:210 )
在线值:
发帖
回帖
粉丝
38
我的又一个crackme夭折了
2008-3-18 12:32
0
雪    币: 7309
活跃值: (3788)
能力值: (RANK:1130 )
在线值:
发帖
回帖
粉丝
39
美女写的我才选,帅哥写的就叫美女来选吧
2008-3-18 15:37
0
雪    币: 615
活跃值: (1212)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
40
都是 叫兽 级别的攻击力
2008-3-18 19:30
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
41
感叹世间还有这么多的牛人啊    哎  
2008-3-22 20:23
0
雪    币: 6075
活跃值: (2236)
能力值: (RANK:1060 )
在线值:
发帖
回帖
粉丝
42
贴个代码
// crackme 666
// (x) forgot 2k8
#define DUMP_STATE 1
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#define N 0
#define U 1
#define D 2
#define L 4
#define R 8
typedef struct
{
  int x;
  int y;
} pos_t;
typedef struct
{
  char  map[8][8];
  pos_t player;
  pos_t computer;
  pos_t escape;
} level_t;
void fuck()
{
  int     i;
  char    c;
  level_t lv = {/* map      */{ { 0+D+0+0, 0+D+0+0, 0+D+0+0, 0+D+0+R, 0+0+L+R, 0+D+L+0 },
                                { U+D+L+0, U+0+0+0, U+0+0+0, U+0+0+0, 0+0+0+R, U+0+L+R },
                                { U+0+L+0, 0+D+0+R, 0+0+L+0, 0+0+0+R, 0+D+L+R, 0+0+L+R },
                                { 0+0+L+R, U+0+L+R, 0+D+L+R, 0+0+L+0, U+D+0+0, 0+0+0+R },
                                { 0+0+L+R, 0+0+L+0, U+D+0+0, 0+0+0+R, U+0+L+0, 0+0+0+R },
                                { 0+0+L+R, 0+0+L+R, U+0+L+0, 0+0+0+0, 0+0+0+0, 0+0+0+R },
                                { 0+D+L+0, 0+D+0+0, 0+D+0+0, 0+D+0+0, 0+D+0+0, 0+D+0+R } },
                /* player   */{ 0, 1 },
                /* computer */{ 4, 3 },
                /* escape   */{ 4, 0 } };
  //
  // looper
  //
  while ( c = getch() )
  {
    //
    // player action
    //
    switch ( c & 0xF )
    {
      case U:
        if ( (lv.map[lv.player.y][lv.player.x] & U) == 0 )
          --lv.player.y;
        break;
      case D:
        if ( (lv.map[lv.player.y][lv.player.x] & D) == 0 )
          ++lv.player.y;
        break;
      case L:
        if ( (lv.map[lv.player.y][lv.player.x] & L) == 0 )
          --lv.player.x;
        break;
      case R:
        if ( (lv.map[lv.player.y][lv.player.x] & R) == 0 )
          ++lv.player.x;
        break;
    }
    //
    // is player escaped
    //
    if ( lv.player.x == lv.escape.x 
      && lv.player.y == lv.escape.y )
    {
      puts("Congratulations! You are ESCAPED!");
      return;
    }
    //
    // computer action
    //
    for (i = 0; i < 2; ++i)
    {
      //
      // try to decrease x difference
      //
      if ( lv.computer.x < lv.player.x 
        && (lv.map[lv.computer.y][lv.computer.x] & R) == 0 )
        ++lv.computer.x;
      else
      if ( lv.computer.x > lv.player.x 
        && (lv.map[lv.computer.y][lv.computer.x] & L) == 0 )
        --lv.computer.x;
      else
      //
      // try to decrease y difference
      //
      if ( lv.computer.y < lv.player.y 
        && (lv.map[lv.computer.y][lv.computer.x] & D) == 0 )
        ++lv.computer.y;
      else
      if ( lv.computer.y > lv.player.y 
        && (lv.map[lv.computer.y][lv.computer.x] & U) == 0 )
        --lv.computer.y;
      else
      //
      // nothing computer can do
      //
        break;
    }
    //
    // dump state if debuggin
    //
#ifdef DUMP_STATE
    printf( "Player(%d, %d) vs Computer(%d, %d)\n",
            lv.player.x, lv.player.y,
            lv.computer.x, lv.computer.y);
#endif // DUMP_STATE
    //
    // is player fucked
    //
    if ( lv.player.x == lv.computer.x 
      && lv.player.y == lv.computer.y )
      break;
  } // while
  puts("You are FUCKED.");
}
void main()
{
  puts( "forgot's crackme 666\n"
        "input code:" );
  fuck();
  system("pause");
}
2008-3-24 17:17
0
雪    币: 398
活跃值: (343)
能力值: (RANK:650 )
在线值:
发帖
回帖
粉丝
43
forgot变成c王子了
2008-3-24 17:23
0
雪    币: 8209
活跃值: (4518)
能力值: ( LV15,RANK:2473 )
在线值:
发帖
回帖
粉丝
44
BS不写asm的forgot
2008-3-24 17:28
0
雪    币: 6075
活跃值: (2236)
能力值: (RANK:1060 )
在线值:
发帖
回帖
粉丝
45
那要从ccfer开始BS
2008-3-24 17:59
0
雪    币: 7309
活跃值: (3788)
能力值: (RANK:1130 )
在线值:
发帖
回帖
粉丝
46
666是什么意思啊?
2008-3-24 18:09
0
雪    币: 1946
活跃值: (248)
能力值: (RANK:330 )
在线值:
发帖
回帖
粉丝
47
跟编译的代码不一样啊,哪有优化得这么离谱的
2008-3-24 18:43
0
雪    币: 8209
活跃值: (4518)
能力值: ( LV15,RANK:2473 )
在线值:
发帖
回帖
粉丝
48
楼上的VC太先进了
2008-3-24 18:54
0
雪    币: 234
活跃值: (25)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
49
靠!什么玩意儿!
--------------
上传的附件:
2008-3-25 07:26
0
雪    币: 302
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
50
人肉搜索

很好很强大
2008-3-25 10:29
0
游客
登录 | 注册 方可回帖
返回
//