首页
社区
课程
招聘
[原创]来破我塞,我相信我的眼光。[结贴]
发表于: 2011-11-17 09:13 12693

[原创]来破我塞,我相信我的眼光。[结贴]

2011-11-17 09:13
12693
直接附件,慢慢玩,
规则:爆破者均无效,下个版本来爆破。我还不知道怎么写KeyGen
说明:绝对没有任何反调试,VMP,效验等等,纯算法型,文件太大是因为加入了音乐!
注意:想逆算法的放弃吧,逆出算法还是得不到KeyGen

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 0
支持
分享
最新回复 (32)
雪    币: 30
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
塞什么呢??
2011-11-17 09:17
0
雪    币: 14983
活跃值: (5285)
能力值: ( LV15,RANK:880 )
在线值:
发帖
回帖
粉丝
3
爆的算不算?这样对么?


上传的附件:
2011-11-17 09:27
0
雪    币: 278
活跃值: (709)
能力值: ( LV15,RANK:520 )
在线值:
发帖
回帖
粉丝
4
[QUOTE=obaby;1020638]爆的算不算?这样对么?


[/QUOTE]

这个版本没防爆破,下个版本来爆破吧
2011-11-17 09:55
0
雪    币: 151
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
[QUOTE=obaby;1020638]爆的算不算?这样对么?


[/QUOTE]

跳转到提示正确的MessageBox地址

俺也只会爆破  :(((     
2011-11-17 10:07
0
雪    币: 71
活跃值: (40)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
6
呵呵 没多大意思 现在哪个不是上VMP 各种anti OD anti int3 硬断 代码段效验等
2011-11-17 10:18
0
雪    币: 544
活跃值: (55)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
7
signed int __stdcall sub_401000(int a1)
{
  signed int v1; // edx@2
  int v2; // ecx@3
  char v3; // bl@3
  signed int v5; // [sp+4h] [bp-4h]@1

  v5 = 0;
  while ( 2 )
  {
    v1 = 0;
    do
    {
      v2 = a1 + 9 * v5;
      v3 = *(_BYTE *)(v1 + v2);
      if ( *(_BYTE *)(v2 + 1) == v3 && v1 != 1
        || *(_BYTE *)(v2 + 2) == v3 && v1 != 2
        || *(_BYTE *)(v2 + 3) == v3 && v1 != 3
        || *(_BYTE *)(v2 + 4) == v3 && v1 != 4
        || *(_BYTE *)(v2 + 5) == v3 && v1 != 5
        || *(_BYTE *)(v2 + 6) == v3 && v1 != 6
        || *(_BYTE *)(v2 + 7) == v3 && v1 != 7
        || *(_BYTE *)(v2 + 8) == v3 && v1 != 8 )
        return 0;
      ++v1;
    }
    while ( v1 < 9 );
    ++v5;
    if ( v5 < 9 )
      continue;
    break;
  }
  return 1;
}

signed int __stdcall sub_401092(int a1)
{
  signed int v1; // ecx@1
  signed int v2; // ebx@2
  char v4; // [sp+7h] [bp-5h]@3
  int v5; // [sp+8h] [bp-4h]@1

  v1 = 0;
  v5 = 0;
  while ( 2 )
  {
    v2 = 0;
    do
    {
      v4 = *(_BYTE *)(a1 + v5 + v2);
      if ( *(_BYTE *)(a1 + v2 + 9) == v4 && v1 != 1
        || *(_BYTE *)(a1 + v2 + 18) == v4 && v1 != 2
        || *(_BYTE *)(a1 + v2 + 27) == v4 && v1 != 3
        || *(_BYTE *)(a1 + v2 + 36) == v4 && v1 != 4
        || *(_BYTE *)(a1 + v2 + 45) == v4 && v1 != 5
        || *(_BYTE *)(a1 + v2 + 54) == v4 && v1 != 6
        || *(_BYTE *)(a1 + v2 + 63) == v4 && v1 != 7
        || *(_BYTE *)(a1 + v2 + 72) == v4 && v1 != 8 )
        return 0;
      ++v2;
    }
    while ( v2 < 9 );
    v5 += 9;
    ++v1;
    if ( v1 < 9 )
      continue;
    break;
  }
  return 1;
}

signed int __stdcall sub_401145(int a1)
{
  signed int v1; // ecx@1
  char v2; // bl@2
  int v4; // [sp+4h] [bp-4h]@1

  v1 = 0;
  v4 = 0;
  while ( 1 )
  {
    v2 = *(_BYTE *)(a1 + v4 + v1);
    if ( *(_BYTE *)(a1 + 10) == v2 )
    {
      if ( v1 != 1 )
        break;
    }
    if ( *(_BYTE *)(a1 + 20) == v2 && v1 != 2
      || *(_BYTE *)(a1 + 30) == v2 && v1 != 3
      || *(_BYTE *)(a1 + 40) == v2 && v1 != 4
      || *(_BYTE *)(a1 + 50) == v2 && v1 != 5
      || *(_BYTE *)(a1 + 60) == v2 && v1 != 6
      || *(_BYTE *)(a1 + 70) == v2 && v1 != 7

signed int __stdcall sub_4011CF(int a1)
{
  signed int v1; // ecx@1
  signed int v2; // ebx@1
  char v3; // al@2

  v1 = 8;
  v2 = 0;
  while ( 1 )
  {
    v3 = *(_BYTE *)(v2 + a1 + v1);
    if ( *(_BYTE *)(v2 + a1 + 9 + v1 - 1) == v3 )
      break;
    if ( *(_BYTE *)(v2 + a1 + 18 + v1 - 2) == v3
      || *(_BYTE *)(v2 + a1 + 27 + v1 - 3) == v3
      || *(_BYTE *)(v2 + a1 + 36 + v1 - 4) == v3
      || *(_BYTE *)(v2 + a1 + 45 + v1 - 5) == v3
      || *(_BYTE *)(v2 + a1 + 54 + v1 - 6) == v3
      || *(_BYTE *)(v2 + a1 + 63 + v1 - 7) == v3
      || *(_BYTE *)(v2 + a1 + 72 + v1 - 8) == v3 )
      break;
    --v1;
    v2 += 9;
    if ( v2 >= 81 )
      return 1;
  }
  return 0;
}

算法:
signed int __stdcall sub_401247(int a1)
{
  signed int v1; // edx@1
  int v2; // ecx@2
  signed int v3; // ebx@2

  v1 = 0;
  while ( 1 )
  {
    v2 = 0;
    v3 = 0;
    do
      v2 += *(_BYTE *)(v1 + a1 + v3++);
    while ( v3 < 9 );
    if ( v2 != 477 )
      break;
    v1 += 9;
    if ( v1 >= 81 )
      return 1;
  }
  return 0;
}
2011-11-17 10:33
0
雪    币: 278
活跃值: (709)
能力值: ( LV15,RANK:520 )
在线值:
发帖
回帖
粉丝
8
给出一组帐号吧
2011-11-17 10:35
0
雪    币: 1149
活跃值: (888)
能力值: ( LV13,RANK:260 )
在线值:
发帖
回帖
粉丝
9
锅锅不会做啊~~~~
2011-11-17 10:44
0
雪    币: 544
活跃值: (55)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
10
各9个数之为均为477
2011-11-17 11:16
0
雪    币: 29249
活跃值: (7769)
能力值: ( LV15,RANK:3306 )
在线值:
发帖
回帖
粉丝
11
悲剧,9阶数独斜线不等判断有问题(左上角到右下角判断正常,右上角到左下角判断有问题)

23871
5398412678627359144176925383482167592715896436953741821849673257231584969564
2011-11-17 13:19
0
雪    币: 544
活跃值: (55)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
12
楼上提醒我了,原来是幻方。晕。
【9阶幻方】
47 58 69 80 1 12 23 34 45
57 68 79 9 11 22 33 44 46
67 78 8 10 21 32 43 54 56
77 7 18 20 31 42 53 55 66
6 17 19 30 41 52 63 65 76
16 27 29 40 51 62 64 75 5
26 28 39 50 61 72 74 4 15
36 38 49 60 71 73 3 14 25
37 48 59 70 81 2 13 24 35
其中:每行、每列的得数(幻和)都是369。
;FQ\
#.9EP["-8:OZ!,7BDY +6ACN*5@KMX')4?JLW&(3>ITV02=HSU%1<GR]$/

用户名随意
注册码.txt

上传的附件:
2011-11-17 13:32
0
雪    币: 278
活跃值: (709)
能力值: ( LV15,RANK:520 )
在线值:
发帖
回帖
粉丝
13
斜线也不能有一样的,我设计这样的,不知道有没冲突,我觉得应该没有
2011-11-17 14:04
0
雪    币: 278
活跃值: (709)
能力值: ( LV15,RANK:520 )
在线值:
发帖
回帖
粉丝
14
ddsoft 你那代码能通过Crackme吗,能通过在发出来
2011-11-17 14:04
0
雪    币: 544
活跃值: (55)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
15
论坛的代码编辑有BUG,我已经放在附件的 注册码.txt 中了。
你自己下载看是不是注册成功了。呵呵
2011-11-17 14:07
0
雪    币: 278
活跃值: (709)
能力值: ( LV15,RANK:520 )
在线值:
发帖
回帖
粉丝
16
膜拜一下
2011-11-17 14:08
0
雪    币: 278
活跃值: (709)
能力值: ( LV15,RANK:520 )
在线值:
发帖
回帖
粉丝
17
等待下次挑战吧
2011-11-17 14:09
0
雪    币: 278
活跃值: (709)
能力值: ( LV15,RANK:520 )
在线值:
发帖
回帖
粉丝
18
这么快就结贴
2011-11-17 14:09
0
雪    币: 278
活跃值: (709)
能力值: ( LV15,RANK:520 )
在线值:
发帖
回帖
粉丝
19
我还是放源码吧
2011-11-17 14:11
0
雪    币: 544
活跃值: (55)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
20
IDA中按F5,你的源码基本出来了。。只是找不到如何推出注册码而已。
知道是用9阶幻方,就容易了。呵呵
2011-11-17 14:15
0
雪    币: 278
活跃值: (709)
能力值: ( LV15,RANK:520 )
在线值:
发帖
回帖
粉丝
21
那还是不献丑了
2011-11-17 14:16
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
我怎么用 ddsoft 的注册码不行呢?
2011-11-17 16:22
0
雪    币: 278
活跃值: (709)
能力值: ( LV15,RANK:520 )
在线值:
发帖
回帖
粉丝
23
谢谢了,我等下看看,这个应该是我准备写数独的,然后误打误撞写为幻方了。d哥的注册码通过了。九阶幻方
2011-11-17 16:54
0
雪    币: 120
活跃值: (160)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
请教IDA能动态分析了吗???
一直只用老版的IDA大概看看16位的汇编代码。。
F5是不是像OD的F9一样呀?
2011-11-17 17:09
0
雪    币: 544
活跃值: (55)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
25
其实你的这个crackme算不上九阶幻方的。
你的注册码:只用满足每九个之和为477.
加上 第9,18,27  。。。。 20,30,40等数字不同即可。
而九阶幻方每个数字都不同,直接导致你的几个循环检测全部通过。并且每行之和都是相等的。
你这个可以写keygen的。
2011-11-17 17:18
0
游客
登录 | 注册 方可回帖
返回
//